#!/usr/bin/perl # HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH # H # H Á¢¼ÓÅë°è Ä«¿îŸ CGI - "Super Counter" ver-99.08.25 ÃÖÁ¾¼öÁ¤ÀÏ 2000.01.14 # H »ç¿ëȯ°æ : perl ÀÎÅÍÇÁ¸®ÅÍ°¡ ¼³Ä¡µÈ unix, linux, NT, windows ¼­¹ö # H Copyright (c) ¼ÛÀº¼ö # H http://cgitour.net # H http://technote.co.kr # H master@cgitour.net # H ÀÌ ¼Ò½º´Â ÇÁ¸®¿þ¾îÀÔ´Ï´Ù. # H "¿øº»ÇüÅÂ" ·Î ´©±¸¿¡°Ô³ª Àç ¹èÆ÷ÇÒ¼ö ÀÖ½À´Ï´Ù. # H # H # H »õ·Î¿î ±â´ÉÀ» Ãß°¡Çϰųª ±âÁ¸ ±â´ÉÀ» °³¼±ÇÏ¿© ¼öÁ¤º»À» Àç ¹èÆ÷Çϴ°ÍÀº Çã¿ëµË´Ï´Ù. # H ±×·¯³ª ÀÌ °æ¿ì¿¡µµ ÇÁ·Î±×·¥¸í°ú ¿øÀÛÀÚÀÇ Copyright(c)´Â Àý´ë º¯°æ ÇÒ ¼ö¾øÀ¸¸ç, # H ¼öÁ¤ ´ç»çÀÚÀÇ 2Â÷Àû Copyright¸¦ ºÙÀ̴°͸¸ Çã¿ë µË´Ï´Ù. # H ´Ü¼øÈ÷ »ö»óÀ̳ª ¸ð¾ç¸¸À» º¯°æÇÑ ¼öÁ¤¹èÆ÷´Â Çã¿ëµÇÁö ¾Ê½À´Ï´Ù. # H ¹Ýµå½Ã »õ·Î¿î ±â´ÉÀÇ Ãß°¡³ª ±âÁ¸±â´ÉÀÇ °³¼±»çÇ×ÀÌ ÀÖ¾î¾ß¸¸ # H ¼öÁ¤º»À» ¹èÆ÷ÇÒ ¼ö ÀÖ½À´Ï´Ù. # H # H ÀÌ»ó, À§ÀÇ ³»¿ëÀº ¾î¶°ÇÑ °æ¿ì¿¡µµ Àý´ë ¼öÁ¤, »èÁ¦ ÇÒ ¼ö ¾ø½À´Ï´Ù. # H # HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH ##### ¼öÁ¤Ç׸ñ ######## # ÇöÀçÀÇ ±âº» ¼³Á¤ »óÅ·εµ º°µµ ¼öÁ¤ÀÌ ¾øÀÌ Á¤»óÀÛµ¿ÇÑ´Ù. # ±×·¯³ª ±âº»¼³Á¤°ú ¼­¹ö ȯ°æÀÌ ´Ù¸£´Ù¸é ¹Ýµå½Ã ¼öÁ¤ÇØ ÁÖ¾î¾ß¸¸ ÇÑ´Ù. # ¹Ýµå½Ã ¾Æ·¡ÀÇ ¼öÁ¤ »çÇ×À» ¸ðµÎ È®ÀÎÇϱ⠹ٶõ´Ù. # ¿ì¼± À§ÀÇ Ã¹ ¶óÀÎ perlÀÇ °æ·Î¸¦ È®ÀÎÇÒ°Í. # [Çʼö] - Ȩ¹öÆ°ÀÇ ¸µÅ© url $homebuttn = '/ target=_top'; # [Çʼö] - °ü¸® Æнº¿öµåÁöÁ¤ # ÀÏ´Ü, ÇÁ·Î±×·¥ ¼³Ä¡ÈÄ °ü¸®password¸¦ ÀÔ·Â ÇßÀ»¶§ ³ª¿À´Â ¾Ïȣȭ ¹®ÀÚ¿­À» ¾Æ·¡ º¯¼ö¿¡ ³ÖÀ»°Í.(readme.txtÂüÁ¶) # º¯¼ö´ëÀÔÀÌ ºñ¾î ÀÖÀ»¶§´Â ±âº»À¸·Î 'cgitour' °¡ ºñ¹Ð¹øÈ£·Î Àû¿ëµÈ´Ù. # ¼³Ä¡ÈÄ ¾ÏȣȭÇÔ¼ö ¿¡·¯ Ãâ·Â½Ã(crypt error!...)´Â ÀÌ ¼Ò½ºÀÇ ÃÖ ÇÏ´Ü ¶óÀÎ(¡é)À» ÂüÁ¶ ÇÒ°Í) $Adminpass = 'hzPTH8w4rBy86'; # [¿É¼Ç] - ÆäÀÌÁö ¹ÙÅÁ»ö or ¹ÙÅÁÆÐÅÏ $bgcolor = 'bgcolor=#ffffff'; # [¿É¼Ç-¹èġȯ°æ] - ¾ÆÀÌÄÜ À̹ÌÁöÀÇ µð·ºÅ丮 "URL" # (¿¹, 'http://cgitour.net/test/count/supercounter/img') # ÇöÀç´Â ±âº» ¹èÄ¡»óÅÂ(»ó´ëÆнº)·Î µÇ¾î ÀÖ´Ù. # cgi-bin µð·ºÅ丮°¡ cgi½ÇÇà Àü¿ëµð·ºÅ丮·Î ÁöÁ¤µÈ °æ¿ì À̹ÌÁö ÆÄÀÏÀ» # cgi-bin ÇÏÀ§¿¡ µÎ¸é À̹ÌÁö°¡ Á¤»ó Ãâ·ÂµÇÁö ¾Ê´Â´Ù. # À̶§´Â 'icon' µð·ºÅ丮¸¦ 'cgi-bin' ÀÌ¿ÜÀÇ °÷¿¡ À§Ä¡½ÃŲÈÄ 'icon' µð·ºÅ丮ÀÇ # URL À» ´ëÀÔÇØ ÁÖ¸é µÈ´Ù. $img_dir_url = './icon'; # [¿É¼Ç-¹èġȯ°æ] - "supercounter" µð·ºÅ丮ÀÇ "URL" # (¿¹, "http://cgitour.net/test/count/supercounter") # ÇöÀç´Â ±âº» ¹èÄ¡»óÅÂ(»ó´ëÆнº)·Î µÇ¾î ÀÖ´Ù. $thisdirurl = '.'; # [¿É¼Ç-¹èġȯ°æ] - supercounter µð·ºÅ丮ÀÇ "Àý´ë°æ·Î" # (¿¹, " /user/home/cgitour/public_html/cgi-bin/supercounter ") # ÇöÀç´Â ±âº» ¹èÄ¡»óÅÂ(»ó´ëÆнº)·Î µÇ¾î ÀÖ´Ù. $thisdirpath = '.'; # [¿É¼Ç-¼­¹öȯ°æ] - "supercount.cgi" ÆÄÀϸí # 'cgi' È®ÀåÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù¸é ½ÇÁ¦ ÆÄÀÏÀÇ À̸§À» ¹Ù²Ù°í # ¾Æ·¡ º¯¼öµµ º¯°æµÈ ÆÄÀϸíÀ» ´ëÀÔ ÇÒ°Í(¿¹, " supercount.pl ") $maincginame = 'supercount.cgi'; # [¿É¼Ç-¼­¹öȯ°æ] - "count.cgi" ÆÄÀϸí # 'cgi' È®ÀåÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù¸é ½ÇÁ¦ ÆÄÀÏÀÇ À̸§À» ¹Ù²Ù°í # ¾Æ·¡ º¯¼öµµ º¯°æµÈ ÆÄÀϸíÀ» ´ëÀÔ ÇÒ°Í(¿¹, " count.pl ") $countcginame = 'count.cgi'; # [¿É¼Ç] - ±×·¡ÇÁÀÇ ÃÖ´ë ±æÀÌ(Çȼ¿) $Graplong = 200; # [¿É¼Ç] - µ¥ÀÌŸ ÀúÀå ÆÄÀϸí(º¯°æ°¡´É) # count.cgi ÆÄÀÏÀÇ ¼öÁ¤Ç׸ñ°ú µ¿ÀÏÇØ¾ß ÇÑ´Ù. $Data1 = 'count1.txt'; $Data2 = 'count2.txt'; $Data3 = 'backup.txt'; $Data4 = 'ip.txt'; # [¿É¼Ç] - Main Å×À̺íÀÇ Å¸ÀÌƲ(¸ñ·Ï) Ãâ·Â¼ö ÁöÁ¤ $howmanyprint = 30; ####################### ÀÌÇÏ ¼öÁ¤Ç׸ñ ¾øÀ½ &get_parse; &appointpage; # Main index sub TotalPrint{ &Mainindexhead; &htmlhead("MAIN INDEX"); opendir(DIR, "$thisdirpath/data"); @readdirs = grep((!/\./), readdir(DIR)); close(DIR); $indexsize = @readdirs; @readdirs = reverse(@readdirs); print <   ȨÆäÀÌÁö
$comment
END if($indexsize > 0){ &indexprint; } else{ print "\n"; } print <

