home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 December (DVD) / VPR0112A.ISO / OLS / FSTAT / fstat.lzh / lib / start.pl < prev    next >
Text File  |  2001-09-23  |  10KB  |  305 lines

  1. ;#+------------------------------------------------------------------------
  2. ;#|efStat
  3. ;#|・ケ・ソ。シ・ネ・「・テ・ラ・。シ・チ・
  4. ;#+------------------------------------------------------------------------
  5. ;# 「ィ、ウ、ウ、ォ、鬢マハャ、ォ、ソヘ、タ、アマョ、テ、ニイシ、オ、、。」
  6. ;# 。。(・ソ・ヨ、ホ・オ・、・コ。ヲ[4]。「ダハヨ、キ。ヲ[フオ、キ]、ヌ蠎ホ、ヒノスシィ、オ、、゙、ケ)
  7. ;#+------------------------------------------------------------------------
  8. ;#|&main
  9. ;#+------------------------------------------------------------------------
  10. ### [ス魘タ゚ト鷯
  11. $ENV{'TZ'} = 'JST-9';                                                    # エトカュハムソZ、ヒワサエヨ、ヒタ゚ト熙ケ、
  12. $Limit_Analyzer = 100000;                                                # イマ、ヌ、ュ、・愠ー、ホケヤソ
  13. $html_title = '・皈ヒ・蝪シ';                                                # ス魘・ソ・、・ネ・
  14. $cookie_id = $self = "http://$ENV{'HTTP_HOST'}$ENV{'SCRIPT_NAME'}";        # シォハャシォソネ、ホURL(・ッ・テ・ュ。シ、ホフセチー)
  15. $Dir_Log = "./${Dir_Log}/";                                                # ・愠ー・ヌ・」・・ッ・ネ・熙、タオ
  16.  
  17. # ケ猯ワ
  18. %koumoku = (
  19.     day        => ['ニハフスクキラ',        'ヒワニ',   'コ','ーコ','3ニチー','4ニチー','5ニチー','6ニチー','ースオチー'],
  20.     weekly    => ['スオハフスクキラ',        'コ」スオ',   'タ霓オ','2スオチー','3スオチー','4スオチー','ーキ錝ー'],
  21.     month    => ['キ鑅フスクキラ',        '1キ',    '2キ','3キ','4キ','5キ','6キ','7キ','8キ','9キ','10キ','11キ','12キ'],
  22.     hour    => ['サエヨツモハフスクキラ',    '0サ',    '1サ','2サ','3サ','4サ','5サ','6サ','7サ','8サ','9サ','10サ','11サ','12サ','13サ','14サ','15サ','16サ','17サ','18サ','19サ','20サ','21サ','22サ','23サ'],
  23.     week    => ['ヘヒニハフスクキラ',    'ニヘヒニ', 'キ隆ヒニ','イミヘヒニ','ソ袁ヒニ','フレヘヒニ','カ簣ヒニ','ナレヘヒニ'],
  24.     year    => ['ヌッナルハフスクキラ',    'コ」ヌッ',   'コッ','ーコッ','3ヌッチー','4ヌッチー','5ヌッチー'],
  25. );
  26.  
  27. ### ウニ・鬣、・ヨ・鬣熙ホ、「、熙ォ
  28. $lib_jcode      = './lib/jcode.pl';
  29. $lib_fstat_func = './lib/func.pl';
  30. $lib_fstat_main = './lib/main.pl';
  31. $lib_fstat_menu = './lib/menu.pl';
  32.  
  33.  
  34. ### ノス、ヒソァ、ャサリト熙オ、、ニ、、、セケ遑「ソァサリト・ソ・ー、ホチー、ヒ・ケ・レ。シ・ケ、ノイテ
  35. for ($i=0 ; $i <= $#tbc ; $i++ ) { $tbc[$i] = " $tbc[$i]" if ($tbc[$i] ne ''); }
  36.  
  37. ### カヲヘムエリソホニノ、゚ケ、゚
  38. unless (-e $lib_fstat_func) {
  39.     print "Content-type: text/html\n\n<HTML>\n";
  40.     print "<HEAD><META http-equiv=\"Content-Type\" content=\"text/html; charset=EUC-JP\"><TITLE>efStat $ver / ーロセスェホサ</TITLE></HEAD>\n";
  41.     print "<BODY><P>efStatヘムエリソユ・。・、・ ($lib_fstat_func) 、ャクォ、ト、ォ、熙゙、サ、ヌ、キ、ソ。」<BR>ス靉、ウケヤ、ヌ、ュ、゙、サ、」</P></BODY>\n";
  42.     print "</HTML>\n";
  43.     exit(1);
  44. }
  45. require $lib_fstat_func;
  46.  
  47.  
  48. ### jcode.pl、ノ、゚ケ、
  49. unless (-e $lib_jcode) {
  50.     &func::PutError("jcode.pl 、ノ、゚ケ、爨ウ、ネ、ャ、ヌ、ュ、゙、サ、ヌ、キ、ソ。」<BR>ーフテヨ、ホサリト熙ヒク惕熙ャ、ハ、、、ォウホヌァイシ、オ、、。」");
  51. }
  52. require $lib_jcode;
  53.  
  54. ### ヘス、癸「efStat、ャイ皃ヌ、ュ、キチ、ヒハムエケ、キ、ニ、ェ、ッ
  55. foreach (@MySite) {
  56.     $_ =~ s'http://'!';
  57. }
  58.  
  59. foreach (@Complete_URL) {
  60.     $$_[0] =~ s'^http://'!';
  61.     &jcode::convert(\$$_[1], 'euc', '', 'z');
  62. }
  63.  
  64.  
  65. ### mainニノ、゚ケ、゚ス猜
  66. unless (-e $lib_fstat_main) { &func::PutError("・愠ーイマ・。シ・チ・ ($lib_fstat_main) 、ャクォ、ト、ォ、熙゙、サ、ヌ、キ、ソ。」<BR>ス靉、ウケヤ、ヌ、ュ、゙、サ、」"); }
  67.  
  68. ### menuニノ、゚ケ、゚ス猜
  69. unless (-e $lib_fstat_menu) { &func::PutError("・皈ヒ・蝪シ・ユ・。・、・ ($lib_fstat_menu) 、ャクォ、ト、ォ、熙゙、サ、ヌ、キ、ソ。」<BR>ス靉、ウケヤ、ヌ、ュ、゙、サ、」"); }
  70.  
  71. ### ・ッ・テ・ュ。シ、アシ隍
  72. &Get_Cookie;
  73.  
  74. ### ・ェ・ラ・キ・逾ホセヨ、ムケケ、ケ、
  75. &radiobtn;
  76.  
  77. ### ノクス猗ホマ、茹ッ・ィ・熙ォ、魏惞霹タ
  78. &Get_Strings;
  79.  
  80.  
  81. ### [ス靉、ャエ
  82.  
  83. ### ・皈ヒ・蝪シイ靂フ
  84. if (($ENV{'CONTENT_LENGTH'} == 0) && ($ENV{'QUERY_STRING'} eq '')) {
  85.     &html_head;
  86.     require $lib_fstat_menu;
  87.     &html_tail;
  88.     exit(0);
  89. }
  90. ### ・愠ーハ」ソスシィ・筍シ・ノ
  91. elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
  92.     # &func::PutError("ウーノォ、鮠ツケヤノヤイト。」<BR>・皈ヒ・蝪シ、ー、ホ・オ・、・ネ、ヒテヨ、、、ニ、、、ソ、熙キ、゙、サ、ォ。ゥ") if ($self ne $ENV{'HTTP_REFERER'});
  93.  
  94.     ### ・ユ・。・、・ーヘ霹タ
  95.     opendir(DIR, "$Dir_Log");
  96.     unless (-e $Dir_Log) { closedir(DIR); &func::PutError("サリト熙オ、、ソ・愠ー・ヌ・」・・ッ・ネ・ ($Dir_Log) 、マツクコ゚、キ、゙、サ、」<BR>サリト熙ヒク惕熙ャ、ハ、、、ォウホヌァイシ、オ、、。」"); }
  97.     unless (-r $Dir_Log) { closedir(DIR); &func::PutError("・愠ー・ヌ・」・・ッ・ネ・熙ャニノ、゚スミ、キカリサ゚ツータュ、ヒ、ハ、テ、ニ、、、゙、ケ。」<BR>・ユ・。・、・ーヘ霹タ、ヌ、ュ、゙、サ、」<BR>・ム。シ・゚・テ・キ・逾ホヌァ、キ、ニイシ、オ、、(705ヒマ755、ヒ、キ、ニイシ、オ、、)。」"); }
  98.     @filename = grep(s/\.[lL][oO][gG]$//, readdir(DIR));
  99.     @filename = sort({$a cmp $b} @filename);
  100.  
  101.     ### ニホマニ簣ニ、篷ムソヒ・ウ・ヤ。シ
  102.     ©2list;
  103.  
  104.     ### ニホマ、オ、、ソハムソチ・ァ・テ・ッ
  105.     if (($DoTasteless > 1) || ($DoPutGraph > 1) ||
  106.         ($DoLink > 1) || ($DoSaveCookie > 1)
  107.     ) { &func::PutError('サナヘヘ、ヒフオ、、・ェ・ラ・キ・逾リト熙ヌ、ケ。」'); }
  108.     elsif (($Limit_Log > 999)    || ($Limit_Ref > 999)    || ($Limit_Tinami > 999) ||
  109.            ($Limit_Sp > 999)     || ($Limit_Search > 999) || ($Limit_Host > 999)   ||
  110.            ($Limit_Domain > 999) || ($Limit_Jp > 999)     || ($Limit_Agent > 999)
  111.     ) { &func::PutError('サナヘヘ、ヒフオ、、タゥクツサリト熙ヌ、ケ。」'); }
  112.  
  113.     ### ・ッ・テ・ュ。シ、ホハンツク、ャオト、オ、、ニ、、、、ハ、鬣ッ・テ・ュ。シ、ンツク、キ、ニ、ェ、ッ
  114.     if ($DoSaveCookie) {
  115.         ©2cookie;
  116.         &Set_Cookie;
  117.     }
  118.  
  119.     ### ・ソ・、・ネ・タ゚ト
  120.     $html_title = '・愠ーーウ酲スシィ';
  121.     if    ($P{MODE} eq 'rawlog') { $html_title .= ' / タク・愠ー'; }
  122.     elsif ($P{MODE} eq 'count')  { $html_title .= ' / ・ォ・ヲ・ネソクキラ'; }
  123.     elsif ($P{MODE} eq 'all')    { $html_title .= ' / チエ、ニ'; }
  124.     elsif ($P{MODE} eq 'ref')    { $html_title .= ' / サイセネクオナキラ(キマ)'; }
  125.     elsif ($P{MODE} eq 'host')   { $html_title .= ' / ・ロ・ケ・ネナキラ(キマ)'; }
  126.     elsif ($P{MODE} eq 'ua')     { $html_title .= ' / ・ヨ・鬣ヲ・カナキラ(キマ)'; }
  127.     elsif ($P{MODE} eq 'screen') { $html_title .= ' / イ靂フセキラ(キマ)'; }
  128.     else                         { &func::PutError('サナヘヘ、ヒフオ、、・筍シ・ノサリト熙ヌ、ケ。」'); }
  129.  
  130.     if    ($P{d} eq 't')         { $html_title .= " / ヒワニハャ、ホ、゚"; }
  131.     elsif ($P{d} eq 'y')         { $html_title .= " / コハャ、ホ、゚"; }
  132. }
  133. ### ・愠ーテアツホノスシィ・筍シ・ノ(Webstatク゚エケ)
  134. elsif ($ENV{'REQUEST_METHOD'} eq 'GET') {
  135.     $filename[0]    = (split(/&/,$alldata))[0];
  136.  
  137.     $html_title = '・愠ーテアツホノスシィ';
  138.     if    ($P{'m'} eq '0') { $P{MODE} = 'solo_rawlog';  $html_title .= " / $filename[0] (タク・愠ー、ホ、゚)"; }
  139.     elsif ($P{'m'} eq '1') { $P{MODE} = 'solo_analyze'; $html_title .= " / $filename[0] (イマキイフ、ホ、゚)"; }
  140.     else                   { $P{MODE} = 'solo_all';     $html_title .= " / $filename[0] (チエ、ニノス\シィ)"; }
  141.  
  142.     if    ($P{d} eq 't')   { $html_title .= ' / ヒワニハャ、ホ、゚'; }
  143.     elsif ($P{d} eq 'y')   { $html_title .= ' / コハャ、ホ、゚'; }
  144. }
  145.  
  146.  
  147. ### ノス、ホソァ、隍オ釥
  148. if ($DoTasteless) {
  149.     $html_body  = '<BODY bgcolor=#ffffff text=#000000 link=#7726c8 alink=#5c4fff vlink=#ff5959>';
  150.     foreach (@tbc) { $_ = ''; }
  151. }
  152.  
  153.  
  154. ### イマウォサマ
  155. &html_head;
  156. require $lib_fstat_main;
  157. &html_tail;
  158.  
  159.  
  160. exit(0);
  161.  
  162.  
  163. ;#+------------------------------------------------------------------------
  164. ;#|・゙・ッ・
  165. ;#+------------------------------------------------------------------------
  166. ### ノクス猗ホマ、茹ッ・ィ・熙ォ、魏惞霹タ
  167. sub Get_Strings {
  168.     if ($ENV{'CONTENT_LENGTH'} > 0) {
  169.         read(STDIN , $alldata , $ENV{'CONTENT_LENGTH'});
  170.     } elsif ($ENV{"QUERY_STRING"} ne '') {
  171.         $alldata = $ENV{'QUERY_STRING'};
  172.     }
  173.  
  174.     foreach $data (split(/&/,$alldata)) {
  175.         ($key , $val) = split(/=/,$data);
  176.         $val = &func::URLdecode($val);
  177.         $P{$key} = $val;
  178.     }
  179. }
  180.  
  181.  
  182. ### ・ッ・テ・ュ。シ、霹タ
  183. sub Get_Cookie {
  184.     foreach $pair (split(/; / , $ENV{'HTTP_COOKIE'})) {
  185.         ($key , $val) = split(/=/ , $pair);
  186.         $all_cookies{$key} = $val;
  187.     }
  188.     if ($all_cookies{$cookie_id} eq '') {    # ・ッ・テ・ュ。シ、ャ、ハ、、、ハ、鮨魘イス
  189.         &Init_Cookie;
  190.     } else {                                # ・ッ・テ・ュ。シ、ャ、「、、ハ、鯣ノ、゚ケ、゚
  191.         foreach $pair (split(/&/, $all_cookies{$cookie_id})) {
  192.             ($key , $val) = split(/:/ , $pair);
  193.             $key = &func::URLdecode($key);
  194.             $val = &func::URLdecode($val);
  195.             $COOKIE{$key} = $val;
  196.         }
  197.     }
  198. }
  199.  
  200.  
  201. ### ・ッ・テ・ュ。シ、゚ト
  202. sub Set_Cookie {
  203.     @pairs = ();
  204.  
  205.     foreach $key (sort(keys(%COOKIE))) {
  206.         $val = $COOKIE{$key};
  207.         push(@pairs , &func::URLencode($key).":".&func::URLencode($val));
  208.     }
  209.  
  210.     $new_cookie = join('&' , @pairs);
  211.     $date = &func::GmtDate(time + 31536000);        # 1ヌッエヨハンツク
  212.     if ($new_cookie ne $all_cookies{$cookie_id}) {
  213.         print "Set-Cookie: $cookie_id=$new_cookie; expires=$date\n";
  214.     }
  215. }
  216.  
  217.  
  218. ### ニホマニ簣ニ、篷ムソヒ・ウ・ヤ。シ
  219. sub copy2list {
  220.     $DoTasteless  = $P{'OPT_tl'};
  221.     $DoPutGraph   = $P{'OPT_gr'};
  222.     $DoLink       = $P{'OPT_lk'};
  223.     $DoSaveCookie = $P{'OPT_ck'};
  224.  
  225.     $Limit_Log    = $P{'LM_raw'};
  226.     $Limit_Ref    = $P{'LM_ref'};
  227.     $Limit_Tinami = $P{'LM_tnm'};
  228.     $Limit_Sp     = $P{'LM_sp'};
  229.     $Limit_Search = $P{'LM_key'};
  230.     $Limit_Host   = $P{'LM_hst'};
  231.     $Limit_Domain = $P{'LM_dm'};
  232.     $Limit_Agent  = $P{'LM_ua'};
  233. }
  234.  
  235.  
  236. ### ・譯シ・カ、ォ、鯣ホマ、オ、、ソー惞ッ・テ・ュ。シ、ヒナマ、ケ
  237. sub copy2cookie {
  238.     $COOKIE{'OPT_tl'} = $P{'OPT_tl'};
  239.     $COOKIE{'OPT_gr'} = $P{'OPT_gr'};
  240.     $COOKIE{'OPT_lk'} = $P{'OPT_lk'};
  241.     $COOKIE{'PASS'}   = $P{'PASS'};
  242.  
  243.     $COOKIE{'LM_raw'} = $P{'LM_raw'};
  244.     $COOKIE{'LM_ref'} = $P{'LM_ref'};
  245.     $COOKIE{'LM_tnm'} = $P{'LM_tnm'};
  246.     $COOKIE{'LM_sp'}  = $P{'LM_sp'};
  247.     $COOKIE{'LM_key'} = $P{'LM_key'};
  248.     $COOKIE{'LM_hst'} = $P{'LM_hst'};
  249.     $COOKIE{'LM_dm'}  = $P{'LM_dm'};
  250.     $COOKIE{'LM_ua'}  = $P{'LM_ua'};
  251. }
  252.  
  253.  
  254. ### ス鬢皃ニ・ッ・テ・ュ。シ、ホハンツク、ケ、、ネ、ュ。「、「、鬢ォ、ク、眇魘テヘ、サ・テ・ネ、ケ、
  255. sub Init_Cookie {
  256.     $COOKIE{'OPT_tl'} = 0;    # ・ニ・、・ケ・ネ・・ケ        。トNO
  257.     $COOKIE{'OPT_gr'} = 1;    # ・ー・鬣ユノスシィ        。トYES
  258.     $COOKIE{'OPT_lk'} = 1;    # ・・ッ、ス、、ォ    。トYES
  259.     $COOKIE{'PASS'}   = '';    # ・ム・ケ・。シ・ノハクサ昀    。トカ
  260.  
  261.     $COOKIE{'LM_raw'} = 50;    # タク・愠ーノスシィキソ    。ト50キ
  262.     $COOKIE{'LM_ref'} = 0;    # サイセネクオノスシィイシクツ    。ト0
  263.     $COOKIE{'LM_tnm'} = 0;    # TINAMIノスシィイシクツ    。ト0
  264.     $COOKIE{'LM_sp'}  = 0;    # SPノスシィイシクツ        。ト0
  265.     $COOKIE{'LM_key'} = 0;    # ・ュ。シ・。シ・ノノスシィイシクツ。ト0
  266.     $COOKIE{'LM_hst'} = 0;    # ・ロ・ケ・ネノスシィイシクツ    。ト0
  267.     $COOKIE{'LM_dm'}  = 0;    # ケメノスシィイシクツ        。ト0
  268.     $COOKIE{'LM_ua'}  = 0;    # ・ヨ・鬣ヲ・カノスシィイシクツ    。ト0
  269. }
  270.  
  271.  
  272. sub radiobtn {
  273.     if ($COOKIE{'OPT_tl'}) {
  274.         $check_tl0 = ' checked';
  275.         $check_tl1 = '';
  276.     } else {
  277.         $check_tl0 = '';
  278.         $check_tl1 = ' checked';
  279.     }
  280.  
  281.     if ($COOKIE{'OPT_gr'}) {
  282.         $check_gr0 = ' checked';
  283.         $check_gr1 = '';
  284.     } else {
  285.         $check_gr0 = '';
  286.         $check_gr1 = ' checked';
  287.     }
  288.  
  289.     if ($COOKIE{'OPT_lk'}) {
  290.         $check_lk0 = ' checked';
  291.         $check_lk1 = '';
  292.     } else {
  293.         $check_lk0 = '';
  294.         $check_lk1 = ' checked';
  295.     }
  296.  
  297.     if ($COOKIE{'OPT_ck'}) {
  298.         $check_ck0 = ' checked';
  299.         $check_ck1 = '';
  300.     } else {
  301.         $check_ck0 = '';
  302.         $check_ck1 = ' checked';
  303.     }
  304. }
  305.