<?//LogZ 表示部 200/11/11
extract($_POST);
if(
$urlheader"Location:  $url");
$gif="bar.gif";
$logdir "./log/";
$jisa=0;
$page_def=50;
$ppp=1;
if(empty(
$log)) $log=date("Y_m",mktime()+60*60*$jisa);
?>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=x-sjis">
<title><? echo "$log-$mode"?></title>
<style type="text/css">
<!--
BODY       { font-family: Helvetica, Arial;}
-->
</style>
</head>
<body bgcolor="#f0ffff" text="#666666" link="#006688" vlink="#006688" alink="#006688">
<?
$yyyy 
substr($log04);
$dd substr($log46);

echo 
"<center><h2>$yyyy 年 $dd 月</h2></center>\n";
echo 
"<form method=\"POST\" action=\"$PHP_SELF\">\n";
?>
<select name="log">
<? 
    
if($log) echo "<option value=\"$log\" selected>$log</option>\n";
    else echo 
"<option value=>現在のログ</option>";
    
$d dir($logdir);
    while(
$entry=$d->read()) {
        if(
ereg("^[0-9_]+$",$entry) && $entry != $log){
          echo 
"<option value=\"$entry\">$entry</option>\n";
        }
    }
    
$d->close();
    echo 
"</select>\n";
    
    
$cate = array (
            
"" => "最新".$page_def."件ずつ",
                 
"referer"=> "リンク元",
                 
"agent"  => "ブラウザ別",
                 
"host"   => "ホスト別",
            
"date"   => "日別",
            
"youbi"    => "曜日別",
            
"hour"   => "時間別"
    
);
    
?><select name="mode"><?
    