No

Title ($indexsize)

Date

Print

Set

View

Today

Total

µî·ÏµÈ Ä«¿îŸ°¡ ¾ø½À´Ï´Ù.

 

++

$TodayAdd

++ $TotalAdd

  ¡èCheck : »èÁ¦ º¹±¸ ¹é¾÷ Reset
    Title »ý¼º:
  PASSWORD:

END &Pagenumber; print "


"; if($passworderror){ print "Æнº¿öµå°¡ ¸ÂÁö ¾Ê½À´Ï´Ù.
Æнº¿öµå¸¦ º¯°æÇÏ·Á¸é $maincginame ÆÄÀÏÀÇ ¼öÁ¤Ç׸ñÁß
\$Adminpass = ''; ¸¦ ¼öÁ¤ ÇϽʽÿÀ.
Áö±Ý ÀÔ·ÂÇÑ ´Ü¾î $FORM{'pass'} ¸¦ °ü¸® ºñ¹Ð¹øÈ£·Î º¯°æÇÏ·Á¸é $typepass ¸¦ ´ëÀÔÇØ ÁÖ¸é µË´Ï´Ù.
¿¹, \$Adminpass = '$typepass';


\n"; } &htmlend; exit; } #¿ù-ÀÏ sub visit_month_form{ &checkMSIE; if($FORM{'permission'} && $FORM{'pass'}){ $Adminpass = &ch_pass("1000") if(!$Adminpass); if($Adminpass ne &ch_pass("$FORM{'pass'}")){ $errormassage = "°ü¸® ºñ¹Ð¹øÈ£°¡ ¸ÂÁö ¾Ê½À´Ï´Ù.
"; } else{ $months_line[22] = (!$FORM{'percount'}) ? '1' : ''; $months_line[23] = (!$FORM{'percook'}) ? '1' : ''; $months_line[24] = (!$FORM{'perip'}) ? '1' : ''; $months_line[25] = $FORM{'perimg'}; @months_line2 = @months_line; for(0..25){ $months_line2[$_] .= "\n"; } open(WRITEFILE, ">$countfile"); print WRITEFILE @months_line2 ; close(WRITEFILE); $errormassage = "Ä«¿îÆ® ¿É¼Ç ¼³Á¤ º¯°æ¿Ï·á!
"; } } $month +=0; $mday +=0; if(!$FORM{'mon'}){$FORM{'mon'}=$month;} @count_line=split(/\|/ , $months_line[$FORM{'mon'}+2]); $total=$count_line[0]; $ck_x='0'; for(1..31){ @hour_line=split(/\:/, $count_line[$_]); $read_line[$ck_x]=($hour_line[0]); $ck_x += 1; } @high_line=@read_line; @high_line=reverse(sort jangryal(@high_line)); $high_line[0]=1 if($high_line[0]<1); $best_high=300/$high_line[0]; $how_year=$year; if($FORM{'mon'}>$month){$how_year-=1;} &htmlhead("$how_year³â $FORM{'mon'}¿ù ¹æ¹®Åë°è"); print <   $errormassage [$PageName] Á¢¼ÓÅë°è   Total:$months_line[0] Today:$months_line[1]   $INdex $LKPage $HOMEpage       [¿ù-ÀÏ]Åë°è  [ÀÏ-½Ã]Åë°è  ½Ã°£´ëº° ´©»ê  ¿äÀϺ° ´©»ê/OS/BW      

