<?php
require('global.php');


// =============== Start of Default Data ==================

/** 
 * Lines in default data file
 *  0 ; time of today
 *  1 ; year
 *  2 ; last year
 *  3 ; month
 *  4 ; last month
 *  5 ; day
 *  6 ; last day
 *  7 ; total
 *  8 ; time of frist run day
**/

$fname    =    $xpower[path].$xpower[d_default];
$filedata =    readfromfile($fname);
if ($filedata=='') $filedata=date('Y-n-j')."\n0\n0\n0\n0\n0\n0\n0\n".date('Y-m-d');
$data     =    explode("\n",$filedata);
$datetime =    explode("-",$data[0]);
$year     =    date('Y');
$month    =    date('n');
$day      =    date('j');

if($datetime[0]==$year)	$data[1]++;	//year
elseif($datetime[0]==date('Y',strtotime('last year')) ){ 
	$data[2] = $data[1];//last year
	$data[1] = 1;		//year
}else{
	$data[2] = 0;		//last year
	$data[1] = 1;		//year
}
if($datetime[0].$datetime[1]==$year.$month) $data[3]++;	//month
elseif($datetime[0].$datetime[1]==date('Yn',strtotime('-1 month')) ){
	$data[4] = $data[3];//last month
	$data[3] = 1;		//month
}else{
 	$data[4] = 1;		//last month
 	$data[3] = 0;		//month
}
if($datetime[0].$datetime[1].$datetime[2]==$year.$month.$day) $data[5]++; //day
elseif($datetime[0].$datetime[1].$datetime[2]==date('Ynj',strtotime('-1 day')) ){
	$data[6] = $data[5];//last day
	$data[5] = 1;		//day
}else{
 	$data[6] = 1;		//last day
 	$data[5] = 0;		//day
}
$data[7]++;	//total data
$data[0]    =    date('Y-n-j');
$filedata     =    implode("\n",$data);
writetofile($fname,$filedata);

// ---------------- End of Default Data --------------------


// ================= Start of Detail Data ==================

$fname          =   $xpower[path].$xpower[d_detail];
$filelines      =   file($fname);
$tmplines[0]    =   '';
for($i=0; $i<$xpower[maxlen]; $i++){
	$tmplines[$i+1]=$filelines[$i];
	if(!$filelines[$i]) break;
}
$ipfrom	         =   convertip($xpower[ip]);  //把IP转换成地理位置
$xpower[fromurl] =   $referer;                //统计访问者是从何URL而来
$browse_id       =   get_agent($keywords[browse]);
$os_id           =   get_agent($keywords[os]);	
$tmplines[0]     =   "$xpower[time]|$xpower[ip]|$ipfrom|$xpower[fromurl]|$os_id|$browse_id\n";
writetofile($fname,implode('',$tmplines));

// ------------------ End of Detail Data -------------------


// ================== Start of Other Datas =================

/**
 * * string date ( string format [, int timestamp])
 *
 *	G - 小时，24 小时格式，没有前导零，例如 "0" 到 "23"
 * 	j - 月份中的第几天，没有前导零，例如 "1" 到 "31"
 *	t - 给定月份所应有的天数，例如 "28" 到 "31"
 *	W - ISO-8601 格式年份中的第几周，每周从星期一开始（PHP 4.1.0 新加的）
 *	w - 星期中的第几天，数字表示，例如 "0"（星期天）到 "6" (Saturday)
 *	n - 月份，没有前导零，例如 "1" 到 "12"
 *
 *
 * 数据文件结构
 *   line 0 	数据总量:开始序号:关键字1:关键字2:关键字3
 *   line 1     数据
 *   line 2     数据
 *   ...
 *   line n     数据
 *
 * 所有数据 id 从 0 开始
 *
**/




//浏览器统计
$fname   =   $xpower[path].$xpower[d_browse];
$keyword =   '浏览器类型::';
update($fname,$browse_id,7,0,$keyword);		// 7=count($keywords[browse])

//操作系统统计
$fname   =    $xpower[path].$xpower[d_os];
$keyword =    '操作系统::';
update($fname,$os_id,10,0,$keyword);		// 10=count($keywords[os])

