Просмотр файла o5on.ru/xhtml/stat.php

Размер файла: 18.69Kb
<?php
include '../inc/config.inc.php';
include '../inc/wap_tags.inc.php';
include '../inc/functions.inc.php';
connect_to_db();

include "config.php";
// ------------------------------ вывод статистики пользователя ---------------------
// проверка  ввода id
if (empty($_GET['uid'])) exit;
$uid = dig((int)$_GET['uid']);
// проверка существования учетной записи
$result = mysql_query("SELECT `site_name`,`link`,`admin`,`info` FROM `users` WHERE `uid`=".$uid.";");
$row = mysql_fetch_array($result);
if (empty($row)) {header("Location: /"); exit;}
// проверка  ввода action
if (empty($_GET['act'])) $act = "";
else $act = $_GET['act'];

$site_name = htmlspecialchars($row['site_name']);
$link = $row['link'];
$admin = htmlspecialchars($row['admin']);
$info = htmlspecialchars($row['info']);

$week_day = date("w");
$today = date("Ymd");
$downtoday = mktime(0, 0, 0, date("Y") , date("m"), date("d")-1);
// за сегодня
$result = mysql_query("SELECT `host` FROM `weeks` WHERE `uid`=".$uid." AND `date`=".$today." LIMIT 1;");
$row = mysql_fetch_array($result);
$host_today = $row['host'];
$act = latin($act);
include './inc/head.php';
switch ($act) {
    case 'operators':
echo "<div class=\"rg\"><a href=\"/xhtml/outtop/" . $uid . "/\">" . str_replace("http://", "", $link) . "</a> - операторы<br />\n";
print "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\">\n";
print "<tr background=\"/xhtml/tit.gif\" align=\"center\">\n";
print " <td style=\"color: #ffffff\" width=\"50%\"> <b>Страна</b> </td>\n";
print " <td style=\"color: #ffffff\" width=\"50%\"> <b>Доля, %</b> </td>\n";
print "</tr>\n";


        $result = mysql_query("
			SELECT `top_operators`.`name`, `top_operators`.`label`, `top_operators_stat`.`count`
			FROM `top_operators_stat`
			LEFT JOIN `top_operators`
			ON `top_operators`.`id` = `top_operators_stat`.`id_operator`
			WHERE `date` = ".$today." AND `day_week` = ".$week_day." AND `uid` = ".$uid."
			ORDER BY `top_operators_stat`.`count` DESC
		");
        $oper_array = array();
        $summ = 0;
        if (mysql_num_rows($result)) {
            while ($row = mysql_fetch_assoc($result)) {
                $oper_array[] = $row;
                $summ += $row['count'];
                // echo ((empty($row['name']))? 'Прочие' : $row['name']).': '.$row['count'].'<br/>';
            }
        }
        //echo "<b>Статистика по операторам:</b> <br/>\n";
        foreach ($oper_array AS $position => $row) {
						    $vvv = $vvv+1;
        					$celoe = $vvv/2;
        					$psps = split("\.", $celoe);
        					if($psps[1] == 5){
							echo "<tr background=\"/xhtml/site.gif\">\n";
							}else{
							echo "<tr background=\"/xhtml/sit.gif\">\n";
							}
            echo ((empty($row['name']))? '<td>Другие</td>' : "<td>".$row['name']."</td>").' <td>'.(round($row['count']/$summ*10000)/100).'%</td>';
					        print "</tr>\n";
        }
        print "</table>\n";
        print "</div>\n";
        // echo "<a href='stat.php?act=telinfo&uid=$uid'>Статистика по маркам телефонов</a> <br/>\n";
        break;
    case "telinfo":
        $tel = array("Siemens",
            "Nokia",
            "Samsung",
            "Motorola",
            "LG",
            "Sagem",
            "SonyEricsson",
            "Alcatel",
            "Sharp",
            "Pantech",
            "Panasonic",
            "Другие"
            );
        // подсчет когад браузер не отределен
        $result = mysql_query("SELECT `Siemens`,`Nokia`,`Samsung`,`Motorola`,`LG`,`Sagem`,`SonyEricsson`,`Alcatel`,`Sharp`,`Pantech`,`Panasonic`,`Other` FROM `weeks` WHERE `date`=$today AND `day_week`=$week_day AND `uid`=$uid LIMIT 1");
        $tel_data = mysql_fetch_row($result);
        if (empty($tel_data)) $tel_data = array (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

        $hour = date("H");
echo "<div class=\"body\"><a href=\"/xhtml/outtop/" . $uid . "/\">" . str_replace("http://", "", $link) . "</a> - модели<br />\n";
print "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\">\n";
print "<tr background=\"/xhtml/tit.gif\" align=\"center\">\n";
print " <td style=\"color: #ffffff\" width=\"50%\"> <b>Модель</b> </td>\n";
print " <td style=\"color: #ffffff\" width=\"50%\"> <b>Хитов</b> </td>\n";
print "</tr>\n";

        foreach ($tel_data as $index => $value) {
						    $vvv = $vvv+1;
        					$celoe = $vvv/2;
        					$psps = split("\.", $celoe);
        					if($psps[1] == 5){
							echo "<tr background=\"/xhtml/site.gif\">\n";
							}else{
							echo "<tr background=\"/xhtml/sit.gif\">\n";
							}
            echo "<td>".$tel[$index] . "</td><td>".$value."</td>\n";
					        print "</tr>\n";
        }
        print "</table>\n";
        print "</div>\n";
        break;

    // По дням

    case "day":
        echo "<div class=\"body\"><a href=\"/xhtml/outtop/" . $uid . "/\">" . str_replace("http://", "", $link) . "</a> - по дням<br />\n";
        print "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\">\n";
        print "<tr background=\"/xhtml/tit.gif\" align=\"center\">\n";
        print " <td width=\"30%\" style=\"color:#ffffff\"><b>Дата</b></td>\n";
        print " <td width=\"30%\" style=\"color:#ffffff\"><b>Хосты</b></td>\n";
        print " <td width=\"30%\" style=\"color:#ffffff\"><b>Хиты</b></td>\n";
        print "</tr>\n";
$result = mysql_query("SELECT * FROM `weeks` where `uid`='".$uid."' ORDER BY `id` DESC LIMIT 30;");
$stat1 = array();
$stat2 = array();
$stat3 = array();

		while(false!==$fetch=mysql_fetch_array($result)){
		$stat1[(int)$fetch['date']] = $fetch['host'];
		$stat2[(int)$fetch['date']] = $fetch['count'];
		$stat3[(int)$fetch['date']] = $fetch['date'];
		}
		//print $stat3;
		for($i=0; $i < 30; $i++){
	    $vvv = $vvv+1;
        $celoe = $vvv/2;
        $psps = split("\.", $celoe);
        	if($psps[1] == 5){
				echo "<tr background=\"/xhtml/site.gif\">\n";
			}else{
				echo "<tr background=\"/xhtml/sit.gif\">\n";
			}


			$er = date("Ymd",mktime(date("H"),date("i"),date("s"),date("m"),date("d")-$i,date("Y")));
			$err = date("Y.m.d",mktime(date("H"),date("i"),date("s"),date("m"),date("d")-$i,date("Y")));

            if(!empty($stat3[$er])){
    		$stat3[$er] = str_replace(date("Y"),date("Y").".",$stat3[$er]);
    		$stat3[$er] = str_replace(".".date("m"),".".date("m").".",$stat3[$er]);
            }
			    echo "<td>".(isset($stat3[$er])?$stat3[$er]:$err)."</td>\n";
                echo "<td>".(isset($stat1[$er])?$stat1[$er]:'-')."</td>\n";
				echo "<td>".(isset($stat2[$er])?$stat2[$er]:'-')."</td>\n";


        $host_al = $host_al + (int)$stat1[$er];
		$count_al = $count_al + (int)$stat2[$er];
        echo "</tr>\n";
		}

echo "<tr background=\"/xhtml/tit.gif\"><td style=\"color:#ffffff\">Всего:</td><td style=\"color:#ffffff\">".$host_al."</td><td style=\"color:#ffffff\">".$count_al."</td></tr> \n";
$hour_24 = split("\.", ($host_al/$vvv));
$count_24 = split("\.", ($count_al/$vvv));
echo "<tr background=\"/xhtml/tit.gif\"><td style=\"color:#ffffff\">В среднем за день:</td><td style=\"color:#ffffff\">".$hour_24[0]."</td><td style=\"color:#ffffff\">".$count_24[0]."</td></tr> \n";

        //print "<tr background=\"/xhtml/tit.gif\"><td style=\"color: #ffffff\"><b>Cредн. (" . $ddd . " дней)</b></td><td style=\"color: #ffffff\"><b>" . $alh . "</b></td><td style=\"color: #ffffff\"><b>" . $alc . "</b></td></tr>\n";
        print "</table>\n";
        print "</div>\n";
        break;

    // По часам

    case "hour":
print "<div class=\"body\">\n";
        echo "<a href=\"/xhtml/outtop/" . $uid . "/\">".str_replace("http://", "", $link)."</a> - по часам ".date("d.m.Y")."\n";
print "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\">\n";
print "<tr background=\"/xhtml/tit.gif\" align=\"center\">\n";
print " <td style=\"color:#ffffff\" width=\"30%\"><b>Часы</b></td>\n";
print " <td style=\"color:#ffffff\" width=\"30%\"><b>Хосты</b></td>\n";
print " <td style=\"color:#ffffff\" width=\"30%\"><b>Хиты</b></td>\n";
print "</tr>\n";

        //echo "Часы | Хосты | Хиты<br/>";
$result = mysql_query("SELECT * FROM `count_24` where `uid`=".$uid." and `date`=".$today." ORDER BY `id` DESC;");
$stat1 = array();
$stat2 = array();
		while(false!==$fetch=mysql_fetch_array($result)){
		$stat1[(int)$fetch['hour']] = $fetch['host'];
		$stat2[(int)$fetch['hour']] = $fetch['count'];
		}

for($i=0; $i < 24; $i++){
	    $vvv = $vvv+1;
        $celoe = $vvv/2;
        $psps = split("\.", $celoe);
        if($psps[1] == 5){
		echo "<tr background=\"/xhtml/site.gif\">\n";
		}else{
		echo "<tr background=\"/xhtml/sit.gif\">\n";
		}

        echo "<td>".$i.":00 - ".($i<23?$i+1:0).":00 </td>\n";

	if($stat1[$i] != ''){
	echo "<td>".$stat1[$i]."</td>\n";
	}else{
	echo "<td> - </td>\n";
	}

	if($stat2[$i] != ''){
	echo "<td>".$stat2[$i]."</td>\n";
	}else{
	echo "<td> - </td>\n";
	}
	echo "</tr>\n";

$host_al = $host_al + (int)$stat1[$i];
$count_al = $count_al + (int)$stat2[$i];
//$dddd = $dddd+1;
}

echo "<tr background=\"/xhtml/tit.gif\"><td style=\"color:#ffffff\">Всего:</td><td style=\"color:#ffffff\">".(int)$host_al."</td><td style=\"color:#ffffff\">".(int)$count_al."</td></tr> \n";
$hour_24 = split("\.", ($host_al/$vvv));
$count_24 = split("\.", ($count_al/$vvv));
echo "<tr background=\"/xhtml/tit.gif\"><td style=\"color:#ffffff\">В среднем за час:</td><td style=\"color:#ffffff\">".(int)$hour_24[0]."</td><td style=\"color:#ffffff\">".(int)$count_24[0]."</td></tr> \n";

echo "</table>\n</div>\n";
        break;
    default:
        // ======================== Статистика участника ======================
        $hour = date("H");
        $downtoday = date("Ymd", time()-86400);
        // за сегодня
        $result = mysql_query("SELECT `count`,`host` FROM `weeks` WHERE `uid`=".$uid." AND `date`=".$today." LIMIT 1;");
        $row = mysql_fetch_array($result);
        $count_today = (int)$row['count'];
        $host_today = (int)$row['host'];
        // за вчера
        $result = mysql_query("SELECT `count`,`host` FROM `weeks` WHERE `uid`=".$uid." AND `date`=".$downtoday." LIMIT 1;");
        $row = mysql_fetch_array($result);
        $count_downtoday = (int)$row['count'];
        $host_downtoday = (int)$row['host'];
        // за 24 часа
        $result = mysql_query("SELECT sum(`count`),sum(`host`) FROM `count_24` WHERE ((`date`=".$today."-1 AND `hour`>".$hour.") OR (`date`=".$today." AND `hour`<=".$hour.")) AND `uid`=".$uid.";");
        $row = mysql_fetch_row($result);
        $count_24 = (int)$row[0];
        $host_24 = (int)$row[1];
        // данные за текущий час
        $result = mysql_query("SELECT `count`,`host` FROM `count_24` WHERE `hour`=".$hour." AND `date`=".$today." AND `uid`=".$uid.";");
        $row = mysql_fetch_row($result);
        // поверка наличия записи в базе
        if (empty($row)) {
            $hour_count = 0;
            $hour_host = 0;
        } else {
            $hour_count = (int)$row[0];
            $hour_host = (int)$row[1];
        }
        // ---------------------------- посещения за месяц --------------------
        $months = array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
        $today = date("Ym");
        $index_month = date("m")-1;
        // данные за текущий месяц
        $result = mysql_query("SELECT `count`,`host` FROM `months` WHERE `date`=".$today." AND `uid`=".$uid.";");
        $row = mysql_fetch_row($result);
        // поверка наличия записи в базе
        if (empty($row[0])) {
            $this_month_count = 0;
            $this_month_host = 0;
        } else {
            $this_month_count = (int)$row[0];
            $this_month_host = (int)$row[1];
        }
        // -------------------------- недельная статистика----------------
        $week_day = date("w");
        $day7 = date("Ymd", (time()-604800));
        //$today = date("Ymd");
        // посещений за неделю
        $result = mysql_query("SELECT sum(`count`),sum(`host`) FROM `weeks` WHERE `date`>" . $day7 . " AND `uid`=".$uid.";");
        $row = mysql_fetch_row($result);
        $total_week_count = (int)$row[0];
        $total_week_host = (int)$row[1];
        // -----------------------Всего---------------------------
        $result = mysql_query("SELECT sum(`count`),sum(`host`) FROM `months` WHERE `uid`=".$uid.";");
        $row = mysql_fetch_row($result);
        $all_hits = (int)$row[0];
        $all_hosts = (int)$row[1];
        // -----------------------Пришло \ Ушло сегодня---------------------------
        $week_day = date("w");
        $today = date("Ymd");
        $counts_in_out = mysql_query("SELECT `in`,`out` FROM `weeks` WHERE `date`=" . $today . " AND `day_week`=" . $week_day . " AND `uid`=" . $uid . " LIMIT 1;");
        $count_row = mysql_fetch_array($counts_in_out);
        $in_count = (int)$count_row['in'];
        $out_count = (int)$count_row['out'];
        // -----------------------Пришло \ Ушло вчера---------------------------
        $counts_in_out_downtoday = mysql_query("SELECT `in`,`out` FROM `weeks` WHERE `date`=" . $downtoday . " AND `uid`=" . $uid . " LIMIT 1;");
        $count_row_downtoday = mysql_fetch_array($counts_in_out_downtoday);
        $in_count_downtoday = (int)$count_row_downtoday['in'];
        $out_count_downtoday = (int)$count_row_downtoday['out'];
        // -----------------------Пришло \ Ушло за 7 дней---------------------------
        $day7 = date("Ymd", (time()-604800));
        $counts_in_out_day7 = mysql_query("SELECT `in`,`out` FROM `weeks` WHERE `date`>" . $day7 . " AND `uid`=" . $uid . ";");
        while ($count_row_day7 = mysql_fetch_array($counts_in_out_day7)) {
            $total_week_count_in = $total_week_count_in + ((int)$count_row_day7['in']);
            $total_week_host_out = $total_week_host_out + ((int)$count_row_day7['out']);
        }

        echo "<div class=\"body\">\n";
        print "<a href=\"/xhtml/outtop/" . $uid . "/\">" . str_replace("http://", "", $link) . "</a> - Статистика<br />\n";
        print "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\">\n";
        print "<tr background=\"/xhtml/tit.gif\">\n";
        print "<td colspan=\"2\">Сегодня</td>\n";
        print "</tr>\n";
        print " <tr>\n";
        print "  <td width=\"50%\">Хосты</td>\n";
        print "  <td width=\"50%\">" . $host_today . "</td>\n";
        print " </tr>\n";
        print " <tr background=\"/xhtml/site.gif\">\n";
        print "  <td>Хиты</td>\n";
        print "  <td>" . $count_today . "</td>\n";
        print " </tr>\n";
        print " <tr>\n";
        print "  <td>в топ / из топа</td>\n";
        print "  <td>" . $in_count . " / " . (($out_count*2)+$in_count) . "</td>\n";
        print " </tr>\n";
        print "<tr background=\"/xhtml/tit.gif\">\n";
        print "  <td colspan=\"2\">Вчера</td>\n";
        print " </tr>\n";
        print " <tr>\n";
        print "  <td>Хосты</td>\n";
        print "  <td>" . $host_downtoday . "</td>\n";
        print " </tr>\n";
        print " <tr background=\"/xhtml/site.gif\">\n";
        print "  <td>Хиты</td>\n";
        print "  <td>" . $count_downtoday . "</td>\n";
        print " </tr>\n";
        print " <tr>\n";
        print "  <td>В топ / из топа</td>\n";
        print "  <td>" . $in_count_downtoday . " / " . (($out_count_downtoday*2)+$in_count_downtoday) . "</td>\n";
        print " </tr>\n";
        print " <tr background=\"/xhtml/tit.gif\">\n";
        print "  <td colspan=\"2\">За 7 дней</td>\n";
        print " </tr>\n";
        print " <tr>\n";
        print "  <td>Хосты</td>\n";
        print "  <td>" . $total_week_host . "</td>\n";
        print " </tr>\n";
        print " <tr background=\"/xhtml/site.gif\">\n";
        print "  <td>Хиты</td>\n";
        print "  <td>" . $total_week_count . "</td>\n";
        print " </tr>\n";
        print " <tr>\n";
        print "  <td>В топ / из топа</td>\n";
        print "  <td>" . $total_week_count_in . " / " . (($total_week_host_out*2)+$total_week_count_in) . "</td>\n";
        print " </tr>\n";
        print "\n";
        print " <tr background=\"/xhtml/tit.gif\">\n";
        print "  <td colspan=\"2\">За текущий месяц</td>\n";
        print " </tr>\n";
        print " <tr>\n";
        print "  <td>Хосты</td>\n";
        print "  <td>" . $this_month_host . "</td>\n";
        print " </tr>\n";
        print " <tr background=\"/xhtml/site.gif\">\n";
        print "  <td>Хиты</td>\n";
        print "  <td>" . $this_month_count . "</td>\n";
        print " </tr>\n";
        print " <tr>\n";
        print "  <td>В топ / из топа</td>\n";
        print "  <td>- / -</td>\n";
        print " </tr>\n";


        print " <tr background=\"/xhtml/tit.gif\">\n";
        print "  <td colspan=\"2\">Всего</td>\n";
        print " </tr>\n";
        print " <tr>\n";
        print "  <td>Хосты</td>\n";
        print "  <td>" . $all_hosts . "</td>\n";
        print " </tr>\n";
        print " <tr background=\"/xhtml/site.gif\">\n";
        print "  <td>Хиты</td>\n";
        print "  <td>" . $all_hits . "</td>\n";
        print " </tr>\n";
        print " <tr>\n";
        print "  <td>В топ / из топа</td>\n";
        print "  <td>- / -</td>\n";
        print " </tr>\n";
        print "</table>\n";
        print "</div>\n";
}
// общая навигация
print "<div class=\"downban\">\n";
print "Статистика: \n";

if ($_GET["act"] == "") {
    echo "общая \n";
} else {
    echo "<a href='/xhtml/stat/" . $uid . "/'>общая</a> \n";
}
if ($_GET["act"] == "day") {
    echo "по дням \n";
} else {
    echo "<a href='/xhtml/stat/" . $uid . "/day/'>по дням</a> \n";
}
if ($_GET["act"] == "hour") {
    echo "по часам \n";
} else {
    echo "<a href='/xhtml/stat/" . $uid . "/hour/'>по часам</a> \n";
}
if ($_GET["act"] == "operators") {
    echo "операторы \n";
} else {
    echo "<a href='/xhtml/stat/" . $uid . "/operators/'>операторы</a> \n";
}
if ($_GET["act"] == "telinfo") {
    echo "модели <br />\n";
} else {
    echo "<a href='/xhtml/stat/" . $uid . "/telinfo/'>модели</a> <br/>\n";
}
print "</div>\n";


include "./inc/foot.php";
// ---------------------------------------------------------------
// вывод буфера
ob_end_flush();

?>