while (list($m_key$m_val) = each($cate)):
        if(
$mode == $m_key
            echo 
"<option value=\"$m_key\" selected>$m_val</option>\n";
        else
            echo 
"<option value=\"$m_key\">$m_val</option>\n";
    endwhile;
?>
</select>
<input type="submit" value="表示">
</form>
<hr size=1>
<?
//--date sample 2000/10/31 [Thu] 18:02:44--//
function key_sort(){
  global 
$count,$i,$gif;

    
krsort($count);
    
reset($count);

    while(list(
$w_key$w_val) = each($count)):
        
$percent sprintf("%2.1f",(($w_val/$i) * 100));
        
$graph = (int)$percent 5;
        echo 
"<tr>\n<td align=center><font size=-1>$w_key</font></td>\n";
           echo 
"<td align=center><font size=-1>$w_val</font></td>\n";
           echo 
"<td><font size=-1>$percent%</font></td>\n";
           echo 
"<td><img src=".$gif." width=$graph height=10></td>\n";
        echo 
"</tr>\n";
    endwhile;
}
function 
ar_sort(){
  global 
$count,$i,$gif,$mode;
 
    
arsort($count);
    
reset($count);
    while(list(
$w_key$w_val) = each($count)):
        
$percent sprintf("%2.1f",(($w_val/$i) * 100));
        
$graph = (int)$percent 4;
        echo 
"<tr>\n";
        if(
$mode == "referer" && ereg("^http://"$w_key)):
            echo 
"<td><font size=-1><a href=\"$PHP_SELF?url=$w_key\">
            
$w_key</a></font></td>\n";
        else:
            echo 
"<td><font size=-1>$w_key</font></td>\n";
           endif;
        echo 
"<td align=center><font size=-1>$w_val</font></td>\n";
           echo 
"<td><font size=-1>$percent%</font></td>\n";
           echo 
"<td><img src=\"$gif\" width=$graph height=10></td>\n";
        echo 
"</tr>\n";
    endwhile;
}

  
$log $logdir $log;

if (!
file_exists($log)) die("データがありません");
  
$buf = @file($log);

  while(list(
$key$val)=each($buf)):
    
htmlspecialchars($val);
    list(
$now,$date,$host,$agent,$ref) = explode("\t"$val);

    switch(
$mode):
      case 
'host':
        if(
$ppp):
          
$host =eregi_replace("(.*)\.(.*\.(ad\.jp$|ne\.jp$|or\.jp$))",
                        
"<a href=$PHP_SELF?url=http://www.\\2>*.\\2</a>"$host);
          
$host =eregi_replace("(.*)\.(.*\.(ac\.jp$|go\.jp$|co\.jp$))",
                        
"<a href=$PHP_SELF?url=http://www.\\2>\\1.\\2</a>"$host);
          endif;
          
$count[$host]++;
        break;
      case 
'agent':
          
$count[$agent]++;
        break;
      case 
'referer':
          
$count[$ref]++;
        break;
      case 
'date':
         list(
$k_date,$k_youbi,$suf) = explode(" "$date);
          
$k_date .= $youbi;
          
$count[$k_date]++;
        break;
      case 
'hour':
          list(
$p_da,$p_you,$p_time) = explode(" "$date);
          list(
$hour,$sec) = explode(":"$p_time);
          
$count[$hour]++;
         break;
      case 
'youbi':
          list(
$t_date,$youbi,$suf) = explode(" "$date);
          
$count[$youbi]++;
          break;
    endswitch;

    
$i++;
  endwhile;
echo 
"<b>Total $i Hits</b><br><br>";
?>
<table border=0 cellspacing=1 bgcolor=#cccccc width=90%>
<tr bgcolor=#33c09d color=white>
<? 
if($mode): ?>
<th align=center><font size="-1" color=white><? echo $mode?></font></th>
<th align=center><font size="-1" color=white>件数</font></th>
<th><font size="-1" color=white>割合</font></th>
<th><font size="-1" color=white>グラフ</font></th>
</tr>
<?
    
switch($mode):
      case 
'youbi':
        
$you_a = array('[Sun]','[Mon]','[Tue]','[Wed]','[Thu]','[Fri]','[Sat]');

        while(list(, 
$y_val) = each($you_a)):
            
$percent sprintf("%2.1f",(($count[$y_val]/$i) * 100));
            
$graph = (int)$percent 5;
            echo 
"<tr>\n<td><font size=-1>$y_val</font></td>\n";
               echo 
"<td align=center><font size=-1>$count[$y_val]</font></td>\n";
               echo 
"<td><font size=-1>$percent%</font></td>\n";
               echo 
"<td><img src=\"$gif\" width=$graph height=10></td>\n";
            echo 
"</tr>\n";
        endwhile;
        break;
      case 
'hour':
        
key_sort();
          break;
      case 
'date':
        
key_sort();
        break;
      default:
        
ar_sort();
    endswitch;
echo 
"</table><p><hr size=1>\n";
else:
?>
<th align=center><font size="-1">日付</font></th>
<th align=center><font size="-1">ホスト</font></th>
<th align=center><font size="-1">ブラウザ</font></th>
<th align=center><font size="-1">リンク元</font></th>
</tr>
<?

    $lastlog 
file ($log);
    
$logsize sizeof($lastlog);
    if(
$page$start $logsize $page;
    else 
$start $logsize;

    
$end $start $page_def;
    if(
$end 0$end 0;

    for(
$c $start$c >= $end ;$c--):
        
htmlspecialchars($lastlog[$c]);
        list(
$now,$date,$host,$agent,$ref) = explode("\t"$lastlog[$c]);

           if(
$ppp):
          
$host =ereg_replace("(.*)\.(.*\.(ad\.jp$|ne\.jp$|or\.jp$))",
                        
"*.\\2"$host);
        endif;
        
$date substr($datestrpos($date"/")+1);
                
$agent ereg_replace("Mozilla/4.0 \(compatible;"""$agent);
        echo 
"<tr bgcolor=#e9fff5>\n";
        echo 
"<td nowrap><font size=-2>$date </font></td>\n";
           echo 
"<td><font size=-1>$host </font></td>\n";
        echo 
"<td><font size=-1>$agent </font></td>\n";
        if(
eregi("^http://"$ref)):
          echo 
"<td><font size=-1><a href=\"$PHP_SELF?url=$ref\">$ref</a></font></td>\n";
        else:
          echo 
"<td><font size=-1>$ref</font></td>\n";
        endif;
        echo 
"</tr>\n";
        
$cc++;
    endfor;
    echo 
"</table><p>\n<table>\n<tr>\n";
    
$logday substr(strrchr($log"/"), 1);
    
$prev $page $page_def;
    if(
$page && $prev 0):
?>
<td>
<form method="POST" action="<? echo $PHP_SELF?>">
<input type="hidden" name="page" value="<? echo $prev?>">
<input type="hidden" name="log" value="<? echo $logday?>">
<input type="submit" value="前の <? echo $page_def?>件">
</form></td>
<?
    
endif;
    
$next $page $page_def;
    if(
$cc $page_def):
?>
<td>
<form method="POST" action="<? echo $PHP_SELF?>">
<input type="hidden" name="page" value="<? echo $next?>">
<input type="hidden" name="log" value="<? echo $logday?>">
<input type="submit" value="次の <? echo $page_def?>件">
</form></td>
<?
    
endif;
echo 
"</tr></table><hr size=1>";
endif;  
// end mode
?>
<div align="right">
<font size="-1">- 
<a href="http://php.s3.to">LogZ v1.0</a>
 -</div>
</body></html>