189 Zeilen
6,3 KiB
PHP
189 Zeilen
6,3 KiB
PHP
|
<?php
|
|||
|
|
|||
|
/***********************************************
|
|||
|
* *
|
|||
|
* semmelstatz_history.php v3.3 *
|
|||
|
* Copyright: <EFBFBD> 2005-2009 kopfhoch-studio *
|
|||
|
* *
|
|||
|
***********************************************/
|
|||
|
|
|||
|
if(!current_user_can('manage_statz')) {
|
|||
|
die('Zugriff verweigert');
|
|||
|
}
|
|||
|
|
|||
|
function sem_drawLast30DaysGoo() {
|
|||
|
global $wpdb;
|
|||
|
|
|||
|
$sql = $wpdb->get_results("ALTER TABLE ".$wpdb->statzhist." ORDER BY date ASC");
|
|||
|
$results = $wpdb->get_results("SELECT DAY(date) as days, visitors FROM ".$wpdb->statzhist." WHERE date >= NOW() - INTERVAL 31 DAY");
|
|||
|
|
|||
|
print "<div class='statz'>Besucher: Die letzten 30 Tage</div>";
|
|||
|
print "<div align='left'>";
|
|||
|
|
|||
|
if (empty($results)) {
|
|||
|
print "<small>... noch keine Einträge</small></div>";
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
foreach ($results as $result) {
|
|||
|
$visitors[] = $result->visitors;
|
|||
|
$days[] = $result->days;
|
|||
|
}
|
|||
|
|
|||
|
$maxvalue = max($visitors);
|
|||
|
$daylabels = implode('|', $days);
|
|||
|
|
|||
|
print "<div class='chart'>";
|
|||
|
|
|||
|
print "<img src=http://chart.apis.google.com/chart?chg=25,25&chxl=0:|".$daylabels."|1:|0|".$maxvalue."&chbh=a&cht=bvs&chs=600x150&chxt=x,y&chd=".sem_encodeChartData($visitors).">";
|
|||
|
|
|||
|
print "</div>";
|
|||
|
|
|||
|
print "</div>";
|
|||
|
print "<hr />";
|
|||
|
}
|
|||
|
|
|||
|
### HISTORY Monatsgrafik GOOGLE-API
|
|||
|
|
|||
|
function sem_drawAllMonthGoo() {
|
|||
|
global $wpdb;
|
|||
|
|
|||
|
$nummonths = $wpdb->get_var("SELECT MONTH(date) FROM ".$wpdb->statzhist);
|
|||
|
$results = $wpdb->get_results("SELECT MONTH(date) as months, SUM(visitors) as visitors FROM ".$wpdb->statzhist." GROUP BY months ORDER BY date ASC");
|
|||
|
|
|||
|
print "<div class='statz'>Besucher: Die letzten ".$nummonths." Monate</div>";
|
|||
|
print "<div align='left'>";
|
|||
|
|
|||
|
if (empty($results)) {
|
|||
|
print "<small>... noch keine Einträge</small></div>";
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
foreach ($results as $result) {
|
|||
|
$visitors[] = $result->visitors;
|
|||
|
$months[] = $result->months;
|
|||
|
}
|
|||
|
|
|||
|
$maxvalue = max($visitors);
|
|||
|
|
|||
|
$monthlabels = implode('|', $months);
|
|||
|
|
|||
|
print "<div class='chart'>";
|
|||
|
|
|||
|
print "<img src=http://chart.apis.google.com/chart?chg=25,25&chxt=x,y&chxl=0:|".$monthlabels."|1:|0|".$maxvalue."&chbh=a&cht=bvs&chs=600x150&chd=".sem_encodeChartData($visitors).">";
|
|||
|
|
|||
|
print "</div>";
|
|||
|
|
|||
|
print "</div>";
|
|||
|
print "<hr />";
|
|||
|
}
|
|||
|
|
|||
|
### HISTORY ALLE historischen Tage
|
|||
|
|
|||
|
function sem_drawAllDaysGoo() {
|
|||
|
global $wpdb;
|
|||
|
|
|||
|
$numdays = $wpdb->get_var("SELECT COUNT(date) FROM ".$wpdb->statzhist);
|
|||
|
|
|||
|
$results = $wpdb->get_results("SELECT referers, visitors, hits, substring(date,1,10) AS date
|
|||
|
FROM ".$wpdb->statzhist." GROUP BY date ORDER BY date ASC");
|
|||
|
$visitors=$totaldays->visitors;
|
|||
|
|
|||
|
print "<div class='statz'>Besucher: ".$numdays." Tage zurück</div>";
|
|||
|
print "<div align='left'>";
|
|||
|
|
|||
|
if (empty($results)) {
|
|||
|
print "<small>... noch keine Einträge</small></div>";
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
foreach($results as $result) {
|
|||
|
$visitors[] = $result->visitors;
|
|||
|
$hits[] = $result->hits;
|
|||
|
$referers[] = $result->referers;
|
|||
|
}
|
|||
|
|
|||
|
$maxvalue = max($visitors);
|
|||
|
|
|||
|
print "<div class='chart'>";
|
|||
|
|
|||
|
print "<img src=http://chart.apis.google.com/chart?chg=25,25&cht=lc&chs=600x200&chd=".sem_encodeChartData($visitors)."&chxt=y&chxl=0:|0|".$maxvalue.">";
|
|||
|
|
|||
|
print "</div>";
|
|||
|
|
|||
|
print "</div>";
|
|||
|
print "<hr />";
|
|||
|
}
|
|||
|
|
|||
|
function sem_showAllDaysInNumbers() {
|
|||
|
global $wpdb;
|
|||
|
|
|||
|
$numdays = $wpdb->get_var("SELECT COUNT(date) as num FROM $wpdb->statzhist");
|
|||
|
|
|||
|
$results = $wpdb->get_results("SELECT referers, visitors, hits, substring(date,1,10) AS date
|
|||
|
FROM ".$wpdb->statzhist." GROUP BY date ORDER BY date DESC");
|
|||
|
|
|||
|
print "<div class='statz'>Die letzten ".$numdays." Tage</div>";
|
|||
|
if (empty($results)) {
|
|||
|
print "<small>... noch keine Einträge</small>";
|
|||
|
return;
|
|||
|
}
|
|||
|
print "<table class='statzelement'>";
|
|||
|
print "<thead>";
|
|||
|
print "<tr>";
|
|||
|
print "<th style='width:15%;text-align:center;'>Datum</th>";
|
|||
|
print "<th style='width:10%;text-align:right;'>Besucher</th>";
|
|||
|
print "<th style='width:10%;text-align:right;'>Hits</th>";
|
|||
|
print "<th style='width:10%;text-align:right;'>Referer</th>";
|
|||
|
print "<th style='text-align:right;'> </th>";
|
|||
|
print "</tr>";
|
|||
|
print "</thead>";
|
|||
|
print "<tbody>";
|
|||
|
foreach($results as $key=>$result) {
|
|||
|
$date = mysql2date('d.m.Y',$result->date);
|
|||
|
$visitors = $result->visitors; $sum_visitors += $visitors;
|
|||
|
$hits = $result->hits; $sum_hits += $hits;
|
|||
|
$referers = $result->referers; $sum_referers += $referers;
|
|||
|
print "<tr"; if(1&$key) print " class='alternate'"; print ">";
|
|||
|
print "<td style='text-align:center;'>".$date."</td>";
|
|||
|
print "<td style='text-align:right;'>".$visitors."</td>";
|
|||
|
print "<td style='text-align:right;'>".$hits."</td>";
|
|||
|
print "<td style='text-align:right;'>".$referers."</td>";
|
|||
|
print "<td style='text-align:right;'> </td>";
|
|||
|
print "</tr>";
|
|||
|
}
|
|||
|
|
|||
|
print "<tr><td> </td></tr>";
|
|||
|
print "<tr class='alternate'"; print ">";
|
|||
|
print "<td style='text-align:center;'><b>Gesamt</b></td>";
|
|||
|
print "<td style='text-align:right;'><b>".$sum_visitors."</b></td>";
|
|||
|
print "<td style='text-align:right;'><b>".$sum_hits."</b></td>";
|
|||
|
print "<td style='text-align:right;'><b>".$sum_referers."</b></td>";
|
|||
|
print "</tr>";
|
|||
|
print "<tr>";
|
|||
|
print "<td style='text-align:center;'><b>Durchschnitt</b></td>";
|
|||
|
print "<td style='text-align:right;'>".ceil($sum_visitors / $numdays)."</td>";
|
|||
|
print "<td style='text-align:right;'>".ceil($sum_hits / $numdays)."</td>";
|
|||
|
print "<td style='text-align:right;'>".ceil($sum_referers / $numdays)."</td>";
|
|||
|
print "</tr>";
|
|||
|
print "</tbody>";
|
|||
|
print "</table>";
|
|||
|
print "<hr />";
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
### ANZEIGE HISTORY
|
|||
|
|
|||
|
print "<div class='wrap'>";
|
|||
|
print "<div id='icon-semmelstatz' class='icon32'><br /></div>";
|
|||
|
print "<h2>Semmelstatz › Historie</h2>";
|
|||
|
|
|||
|
sem_drawLast30DaysGoo();
|
|||
|
sem_drawAllMonthGoo();
|
|||
|
sem_drawAllDaysGoo();
|
|||
|
sem_showAllDaysInNumbers();
|
|||
|
sem_showCopyright();
|
|||
|
|
|||
|
print "</div>";
|
|||
|
|
|||
|
?>
|