$how_year ³â
END print "\n"; for(1..12){ if($FORM{'mon'} != $_){ print "\n"; }else{ print "\n"; } } print "\n"; for(3..14){ @split_mon_hit=split(/\|/,$months_line[$_]); print "\n"; } print "
\n"; print " "; print "$_¿ù$_¿ù
"; print "$split_mon_hit[0]"; print "
\n"; print <

day   [$how_year ³â $FORM{'mon'}¿ù]   ¾Æ·¡ ³¯ÀÚ¸¦ Ŭ¸¯Çϸé Çش糯ÀÚÀÇ [ÀÏ-½Ã]Åë°è°¡ Ãâ·ÂµË´Ï´Ù. END for(1..31){ $width_x = $best_high*$read_line[$_-1]; $width_x= 1 if($width_x < 1); print ""; print "\n"; print " $_\n"; print " \n"; print "$read_line[$_-1]\n"; } $checked1 = 'checked' if($months_line[22] != 1); $checked2 = 'checked' if($months_line[23] != 1); $checked3 = 'checked' if($months_line[24] != 1); $checked4 = $months_line[25] ? $months_line[25] : 'blank'; print "

"; print " 
"; print "[$PageName] Ä«¿îÆ® ¼³Á¤
"; print ""; print "Ä«¿îÆ® \n"; print "ÄíŰüũ \n"; print "IP addressüũ
\n"; print "À̹ÌÁöÃâ·Â:   \n"; print "password:"; print "\n"; print "