//24小时流量
$fname   =    $xpower[path].$xpower[d_hour];
$id      =    date('G');
$keyword =    date('Y年m月d日:时:本日');
update($fname,$id,24,0,$keyword);

//月内日流量
$fname   =    $xpower[path].$xpower[d_day];
$id      =    date('j');
$keyword =    date('Y年m月:日:本月');
update($fname,$id,date('t'),1,$keyword);

//一星期内日流量 
$fname   =    $xpower[path].$xpower[d_week];
$id      =    date('w');
$keyword =    date('Y年第W周:日:本周');
update($fname,$id,7,0,$keyword);

//年内月流量
$fname   =    $xpower[path].$xpower[d_month];
$id      =    date('n');
$keyword =    date('Y年:月:全年');
update($fname,$id,12,1,$keyword);

/* 每年流量统计
$fname=$xpower[path].$xpower[d_year];
$id=date('Y');
$index=$id;
//update($fname,$id,$index,new_data($index,12));
*/


// ================== Start of Sub Functions ===============

function new_data($firstline,$num){
	$lines[0]="$firstline\n";
	for($i=1;$i<=$num;$i++)
		$lines[$i]="0\n";
	return $lines;
}

/**
 * 说明：update
 *
 * $filename ; 文件名
 * $id       ; 要更新的数据行号 e.g. 1,2 ...
 * $datanum  ; 有效数据数量
 * $idfrom   ; 有效数据开始序号 0 or 1
 * $keyword  ; 关键字
 *
**/

function update($filename,$id,$datanum,$idfrom,$keyword){
	$filelines=@file($filename);
	$index="$datanum:$idfrom:$keyword";
	if($filelines[0]==''|| trim($filelines[0])!=$index){  //索引不同则更新数据
		$filelines=new_data($index,$datanum+$idfrom);
	}
	$id+=(1+$idfrom);
	$num=trim($filelines[$id]);
	$num++;
	//	echo "<br> $filename - $id: $num|";		// debug
	$filelines[$id]=$num."\n";
	$msg=implode('',$filelines);
	writetofile($filename,$msg);
}

// ------------------ End of Sub Functions -----------------

?><?

// ================== Output Html from here ================

if($style=="null") {
}elseif($style=="counter") {
	print<<< EOT
document.write("<table width=88 border=0 cellspacing=0 cellpadding=0 height=31 background="    +url+    "/images/stat_counter.gif>");
document.write("  <tr>");
document.write("    <td height=3 width=24></td>");
document.write("    <td height=3 width=57></td>");
document.write("    <td height=3 width=7></td>");
document.write("  </tr>");
document.write("  <tr>");
document.write("    <td height=16></td>");
document.write("    <td height=16 align=center valign=top><marquee behavior=loop scrollDelay=100 scrollAmount=3 style='font-size: 12px; line-height=15px'>");
document.write("      <a href='"    +url+    "/index.php' target=_blank style='color: #ffffff; text-decoration: none'>");
document.write("        <font face='Arial, Verdana, san-serif' color=#993333>总访问量: <b> $data[7] </b>人次 今日访问: $data[5] 人次 本月访问: $data[3] 人次 今年访问: $data[1] 人次 </font>");
document.write("      </a></marquee>");
document.write("    </td>");
document.write("    <td height=16></td>");
document.write("  </tr>");
document.write("  <tr>");
document.write("    <td height=12></td>");
document.write("    <td height=12></td>");
document.write("    <td height=12></td>");
document.write("  </tr>");
document.write("</table>");
EOT;
}elseif($style=="icon") {
  echo"document.write(\"<a href='\"+url+\"/index.php' target='_blank'><img src='\"+url+\"/images/stat_icon.gif' height='20' width='20' border='0' alt='总访问量: $data[7]人次 | 今日访问: $data[5] 人次 | 本月访问: $data[3] 人次 | 今年访问: $data[1] 人次 '></a>\");";
}elseif($style=="text") {
  echo"document.write(\" $data[7] \");";
}else {
  echo"document.write(\"<a href='\"+url+\"/index.php'><img src='\"+url+\"/images/stat_icon.gif' height='20' width='20' border='0'></a>\");";	
}
?>