\n"; &htmlend; exit; } #ÀÏ-½Ã sub visit_day_form{ $month +=0; $mday +=0; if(!$FORM{'mon'}){$FORM{'mon'}=$month;} if(!$FORM{'day'}){$FORM{'day'}=$mday;} @day_line=split(/\|/ , $months_line[$FORM{'mon'}+2]); @hour_line=split(/\:/ , $day_line[$FORM{'day'}]); $total=$hour_line[0]; @high_line=@hour_line; @high_line=reverse(sort jangryal(@high_line)); $high_line[1]=1 if($high_line[1]<1); $best_high= 300/$high_line[1]; $how_year="$year"; if($FORM{'mon'}>$month){$how_year-=1;} &htmlhead("$how_year³â $FORM{'mon'}¿ù $FORM{'day'}ÀÏ ½Ã°£º° ¹æ¹®Åë°è"); print <   [$PageName] Á¢¼ÓÅë°è   Total:$months_line[0] Today:$months_line[1]   $INdex $LKPage $HOMEpage       [¿ù-ÀÏ]Åë°è  [ÀÏ-½Ã]Åë°è  ½Ã°£´ëº° ´©»ê  ¿äÀϺ° ´©»ê/OS/BW      

$how_year³â$FORM{'mon'}¿ù
END print "\n"; for(1..15){ if($FORM{'day'} != $_){ print "\n"; } print "\n"; for(1..15){ @split_count_hour=split(/\:/,$day_line[$_]); print ""; } print "\n"; for(16..31){ if($FORM{'day'} != $_){ print "\n"; } print "\n"; for(16..31){ @split_count_hour=split(/\:/,$day_line[$_]); print "\n"; } print "

³¯ÀÚ

"; print "$_\n"; }else{ print ""; print "$_ÀÏ"; } print "

Á¢¼Ó

$split_count_hour[0]
"; print "$_\n"; }else{ print ""; print "$_ÀÏ"; } print "
$split_count_hour[0]
\n"; print <

hour       [$how_year³â $FORM{'mon'}¿ù $FORM{'day'}ÀÏ] ½Ã°£´ëº° Á¢¼ÓȽ¼ö END for(1..24){ $width_x=$best_high*$hour_line[$_]; $width_x= 1 if($width_x < 1); $w_t=$_-1; $what_time=$_ < 11 ? "0$w_t" : $w_t ; print "$what_time\n"; print " \n"; print "$hour_line[$_]\n"; } print "

\n"; &htmlend; exit; } #-½Ã ´©»ê ÇÕ°è sub hour_total{ $month +=0; $mday +=0; for(3..14){ @month=split(/\|/, $months_line[$_]); for(1..31){ @dates=split(/\:/,$month[$_]); for(0..23){ $com = $_ +1; $HOUR{"hour_$_"} += $dates[$com]; } } } $best_com=0; for(0..23){ $best_com=$HOUR{"hour_$_"} if($HOUR{"hour_$_"} > $best_com); } $best_com=1 if($best_com < 1); $long_size=300/$best_com; &htmlhead("½Ã°£´ëº° ´©»êÅë°è"); print <   [$PageName] Á¢¼ÓÅë°è   Total:$months_line[0] Today:$months_line[1]   $INdex $LKPage $HOMEpage       [¿ù-ÀÏ]Åë°è  [ÀÏ-½Ã]Åë°è  ½Ã°£´ëº° ´©»ê  ¿äÀϺ° ´©»ê/OS/BW

  END for(0..23){ $hour_num=$_ < 10?"0$_":$_; $cont_num=$HOUR{"hour_$_"}; $width_num=$long_size * $cont_num; $width_num=1 if($width_num < 1); $cont_num="" if($cont_num < 1); &GrapPrint("$hour_num","grap1.gif","$width_num","$cont_num"); } print "

hour      Á¢¼Ó¼ö(½Ã°£´ëº° ´©»ê ÇÕ°è)

"; &htmlend; exit; } # ¿äÀÏ ºÎ¶ó¿ìÀú OS sub week_total{ $month +=0; $mday +=0; @week_line=split(/\|/,$months_line[15]); foreach $key(@week_line){$best_long=$key if($key > $best_long);} $best_long=1 if($best_long < 1); $gr_size=300/$best_long; @week_text=("ÀÏ","¿ù","È­","¼ö","¸ñ","±Ý","Åä"); $OSBW = $months_line[0]; $OSBW = 1 if($OSBW < 1); if($months_line[16]){ @OSTM=split(/\|/,$months_line[16]); @OSpercent = ('0',''); $add = 0; foreach $key(@OSTM){ $OSpercent[$add] = int((($key/$OSBW)*100)+0.5); $os_long=$key if($key > $os_long); $add += 1; } $os_long=1 if($os_long < 1); $os_size=300/$os_long; $OS95 = ($os_size*$OSTM[0])+1; $OS98 = ($os_size*$OSTM[1])+1; $OSnt = ($os_size*$OSTM[2])+1; $OSmac = ($os_size*$OSTM[3])+1; $OSunix = ($os_size*$OSTM[4])+1; $OSsun = ($os_size*$OSTM[5])+1; $OSelse = ($os_size*$OSTM[6])+1; } if($months_line[17]){ @BRW=split(/\|/,$months_line[17]); @BWpercent = ('0',''); $add = 0; foreach $key(@BRW){ $BWpercent[$add] = int((($key/$OSBW)*100)+0.5); $brw_long=$key if($key > $brw_long); $add += 1; } $brw_long=1 if($brw_long < 1); $brw_size=300/$brw_long; $BRms4 = ($brw_size*$BRW[0])+1; $BRms5 = ($brw_size*$BRW[1])+1; $BRnets = ($brw_size*$BRW[2])+1; $BRelse = ($brw_size*$BRW[3])+1; } &htmlhead("¿äÀϺ°/OS/BW ´©»êÅë°è"); print <   [$PageName] Á¢¼ÓÅë°è   Total:$months_line[0] Today:$months_line[1]   $INdex $LKPage $HOMEpage       [¿ù-ÀÏ]Åë°è  [ÀÏ-½Ã]Åë°è  ½Ã°£´ëº° ´©»ê  ¿äÀϺ° ´©»ê/OS/BW

  END for(0..6){ $width = ($gr_size * $week_line[$_]) + 1 ; &GrapPrint("$week_text[$_]","grap1.gif","$width","$week_line[$_]"); } print ""; print "\n"; &GrapPrint("WINDOWS 95","grap1.gif","$OS95","$OSTM[0]($OSpercent[0]\%)"); &GrapPrint("WINDOWS 98","grap1.gif","$OS98","$OSTM[1]($OSpercent[1]\%)"); &GrapPrint("WINDOWS NT","grap1.gif","$OSnt","$OSTM[2]($OSpercent[2]\%)"); &GrapPrint("MACintosh","grap1.gif","$OSmac","$OSTM[3]($OSpercent[3]\%)"); &GrapPrint("UNIX/Linux","grap1.gif","$OSunix","$OSTM[4]($OSpercent[4]\%)"); &GrapPrint("Sun OS","grap1.gif","$OSsun","$OSTM[5]($OSpercent[5]\%)"); &GrapPrint("±âŸ OS","grap1.gif","$OSelse","$OSTM[6]($OSpercent[6]\%)"); print ""; print "\n"; &GrapPrint("ÀͽºÇ÷¯4.x","grap1.gif","$BRms4","$BRW[0]($BWpercent[0]\%)"); &GrapPrint("ÀͽºÇ÷¯5.x","grap1.gif","$BRms5","$BRW[1]($BWpercent[1]\%)"); &GrapPrint("³×½ºÄÉÀÌÇÁ","grap1.gif","$BRnets","$BRW[2]($BWpercent[2]\%)"); &GrapPrint("±â Ÿ","grap1.gif","$BRelse","$BRW[3]($BWpercent[3]\%)"); print "

  ¿äÀÏ     Á¢¼Ó¼ö(¿äÀϺ° ´©»ê ÇÕ°è)
 

  ¿î¿µÃ¼Á¦     Á¢¼Ó¼ö
 

  ºÎ¶ó¿ìÀúÁ¤º¸     Á¢¼Ó¼ö

"; &htmlend; exit; } sub htmlhead{ local($title) = @_; print "Content-type: text/html\n\n"; print < [¼öÆÛÄ«¿îŸ] - $title $Refresh $SendData END exit if($SendData); } # ¾Æ·¡ÀÇ Copyright´Â »èÁ¦,º¯°æ ÇÒ ¼ö ¾ø½¿. sub htmlend{ print "

Modify by JGHEO (jog team) jog.co.kr


"; print "
Supercounter Ver 99.08.xx Copyright songeunsoo cgitour.net
"; print "

 \n"; } sub GrapPrint{ local($title,$gif,$width,$num) = @_; print "

$title\n"; print " "; print " $num\n"; } sub get_parse{ $_ = $ENV{'REQUEST_METHOD'}; if (/POST/) { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); $ENV{'QUERY_STRING'} = $buffer; }else{$buffer = $ENV{'QUERY_STRING'};} @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } } sub count_file_open{ open(VISIT, "$countfile"); @months_line=; close(VISIT); chop(@months_line); $pageurl = $months_line[20]; } sub jangryal{ local($num_a, $num_b); $num_a=$a=~/^[0-9]+/; $num_b=$b=~/^[0-9]+/; $retval=$a<=>$b; $retval; } sub get_time{ ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); $month=($mon+1); if($year > 100){$year=($year-100)+2000;} elsif($year < 10){$year=2000+$year;} else{$year="2000";} } sub indexprint{ @countindex = ('0',''); $number = $FORM{'number'} ? $FORM{'number'} : '0'; $howmanyprint = $FORM{'howmanyprint'} if($FORM{'howmanyprint'}); $howmanyprint = $indexsize if($howmanyprint > $indexsize); $add = '0'; for($number..(($number + $howmanyprint) -1)){ $key = $readdirs[$_]; open(DIR,"$thisdirpath/data/$key/$Data1"); @get_count =

; close(DIR); chop(@get_count); $Permiss = $get_count[22] ? 'x' : 'C'; $Permiss .= $get_count[23] ? '-x' : '-K'; $Permiss .= $get_count[24] ? '-x' : '-I'; $PTimg = ($get_count[25] && $get_count[25] ne 'blank') ? "$get_count[25]" : 'blank'; $countindex[$add ] = "$key==$get_count[0]==$get_count[1]==$get_count[20]==$get_count[21]==$Permiss==$PTimg"; $Best = $get_count[0] if($get_count[0] > $Best); $add += 1; $key = ''; } $Best = 1 if($Best < 1); $Best = ($Graplong/$Best); $add = $number + 1; foreach $key (@countindex){ @printline = split(/==/,$key); $checkname = 'CHECKED'.$add; $grapwidth = $Best * $printline[1]; $grapwidth = 1 if($grapwidth < 1); $printline[2] = '0' if($printline[2] < 1); $printline[4] = '_' if($printline[4] < 1); if($printline[0]){ print " "; print "$add\n"; print "  "; print "" if($printline[3]); print "$printline[0]"; print "" if($printline[3]); print ""; print "

$printline[4]\n"; print "

$printline[6]"; print "

$printline[5]"; print "

"; print ""; print "

$printline[2]"; print "\n"; print "$printline[1] "; $add += 1; $TodayAdd += $printline[2]; $TotalAdd += $printline[1]; undef(@printline); } } } sub adminaction{ if($FORM{'choice'} == 1){ foreach $key (@checkline){ unlink("$thisdirpath/data/$key/$Data1"); unlink("$thisdirpath/data/$key/$Data2"); unlink("$thisdirpath/data/$key/$Data3"); unlink("$thisdirpath/data/$key/$Data4"); unlink("$thisdirpath/data/$key/lock.txt"); rmdir("$thisdirpath/data/$key"); $comment .= "($key »èÁ¦¿Ï·á!) "; } }elsif($FORM{'choice'} == 2){ foreach $key (@checkline){ &FileCopy("data/$key/$Data3","data/$key/$Data1"); $comment .= "($key º¹±¸¿Ï·á!) "; } }elsif($FORM{'choice'} == 3){ foreach $key (@checkline){ &FileCopy("data/$key/$Data1","data/$key/$Data3"); $comment .= "($key ¹é¾÷¿Ï·á!) "; } }elsif($FORM{'choice'} == 4){ foreach $key (@checkline){ &FileCopy("","data/$key/$Data1"); &FileCopy("","data/$key/$Data2"); &FileCopy("","data/$key/$Data3"); &FileCopy("","data/$key/$Data4"); $comment .= "($key Reset!) "; } }else{ ""; } } sub FileCopy{ local($file1,$file2) = @_; open(FILE,"$thisdirpath/$file1"); open(FILE2,">$thisdirpath/$file2"); print FILE2 ; close(FILE); close(FILE2); } sub appointpage{ $PageName = "$FORM{'pagename'}"; $countfile = "$thisdirpath/data/$PageName/$Data1"; $mainindex = "$thisdirurl/$maincginame"; $maincgi = "$thisdirurl/$maincginame?pagename=$PageName"; if($PageName){ &get_time; &count_file_open; $INdex = "Àüüº¸±â"; $LKPage = "Ä«¿îƮŸ°ÙÆäÀÌÁö" if($pageurl); $HOMEpage = "ȨÆäÀÌÁö"; if($FORM{'day'}){&visit_day_form;} elsif($FORM{'hour_total'}){&hour_total;} elsif($FORM{'week_total'}){&week_total;} else{&visit_month_form;} } else{ &TotalPrint; } } sub Pagenumber{ $howmanypage = (int($indexsize/$howmanyprint)-1); $howmanypage +=1 if($indexsize % $howmanyprint); for(0..$howmanypage){ $pageover = $_ * $howmanyprint; print "" if($number != $pageover); print '['.($_ + 1).'] '; print "" if($number != $pageover); } } sub Mainindexhead{ if($FORM{'pass'}){ $typepass = &ch_pass($FORM{'pass'}); $Adminpass = &ch_pass('cgitour') if(!$Adminpass); if($Adminpass ne $typepass){ $comment = "PASSWORD ERROR! ¡æ $typepass"; $passworderror = 1; } elsif(!$FORM{'choice'} && !$FORM{'newtitle'}){ $comment = "°ü¸®¸í·ÉÀ» ¼±Åà ÇϽʽÿÀ."; } else{ @checkline = ('0',); $is = '0'; while (($akey,$bkey) = each(%FORM)){ if($akey && $bkey && ($akey =~ /CHECKED/)){ @checkline[$is] = $bkey ; $is += 1; } } if($is < 1 && $FORM{'choice'}){ $comment = "¼±ÅÃÇÑ °ü¸®¸í·ÉÀ» ½ÇÇàÇÒ ´ë»ó¿¡ üũÇϽʽÿÀ."; } elsif($is >= 1 && $FORM{'choice'}){ &adminaction; } else{"";} if($FORM{'newtitle'} && !$passworderror){ $SendData = ""; $Refresh =""; } } } &checkMSIE; } sub checkMSIE{ if($ENV{'HTTP_USER_AGENT'} =~ /MSIE/i){ $Msie = " STYLE=\"font-family:±¼¸²; font-size:10pt; color:#003333; background-color:#ffffff; border-width:1; border-color:#bbbbbb; border-style:solid;\""; $Msie2 = " STYLE=\"font-family:±¼¸²; font-size:9pt; color:#003333; background-color:#eeeeee; border-width:1; border-color:#dddddd;\""; } } sub ch_pass{ local($inpass_x,)=@_; $inpass_x =~ s/\s//g; return crypt($inpass_x,'hz'); # ¡ç ÇÁ·Î±×·¥À» ½ÇÇàÇϸé "..crypt() error.." ¸Þ½ÃÁö°¡ Ãâ·ÂµÈ´Ù¸é ÀÌ ¶óÀÎÀ» ¾ø¾Ö°í, # return ($inpass_x); # ¡ç ÀÌ ¶óÀÎÀº ¾Õ¿¡ ÀÖ´Â '#' ¸¦ Á¦°Å ÇÒ°Í. } ## ÀϺΠPERL¹öÀü¿¡¼­´Â crypÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ¾øÀ¸¸ç " error...crypt() " ## ¿Í °°Àº ¿¡·¯ ¸Þ½ÃÁö°¡ Ãâ·ÂµÉ°ÍÀÌ´Ù. ## À̶§´Â À§ÀÇ " return crypt($inpass_x,'hz'); " ¶óÀÎÀ» »èÁ¦ÇÏ°í ## ±× ¾Æ·¡¶óÀÎ, " return ($inpass_x); " ´Â ¾Õ¿¡ ÀÖ´Â '#' ¸¸ Á¦°ÅÇØ ÁÖ¸é µÈ´Ù. 1;