function iriStatPressMain() { global $wpdb; $table_name = $wpdb->prefix . "statpress"; // OVERVIEW table $unique_color = "#114477"; $web_color = "#3377B6"; $rss_color = "#f38f36"; $spider_color = "#83b4d8"; $lastmonth = iri_StatPress_lastmonth(); $thismonth = gmdate('Ym', current_time('timestamp')); $yesterday = gmdate('Ymd', current_time('timestamp') - 86400); $today = gmdate('Ymd', current_time('timestamp')); $tlm[0] = my_substr($lastmonth, 0, 4); $tlm[1] = my_substr($lastmonth, 4, 2); print "<div class='wrap'><h2>" . __('Overview', 'statpress') . "</h2>"; print "<table class='widefat'><thead><tr>\r\n <th scope='col'></th>\r\n <th scope='col'>" . __('Total', 'statpress') . "</th>\r\n <th scope='col'>" . __('Last month', 'statpress') . "<br /><font size=1>" . gmdate('M, Y', gmmktime(0, 0, 0, $tlm[1], 1, $tlm[0])) . "</font></th>\r\n <th scope='col'>" . __('This month', 'statpress') . "<br /><font size=1>" . gmdate('M, Y', current_time('timestamp')) . "</font></th>\r\n <th scope='col'>" . __('Target', 'statpress') . " " . __('This month', 'statpress') . "<br /><font size=1>" . gmdate('M, Y', current_time('timestamp')) . "</font></th>\r\n <th scope='col'>" . __('Yesterday', 'statpress') . "<br /><font size=1>" . gmdate('d M, Y', current_time('timestamp') - 86400) . "</font></th>\r\n <th scope='col'>" . __('Today', 'statpress') . "<br /><font size=1>" . gmdate('d M, Y', current_time('timestamp')) . "</font></th>\r\n </tr></thead>\r\n <tbody id='the-list'>"; //############################################################################################### // VISITORS ROW print "<tr><td><div style='background:{$unique_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Visitors', 'statpress') . "</td>"; //TOTAL $qry_total = $wpdb->get_row("\r\n SELECT count(DISTINCT ip) AS visitors\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n "); print "<td>" . $qry_total->visitors . "</td>\n"; //LAST MONTH $qry_lmonth = $wpdb->get_row("\r\n SELECT count(DISTINCT ip) AS visitors\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n AND date LIKE '" . mysql_real_escape_string($lastmonth) . "%'\r\n "); print "<td>" . $qry_lmonth->visitors . "</td>\n"; //THIS MONTH $qry_tmonth = $wpdb->get_row("\r\n SELECT count(DISTINCT ip) AS visitors\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n AND date LIKE '" . mysql_real_escape_string($thismonth) . "%'\r\n "); if ($qry_lmonth->visitors != 0) { $pc = round(100 * ($qry_tmonth->visitors / $qry_lmonth->visitors) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->visitors . $qry_tmonth->change . "</td>\n"; //TARGET $qry_tmonth->target = round($qry_tmonth->visitors / (time() - mktime(0, 0, 0, date('m'), date('1'), date('Y'))) * (86400 * date('t'))); if ($qry_lmonth->visitors != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->visitors) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; //YESTERDAY $qry_y = $wpdb->get_row("\r\n SELECT count(DISTINCT ip) AS visitors\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n AND date = '" . mysql_real_escape_string($yesterday) . "'\r\n "); print "<td>" . $qry_y->visitors . "</td>\n"; //TODAY $qry_t = $wpdb->get_row("\r\n SELECT count(DISTINCT ip) AS visitors\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n AND date = '" . mysql_real_escape_string($today) . "'\r\n "); print "<td>" . $qry_t->visitors . "</td>\n"; print "</tr>"; //############################################################################################### // PAGEVIEWS ROW print "<tr><td><div style='background:{$web_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Pageviews', 'statpress') . "</td>"; //TOTAL $qry_total = $wpdb->get_row("\r\n SELECT count(date) as pageview\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n "); print "<td>" . $qry_total->pageview . "</td>\n"; //LAST MONTH $prec = 0; $qry_lmonth = $wpdb->get_row("\r\n SELECT count(date) as pageview\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n AND date LIKE '" . mysql_real_escape_string($lastmonth) . "%'\r\n "); print "<td>" . $qry_lmonth->pageview . "</td>\n"; //THIS MONTH $qry_tmonth = $wpdb->get_row("\r\n SELECT count(date) as pageview\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n AND date LIKE '" . mysql_real_escape_string($thismonth) . "%'\r\n "); if ($qry_lmonth->pageview != 0) { $pc = round(100 * ($qry_tmonth->pageview / $qry_lmonth->pageview) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->pageview . $qry_tmonth->change . "</td>\n"; //TARGET $qry_tmonth->target = round($qry_tmonth->pageview / (time() - mktime(0, 0, 0, date('m'), date('1'), date('Y'))) * (86400 * date('t'))); if ($qry_lmonth->pageview != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->pageview) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; //YESTERDAY $qry_y = $wpdb->get_row("\r\n SELECT count(date) as pageview\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n AND date = '" . mysql_real_escape_string($yesterday) . "'\r\n "); print "<td>" . $qry_y->pageview . "</td>\n"; //TODAY $qry_t = $wpdb->get_row("\r\n SELECT count(date) as pageview\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n AND date = '" . mysql_real_escape_string($today) . "'\r\n "); print "<td>" . $qry_t->pageview . "</td>\n"; print "</tr>"; //############################################################################################### // SPIDERS ROW print "<tr><td><div style='background:{$spider_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Spiders', 'statpress') . "</td>"; //TOTAL $qry_total = $wpdb->get_row("\r\n SELECT count(date) as spiders\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider<>''\r\n "); print "<td>" . $qry_total->spiders . "</td>\n"; //LAST MONTH $prec = 0; $qry_lmonth = $wpdb->get_row("\r\n SELECT count(date) as spiders\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider<>''\r\n AND date LIKE '" . mysql_real_escape_string($lastmonth) . "%'\r\n "); print "<td>" . $qry_lmonth->spiders . "</td>\n"; //THIS MONTH $prec = $qry_lmonth->spiders; $qry_tmonth = $wpdb->get_row("\r\n SELECT count(date) as spiders\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider<>''\r\n AND date LIKE '" . mysql_real_escape_string($thismonth) . "%'\r\n "); if ($qry_lmonth->spiders != 0) { $pc = round(100 * ($qry_tmonth->spiders / $qry_lmonth->spiders) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->spiders . $qry_tmonth->change . "</td>\n"; //TARGET $qry_tmonth->target = round($qry_tmonth->spiders / (time() - mktime(0, 0, 0, date('m'), date('1'), date('Y'))) * (86400 * date('t'))); if ($qry_lmonth->spiders != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->spiders) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; //YESTERDAY $qry_y = $wpdb->get_row("\r\n SELECT count(date) as spiders\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider<>''\r\n AND date = '" . mysql_real_escape_string($yesterday) . "'\r\n "); print "<td>" . $qry_y->spiders . "</td>\n"; //TODAY $qry_t = $wpdb->get_row("\r\n SELECT count(date) as spiders\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider<>''\r\n AND date = '" . mysql_real_escape_string($today) . "'\r\n "); print "<td>" . $qry_t->spiders . "</td>\n"; print "</tr>"; //############################################################################################### // FEEDS ROW print "<tr><td><div style='background:{$rss_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Feeds', 'statpress') . "</td>"; //TOTAL $qry_total = $wpdb->get_row("\r\n SELECT count(date) as feeds\r\n FROM {$table_name}\r\n WHERE feed<>''\r\n AND spider=''\r\n "); print "<td>" . $qry_total->feeds . "</td>\n"; //LAST MONTH $qry_lmonth = $wpdb->get_row("\r\n SELECT count(date) as feeds\r\n FROM {$table_name}\r\n WHERE feed<>''\r\n AND spider=''\r\n AND date LIKE '" . mysql_real_escape_string($lastmonth) . "%'\r\n "); print "<td>" . $qry_lmonth->feeds . "</td>\n"; //THIS MONTH $qry_tmonth = $wpdb->get_row("\r\n SELECT count(date) as feeds\r\n FROM {$table_name}\r\n WHERE feed<>''\r\n AND spider=''\r\n AND date LIKE '" . mysql_real_escape_string($thismonth) . "%'\r\n "); if ($qry_lmonth->feeds != 0) { $pc = round(100 * ($qry_tmonth->feeds / $qry_lmonth->feeds) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->feeds . $qry_tmonth->change . "</td>\n"; //TARGET $qry_tmonth->target = round($qry_tmonth->feeds / (time() - mktime(0, 0, 0, date('m'), date('1'), date('Y'))) * (86400 * date('t'))); if ($qry_lmonth->feeds != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->feeds) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; $qry_y = $wpdb->get_row("\r\n SELECT count(date) as feeds\r\n FROM {$table_name}\r\n WHERE feed<>''\r\n AND spider=''\r\n AND date = '" . mysql_real_escape_string($yesterday) . "'\r\n "); print "<td>" . $qry_y->feeds . "</td>\n"; $qry_t = $wpdb->get_row("\r\n SELECT count(date) as feeds\r\n FROM {$table_name}\r\n WHERE feed<>''\r\n AND spider=''\r\n AND date = '" . mysql_real_escape_string($today) . "'\r\n "); print "<td>" . $qry_t->feeds . "</td>\n"; print "</tr></table><br />\n\n"; //############################################################################################### //############################################################################################### // THE GRAPHS // last "N" days graph NEW $gdays = get_option('statpress_daysinoverviewgraph'); if ($gdays == 0) { $gdays = 20; } // $start_of_week = get_settings('start_of_week'); $start_of_week = get_option('start_of_week'); print '<table width="100%" border="0"><tr>'; $qry = $wpdb->get_row("\r\n SELECT count(date) as pageview, date\r\n FROM {$table_name}\r\n GROUP BY date HAVING date >= '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gdays) . "'\r\n ORDER BY pageview DESC\r\n LIMIT 1\r\n "); $maxxday = $qry->pageview; if ($maxxday == 0) { $maxxday = 1; } // Y $gd = 90 / $gdays . '%'; for ($gg = $gdays - 1; $gg >= 0; $gg--) { //TOTAL VISITORS $qry_visitors = $wpdb->get_row("\r\n SELECT count(DISTINCT ip) AS total\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n AND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\r\n "); $px_visitors = round($qry_visitors->total * 100 / $maxxday); //TOTAL PAGEVIEWS (we do not delete the uniques, this is falsing the info.. uniques are not different visitors!) $qry_pageviews = $wpdb->get_row("\r\n SELECT count(date) as total\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider=''\r\n AND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\r\n "); $px_pageviews = round($qry_pageviews->total * 100 / $maxxday); //TOTAL SPIDERS $qry_spiders = $wpdb->get_row("\r\n SELECT count(ip) AS total\r\n FROM {$table_name}\r\n WHERE feed=''\r\n AND spider<>''\r\n AND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\r\n "); $px_spiders = round($qry_spiders->total * 100 / $maxxday); //TOTAL FEEDS $qry_feeds = $wpdb->get_row("\r\n SELECT count(ip) AS total\r\n FROM {$table_name}\r\n WHERE feed<>''\r\n AND spider=''\r\n AND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\r\n "); $px_feeds = round($qry_feeds->total * 100 / $maxxday); $px_white = 100 - $px_feeds - $px_spiders - $px_pageviews - $px_visitors; print '<td width="' . $gd . '" valign="bottom"'; if ($start_of_week == gmdate('w', current_time('timestamp') - 86400 * $gg)) { print ' style="border-left:2px dotted gray;"'; } // week-cut print "><div style='float:left;height: 100%;width:100%;font-family:Helvetica;font-size:7pt;text-align:center;border-right:1px solid white;color:black;'>\r\n <div style='background:#ffffff;width:100%;height:" . $px_white . "px;'></div>\r\n <div style='background:{$unique_color};width:100%;height:" . $px_visitors . "px;' title='" . $qry_visitors->total . " " . __('visitors', 'statpress') . "'></div>\r\n <div style='background:{$web_color};width:100%;height:" . $px_pageviews . "px;' title='" . $qry_pageviews->total . " " . __('pageviews', 'statpress') . "'></div>\r\n <div style='background:{$spider_color};width:100%;height:" . $px_spiders . "px;' title='" . $qry_spiders->total . " " . __('spiders', 'statpress') . "'></div>\r\n <div style='background:{$rss_color};width:100%;height:" . $px_feeds . "px;' title='" . $qry_feeds->total . " " . __('feeds', 'statpress') . "'></div>\r\n <div style='background:gray;width:100%;height:1px;'></div>\r\n <br />" . gmdate('d', current_time('timestamp') - 86400 * $gg) . ' ' . gmdate('M', current_time('timestamp') - 86400 * $gg) . "</div></td>\n"; } print '</tr></table>'; print '</div>'; // END OF OVERVIEW //################################################################################################### $querylimit = "LIMIT 20"; // Tabella Last hits print "<div class='wrap'><h2>" . __('Last hits', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('IP', 'statpress') . "</th><th scope='col'>" . __('Threat', 'statpress') . "</th><th scope='col'>" . __('Domain', 'statpress') . "</th><th scope='col'>" . __('Page', 'statpress') . "</th><th scope='col'>" . __('OS', 'statpress') . "</th><th scope='col'>" . __('Browser', 'statpress') . "</th><th scope='col'>" . __('Feed', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $fivesdrafts = $wpdb->get_results("SELECT * FROM {$table_name} WHERE (os<>'' OR feed<>'') order by id DESC {$querylimit}"); foreach ($fivesdrafts as $fivesdraft) { print "<tr>"; print "<td>" . irihdate($fivesdraft->date) . "</td>"; print "<td>" . $fivesdraft->time . "</td>"; print "<td>" . $fivesdraft->ip . "</td>"; print "<td>" . $fivesdraft->threat_score; if ($fivesdraft->threat_score > 0) { print "/"; if ($fivesdraft->threat_type == 0) { print "Sp"; } else { if (($fivesdraft->threat_type & 1) == 1) { print "S"; } // Suspicious if (($fivesdraft->threat_type & 2) == 2) { print "H"; } // Harvester if (($fivesdraft->threat_type & 4) == 4) { print "C"; } // Comment spammer } } print "<td>" . $fivesdraft->nation . "</td>"; print "<td>" . iri_StatPress_Abbrevia(iri_StatPress_Decode($fivesdraft->urlrequested), 30) . "</td>"; print "<td>" . $fivesdraft->os . "</td>"; print "<td>" . $fivesdraft->browser . "</td>"; print "<td>" . $fivesdraft->feed . "</td>"; print "</tr>"; } print "</table></div>"; // Last Search terms print "<div class='wrap'><h2>" . __('Last search terms', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('Terms', 'statpress') . "</th><th scope='col'>" . __('Engine', 'statpress') . "</th><th scope='col'>" . __('Result', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,referrer,urlrequested,search,searchengine FROM {$table_name} WHERE search<>'' ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td><a href='" . $rk->referrer . "'>" . $rk->search . "</a></td><td>" . $rk->searchengine . "</td><td><a href='" . irigetblogurl() . (strpos($rk->urlrequested, 'index.php') === FALSE ? $rk->urlrequested : '') . "'>" . __('page viewed', 'statpress') . "</a></td></tr>\n"; } print "</table></div>"; // Referrer print "<div class='wrap'><h2>" . __('Last referrers', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('URL', 'statpress') . "</th><th scope='col'>" . __('Result', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,referrer,urlrequested FROM {$table_name} WHERE ((referrer NOT LIKE '" . get_option('home') . "%') AND (referrer <>'') AND (searchengine='')) ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td><a href='" . $rk->referrer . "'>" . iri_StatPress_Abbrevia($rk->referrer, 80) . "</a></td><td><a href='" . irigetblogurl() . (strpos($rk->urlrequested, 'index.php') === FALSE ? $rk->urlrequested : '') . "'>" . __('page viewed', 'statpress') . "</a></td></tr>\n"; } print "</table></div>"; // Last Agents print "<div class='wrap'><h2>" . __('Last agents', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('Agent', 'statpress') . "</th><th scope='col'>" . __('What', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,agent,os,browser,spider FROM {$table_name} WHERE (agent <>'') ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td>" . $rk->agent . "</td><td> " . $rk->os . " " . $rk->browser . " " . $rk->spider . "</td></tr>\n"; } print "</table></div>"; // Last pages print "<div class='wrap'><h2>" . __('Last pages', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('Page', 'statpress') . "</th><th scope='col'>" . __('What', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,urlrequested,os,browser,spider FROM {$table_name} WHERE (spider='' AND feed='') ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td>" . iri_StatPress_Abbrevia(iri_StatPress_Decode($rk->urlrequested), 60) . "</td><td> " . $rk->os . " " . $rk->browser . " " . $rk->spider . "</td></tr>\n"; } print "</table></div>"; // Last Spiders print "<div class='wrap'><h2>" . __('Last spiders', 'statpress') . "</h2>"; print "<table class='widefat'><thead><tr>"; print "<th scope='col'>" . __('Date', 'statpress') . "</th>"; print "<th scope='col'>" . __('Time', 'statpress') . "</th>"; print "<th scope='col'>" . __('Spider', 'statpress') . "</th>"; print "<th scope='col'>" . __('Page', 'statpress') . "</th>"; print "<th scope='col'>" . __('Agent', 'statpress') . "</th>"; print "</tr></thead><tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,agent,spider,urlrequested,agent FROM {$table_name} WHERE (spider<>'') ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td>"; print "<td>" . $rk->time . "</td>"; print "<td>" . $rk->spider . "</td>"; print "<td>" . iri_StatPress_Abbrevia(iri_StatPress_Decode($rk->urlrequested), 30) . "</td>"; print "<td> " . $rk->agent . "</td></tr>\n"; } print "</table></div>"; print "<br />"; print " <i>" . __('StatPress table size', 'statpress') . ": <b>" . iritablesize($wpdb->prefix . "statpress") . "</b></i><br />"; print " <i>" . __('StatPress current time', 'statpress') . ": <b>" . current_time('mysql') . "</b></i><br />"; print " <i>" . __('RSS2 url', 'statpress') . ": <b>" . get_bloginfo('rss2_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('rss2_url')) . ")</b></i><br />"; print " <i>" . __('ATOM url', 'statpress') . ": <b>" . get_bloginfo('atom_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('atom_url')) . ")</b></i><br />"; print " <i>" . __('RSS url', 'statpress') . ": <b>" . get_bloginfo('rss_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('rss_url')) . ")</b></i><br />"; print " <i>" . __('COMMENT RSS2 url', 'statpress') . ": <b>" . get_bloginfo('comments_rss2_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('comments_rss2_url')) . ")</b></i><br />"; print " <i>" . __('COMMENT ATOM url', 'statpress') . ": <b>" . get_bloginfo('comments_atom_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('comments_atom_url')) . ")</b></i><br />"; }
function iriStatPressMain() { global $wpdb; $table_name = $wpdb->prefix . "statpress"; # Tabella OVERVIEW $unique_color = "#114477"; $web_color = "#3377B6"; $rss_color = "#f38f36"; $spider_color = "#83b4d8"; $lastmonth = iri_StatPress_lastmonth(); $thismonth = gmdate('Ym', current_time('timestamp')); $lastyear = gmdate('Y', gmmktime(0, 0, 0, gmdate('m'), gmdate('d'), gmdate('y') - 1)); $thisyear = gmdate('Y', current_time('timestamp')); $yesterday = gmdate('Ymd', current_time('timestamp') - 86400); $today = gmdate('Ymd', current_time('timestamp')); $tlm[0] = substr($lastmonth, 0, 4); $tlm[1] = substr($lastmonth, 4, 2); $normallimit = " and (statuscode!='404' or statuscode is null)"; $lastyearvisitors = get_option("statpress_archive_lastyear_visitors"); $lastmonthvisitors = get_option("statpress_archive_lastmonth_visitors"); print "<div class='wrap'><h2>" . __('Overview', 'statpresscn') . "</h2>"; print "<table class='widefat'><thead><tr>\r\n<th scope='col'></th>\r\n<th scope='col'>" . __('Total', 'statpresscn') . "</th>"; if ($lastyearvisitors != 0) { print "<th scope='col'>" . __('Last year', 'statpresscn') . "<br /><font size=1>" . $lastyear . "</font></th>"; } print "<th scope='col'>" . __('This year', 'statpresscn') . "<br /><font size=1>" . $thisyear . "</font></th>"; print "<th scope='col'>" . __('Target This year', 'statpresscn') . "<br /><font size=1>" . $thisyear . "</font></th>"; if ($lastmonthvisitors != 0) { print "<th scope='col'>" . __('Last month', 'statpresscn') . "<br /><font size=1>" . gmdate('M, Y', gmmktime(0, 0, 0, $tlm[1], 1, $tlm[0])) . "</font></th>"; } print "<th scope='col'>" . __('This month', 'statpresscn') . "<br /><font size=1>" . gmdate('M, Y', current_time('timestamp')) . "</font></th>\r\n<th scope='col'>" . __('Target This month', 'statpresscn') . "<br /><font size=1>" . gmdate('M, Y', current_time('timestamp')) . "</font></th>\r\n<th scope='col'>" . __('Yesterday', 'statpresscn') . "<br /><font size=1>" . gmdate('d M, Y', current_time('timestamp') - 86400) . "</font></th>\r\n<th scope='col'>" . __('Today', 'statpresscn') . "<br /><font size=1>" . gmdate('d M, Y', current_time('timestamp')) . "</font></th>\r\n</tr></thead>\r\n<tbody id='the-list'>"; ################################################################################################ # VISITORS ROW print "<tr><td><div style='background:{$unique_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Visitors', 'statpresscn') . "</td>"; #TOTAL $totalvisitors = $wpdb->get_var("\r\nSELECT count(DISTINCT ip)\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider=''{$normallimit}\r\n "); print "<td>" . $totalvisitors . "</td>\n"; #LAST YEAR if ($lastyearvisitors != 0) { print "<td>" . $lastyearvisitors . "</td>\n"; } #THIS YEAR $qry_thisyear = $wpdb->get_row("\r\nSELECT count(DISTINCT ip) AS visitors\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider=''\r\nAND date LIKE '" . $thisyear . "%'{$normallimit}\r\n "); if ($lastyearvisitors != 0) { $pc = round(100 * ($qry_thisyear->visitors / $lastyearvisitors) - 100); if ($pc >= 0) { $pc = "+" . $pc; } $qry_thisyear->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_thisyear->visitors . $qry_thisyear->change . "</td>\n"; #TARGET THIS YEAR $datearray1 = getdate(); $tmpdatestr = get_option("statpress_date_first_sets"); $tmpdatestr1 = substr($tmpdatestr, 0, 4) . '-' . substr($tmpdatestr, 4, 2) . '-' . substr($tmpdatestr, -2); // print $tmpdatestr1; $datearray2 = getdate(strtotime($tmpdatestr1)); // print " ".$datearray1['yday']."--".$datearray2['yday']; $diffdayofyear = $datearray1['year'] == $datearray2['year'] ? $datearray2['yday'] : 0; $diffdayofmonth = $datearray1['year'] == $datearray2['year'] && $datearray1['month'] == $datearray2['month'] ? $datearray2['mday'] : 0; $lastyeardays = $datearray1['year'] - $datearray2['year'] > 1 ? 365 : 365 - $datearray2['yday']; // print "|||".$lastyeardays; $qry_thisyear->target = round($qry_thisyear->visitors / ($datearray1['yday'] + 1 - $diffdayofyear) * 365); if ($lastyearvisitors != 0) { $pt = round(100 * ($qry_thisyear->target / ($lastyearvisitors * (365 / $lastyeardays))) - 100); if ($pt >= 0) { $pt = "+" . $pt; } $qry_thisyear->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_thisyear->target . $qry_thisyear->added . "</td>\n"; #LAST MONTH if ($lastmonthvisitors != 0) { print "<td>" . $lastmonthvisitors . "</td>\n"; } #THIS MONTH $qry_tmonth = $wpdb->get_row("\r\nSELECT count(DISTINCT ip) AS visitors\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider=''\r\nAND date LIKE '" . $thismonth . "%'{$normallimit}\r\n "); if ($lastmonthvisitors != 0) { $pc = round(100 * ($qry_tmonth->visitors / $lastmonthvisitors) - 100); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->visitors . $qry_tmonth->change . "</td>\n"; #TARGET THIS MONTH $qry_tmonth->target = round($qry_tmonth->visitors / ($datearray1['mday'] - $diffdayofmonth) * 30); if ($lastmonthvisitors != 0) { $pt = round(100 * ($qry_tmonth->target / $lastmonthvisitors) - 100); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; #YESTERDAY print "<td>" . get_option("statpress_archive_yesterday_visitors") . "</td>\n"; #TODAY $qry_t = $wpdb->get_row("\r\nSELECT count(DISTINCT ip) AS visitors\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider=''\r\nAND date = '{$today}'{$normallimit}\r\n "); print "<td>" . $qry_t->visitors . "</td>\n"; print "</tr>"; ################################################################################################ # PAGEVIEWS ROW print "<tr><td><div style='background:{$web_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Pageviews', 'statpresscn') . "</td>"; #TOTAL $totalpageviews = $wpdb->get_var("\r\nSELECT count(date) as pageview\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider=''{$normallimit}\r\n "); print "<td>" . $totalpageviews . "</td>\n"; #LAST YEAR $lastyearpageviews = get_option("statpress_archive_lastyear_pageviews"); if ($lastyearvisitors != 0) { print "<td>" . $lastyearpageviews . "</td>\n"; } #THIS YEAR $qry_thisyear = $wpdb->get_row("\r\nSELECT count(date) as pageview\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider=''\r\nAND date LIKE '" . $thisyear . "%'{$normallimit}\r\n "); if ($lastyearpageviews != 0) { $pc = round(100 * ($qry_thisyear->pageview / $lastyearpageviews) - 100); if ($pc >= 0) { $pc = "+" . $pc; } $qry_thisyear->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_thisyear->pageview . $qry_thisyear->change . "</td>\n"; #TARGET THIS YEAR $qry_thisyear->target = round($qry_thisyear->pageview / ($datearray1['yday'] + 1 - $diffdayofyear) * 365); if ($lastyearpageviews != 0) { $pt = round(100 * ($qry_thisyear->target / ($lastyearpageviews * (365 / $lastyeardays))) - 100); if ($pt >= 0) { $pt = "+" . $pt; } $qry_thisyear->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_thisyear->target . $qry_thisyear->added . "</td>\n"; #LAST MONTH $lastmonthpageviews = get_option("statpress_archive_lastmonth_pageviews"); if ($lastmonthvisitors != 0) { print "<td>" . $lastmonthpageviews . "</td>\n"; } #THIS MONTH $qry_tmonth = $wpdb->get_row("\r\nSELECT count(date) as pageview\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider=''\r\nAND date LIKE '" . $thismonth . "%'{$normallimit}\r\n "); if ($lastmonthpageviews != 0) { $pc = round(100 * ($qry_tmonth->pageview / $lastmonthpageviews) - 100); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->pageview . $qry_tmonth->change . "</td>\n"; #TARGET THIS MONTH $qry_tmonth->target = round($qry_tmonth->pageview / ($datearray1['mday'] - $diffdayofmonth) * 30); if ($lastmonthpageviews != 0) { $pt = round(100 * ($qry_tmonth->target / $lastmonthpageviews) - 100); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; #YESTERDAY print "<td>" . get_option("statpress_archive_yesterday_pageviews") . "</td>\n"; #TODAY $qry_t = $wpdb->get_row("\r\nSELECT count(date) as pageview\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider=''\r\nAND date = '{$today}'{$normallimit}\r\n "); print "<td>" . $qry_t->pageview . "</td>\n"; print "</tr>"; ################################################################################################ # SPIDERS ROW print "<tr><td><div style='background:{$spider_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Spiders', 'statpresscn') . "</td>"; #TOTAL $totalspiders = $wpdb->get_var("\r\nSELECT count(date) as spiders\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider!=''{$normallimit}\r\n "); print "<td>" . $totalspiders . "</td>\n"; #LAST YEAR $lastyearspiders = get_option("statpress_archive_lastyear_spiders"); if ($lastyearvisitors != 0) { print "<td>" . $lastyearspiders . "</td>\n"; } #THIS YEAR $prec = $qry_lastyear->spiders; $qry_thisyear = $wpdb->get_row("\r\nSELECT count(date) as spiders\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider!=''\r\nAND date LIKE '" . $thisyear . "%'{$normallimit}\r\n "); if ($lastyearspiders != 0) { $pc = round(100 * ($qry_thisyear->spiders / $lastyearspiders) - 100); if ($pc >= 0) { $pc = "+" . $pc; } $qry_thisyear->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_thisyear->spiders . $qry_thisyear->change . "</td>\n"; #TARGET THIS YEAR $qry_thisyear->target = round($qry_thisyear->spiders / ($datearray1['yday'] + 1 - $diffdayofyear) * 365); if ($lastyearspiders != 0) { $pt = round(100 * ($qry_thisyear->target / ($lastyearspiders * (365 / $lastyeardays))) - 100); if ($pt >= 0) { $pt = "+" . $pt; } $qry_thisyear->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_thisyear->target . $qry_thisyear->added . "</td>\n"; #LAST MONTH $lastmonthspiders = get_option("statpress_archive_lastmonth_spiders"); if ($lastmonthvisitors != 0) { print "<td>" . $lastmonthspiders . "</td>\n"; } #THIS MONTH $prec = $qry_lmonth->spiders; $qry_tmonth = $wpdb->get_row("\r\nSELECT count(date) as spiders\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider!=''\r\nAND date LIKE '" . $thismonth . "%'{$normallimit}\r\n "); if ($lastmonthspiders != 0) { $pc = round(100 * ($qry_tmonth->spiders / $lastmonthspiders) - 100); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->spiders . $qry_tmonth->change . "</td>\n"; #TARGET THIS MONTH $qry_tmonth->target = round($qry_tmonth->spiders / ($datearray1['mday'] - $diffdayofmonth) * 30); if ($lastmonthspiders != 0) { $pt = round(100 * ($qry_tmonth->target / $lastmonthspiders) - 100); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; #YESTERDAY print "<td>" . get_option("statpress_archive_yesterday_spiders") . "</td>\n"; #TODAY $qry_t = $wpdb->get_row("\r\nSELECT count(date) as spiders\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider!=''\r\nAND date = '{$today}'{$normallimit}\r\n "); print "<td>" . $qry_t->spiders . "</td>\n"; print "</tr>"; ################################################################################################ # FEEDS ROW print "<tr><td><div style='background:{$rss_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Feeds', 'statpresscn') . "</td>"; #TOTAL $totalfeeds = $wpdb->get_var("\r\nSELECT count(date) as feeds\r\nFROM {$table_name}\r\nWHERE feed!=''{$normallimit}\r\n "); print "<td>" . $totalfeeds . "</td>\n"; #LAST YEAR $lastyearfeeds = get_option("statpress_archive_lastyear_feeds"); if ($lastyearvisitors != 0) { print "<td>" . $lastyearfeeds . "</td>\n"; } #THIS YEAR $qry_thisyear = $wpdb->get_row("\r\nSELECT count(date) as feeds\r\nFROM {$table_name}\r\nWHERE feed!=''\r\nAND date LIKE '" . $thisyear . "%'{$normallimit}\r\n "); if ($lastyearfeeds != 0) { $pc = round(100 * ($qry_thisyear->feeds / $lastyearfeeds) - 100); if ($pc >= 0) { $pc = "+" . $pc; } $qry_thisyear->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_thisyear->feeds . $qry_thisyear->change . "</td>\n"; #TARGET THIS YEAR $qry_thisyear->target = round($qry_thisyear->feeds / ($datearray1['yday'] + 1 - $diffdayofyear) * 365); if ($lastyearfeeds != 0) { $pt = round(100 * ($qry_thisyear->target / ($lastyearfeeds * (365 / $lastyeardays))) - 100); if ($pt >= 0) { $pt = "+" . $pt; } $qry_thisyear->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_thisyear->target . $qry_thisyear->added . "</td>\n"; #LAST MONTH $lastmonthfeeds = get_option("statpress_archive_lastmonth_feeds"); if ($lastmonthvisitors != 0) { print "<td>" . $lastmonthfeeds . "</td>\n"; } #THIS MONTH $qry_tmonth = $wpdb->get_row("\r\nSELECT count(date) as feeds\r\nFROM {$table_name}\r\nWHERE feed!=''\r\nAND date LIKE '" . $thismonth . "%'{$normallimit}\r\n "); if ($lastmonthfeeds != 0) { $pc = round(100 * ($qry_tmonth->feeds / $lastmonthfeeds) - 100); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->feeds . $qry_tmonth->change . "</td>\n"; #TARGET THIS MONTH $qry_tmonth->target = round($qry_tmonth->feeds / ($datearray1['mday'] - $diffdayofmonth) * 30); if ($lastmonthfeeds != 0) { $pt = round(100 * ($qry_tmonth->target / $lastmonthfeeds) - 100); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; #YESTERDAY print "<td>" . get_option("statpress_archive_yesterday_feeds") . "</td>\n"; $qry_t = $wpdb->get_row("\r\nSELECT count(date) as feeds\r\nFROM {$table_name}\r\nWHERE feed!=''\r\nAND date = '{$today}'{$normallimit}\r\n "); print "<td>" . $qry_t->feeds . "</td>\n"; print "</tr></table><br />\n\n"; ################################################################################################ ################################################################################################ # THE GRAPHS # last "N" days graph NEW $gdays = get_option('statpress_daysinoverviewgraph'); if ($gdays == 0) { $gdays = 20; } // $start_of_week = get_settings('start_of_week'); $start_of_week = get_option('start_of_week'); print '<table width="100%" border="0"><tr>'; $qry = $wpdb->get_row("\r\nSELECT count(date) as pageview, date\r\nFROM {$table_name}\r\nGROUP BY date HAVING date >= '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gdays) . "'\r\nORDER BY pageview DESC\r\nLIMIT 1\r\n"); $maxxday = $qry->pageview; if ($maxxday == 0) { $maxxday = 1; } # Y $gd = 90 / $gdays . '%'; for ($gg = $gdays - 1; $gg >= 0; $gg--) { #TOTAL VISITORS $qry_visitors = $wpdb->get_row("\r\nSELECT count(DISTINCT ip) AS total\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider=''\r\nAND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\r\n" . $normallimit); $px_visitors = round($qry_visitors->total * 100 / $maxxday); #TOTAL PAGEVIEWS (we do not delete the uniques, this is falsing the info.. uniques are not different visitors!) $qry_pageviews = $wpdb->get_row("\r\nSELECT count(date) as total\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider=''\r\nAND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\r\n" . $normallimit); $px_pageviews = round($qry_pageviews->total * 100 / $maxxday); #TOTAL SPIDERS $qry_spiders = $wpdb->get_row("\r\nSELECT count(ip) AS total\r\nFROM {$table_name}\r\nWHERE feed=''\r\nAND spider!=''\r\nAND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\r\n"); $px_spiders = round($qry_spiders->total * 100 / $maxxday); #TOTAL FEEDS $qry_feeds = $wpdb->get_row("\r\nSELECT count(ip) AS total\r\nFROM {$table_name}\r\nWHERE feed!=''\r\nAND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\r\n"); $px_feeds = round($qry_feeds->total * 100 / $maxxday); $px_white = 100 - $px_feeds - $px_spiders - $px_pageviews - $px_visitors; print '<td width="' . $gd . '" valign="bottom"'; if ($start_of_week == gmdate('w', current_time('timestamp') - 86400 * $gg)) { print ' style="border-left:2px dotted gray;"'; } # week-cut print "><div style='float:left;height: 100%;width:100%;font-family:Helvetica;font-size:7pt;text-align:center;border-right:1px solid white;color:black;'>\r\n<div style='background:#ffffff;width:100%;height:" . $px_white . "px;'></div>\r\n<div style='background:{$unique_color};width:100%;height:" . $px_visitors . "px;' title='" . $qry_visitors->total . " visitors'></div>\r\n<div style='background:{$web_color};width:100%;height:" . $px_pageviews . "px;' title='" . $qry_pageviews->total . " pageviews'></div>\r\n<div style='background:{$spider_color};width:100%;height:" . $px_spiders . "px;' title='" . $qry_spiders->total . " spiders'></div>\r\n<div style='background:{$rss_color};width:100%;height:" . $px_feeds . "px;' title='" . $qry_feeds->total . " feeds'></div>\r\n<div style='background:gray;width:100%;height:1px;'></div>\r\n<br />" . gmdate('d', current_time('timestamp') - 86400 * $gg) . ' ' . gmdate('M', current_time('timestamp') - 86400 * $gg) . "</div></td>\n"; } print '</tr></table>'; print '</div>'; # END OF OVERVIEW #################################################################################################### function heart5_short_date($datestr) { return substr($datestr, 4, 2) . "-" . substr($datestr, 6, 2); } $querylimit = "LIMIT 15"; # Tabella Last hits print "<div class='wrap'><h2>" . __('Last hits', 'statpresscn') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Time', 'statpresscn') . "</th><th scope='col'>" . __("IP|Visitor", "statpresscn") . "</th><th scope='col'>" . __('From', 'statpresscn') . "</th><th scope='col'>" . __('Page', 'statpresscn') . "</th><th scope='col'>" . __('OS', 'statpresscn') . "</th><th scope='col'>" . __('Browser', 'statpresscn') . "</th></tr></thead>"; print "<tbody id='the-list'>"; #通过os和feed字段判断是否显示最后浏览信息,。os<>'' OR feed<>'' if (strlen(get_option('statpress_ipsearchtools')) == 0) { update_option('statpress_ipsearchtools', 'http://en.utrace.de/?query='); } $ipsearchtools = get_option('statpress_ipsearchtools'); $fivesdrafts = $wpdb->get_results("SELECT * FROM {$table_name} WHERE (feed=''){$normallimit} order by id DESC {$querylimit}"); foreach ($fivesdrafts as $fivesdraft) { print "<tr>"; // print "<td>". irihdate($fivesdraft->date) ."</td>"; print "<td>" . heart5_short_date($fivesdraft->date) . " " . $fivesdraft->time . "</td>"; if (strlen($fivesdraft->user) > 0) { print "<td>" . $fivesdraft->user . "</td>"; } else { print "<td><a href=" . $ipsearchtools . $fivesdraft->ip . " target=_heart5>" . $fivesdraft->ip . "</a></td>"; } print "<td>" . $fivesdraft->nation . "</td>"; print "<td><a href=" . heart5_config_url($fivesdraft->urlrequested) . " target='statpresscn'>" . iri_StatPress_Abbrevia(urldecode(iri_StatPress_Decode($fivesdraft->urlrequested)), 35) . "</a></td>"; print "<td>" . $fivesdraft->os . "</td>"; print "<td>" . $fivesdraft->browser . "</td>"; print "</tr>"; } print "</table></div>"; # Last Search terms print "<div class='wrap'><h2>" . __('Last search terms', 'statpresscn') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Time', 'statpresscn') . "</th><th scope='col'>" . __("IP|Visitor", "statpresscn") . "</th><th scope='col'>" . __('Terms', 'statpresscn') . "</th><th scope='col'>" . __('Engine', 'statpresscn') . "</th><th scope='col'>" . __('Result', 'statpresscn') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,ip,referrer,urlrequested,search,searchengine,user FROM {$table_name} WHERE search!=''{$normallimit} ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . heart5_short_date($rk->date) . " " . $rk->time . "</td>"; if (strlen($rk->user) > 0) { print "<td>" . $rk->user . "</td>"; } else { print "<td><a href=" . $ipsearchtools . $rk->ip . " target=_heart5>" . $rk->ip . "</a></td>"; } print "<td><a href='" . $rk->referrer . "' target=_statpresscn>" . $rk->search . "</a></td><td>" . $rk->searchengine . "</td><td><a href='" . heart5_config_url($rk->urlrequested) . "' target=_statpresscn>" . __('page viewed', 'statpresscn') . "</a></td></tr>\n"; } print "</table></div>"; # Referrer print "<div class='wrap'><h2>" . __('Last referrers', 'statpresscn') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Time', 'statpresscn') . "</th><th scope='col'>" . __("IP|Visitor", "statpresscn") . "</th><th scope='col'>" . __('URL', 'statpresscn') . "</th><th scope='col'>" . __('Result', 'statpresscn') . "</th></tr></thead>"; print "<tbody id='the-list'>"; #增加对feed的判断,应该为空 $qry = $wpdb->get_results("SELECT date,time,ip,referrer,urlrequested,user FROM {$table_name} WHERE ((referrer NOT LIKE '" . get_option('home') . "%') AND (referrer !='') AND (searchengine='') AND (feed='')){$normallimit} ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . heart5_short_date($rk->date) . " " . $rk->time . "</td>"; if (strlen($rk->user) > 0) { print "<td>" . $rk->user . "</td>"; } else { print "<td><a href=" . $ipsearchtools . $rk->ip . " target=_heart5>" . $rk->ip . "</a></td>"; } print "<td><a href='" . $rk->referrer . "' target=_statpresscn>" . iri_StatPress_Abbrevia($rk->referrer, 50) . "</a></td><td><a href='" . heart5_config_url($rk->urlrequested) . "' target=_statpresscn>" . __('page viewed', 'statpresscn') . "</a></td></tr>\n"; } print "</table></div>"; # Last feed print "<div class='wrap'><h2>" . __('Last feed', 'statpresscn') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Time', 'statpresscn') . "</th><th scope='col'>" . __('IP|Visitor', 'statpresscn') . "</th><th scope='col'>" . __('OS', 'statpresscn') . "</th><th scope='col'>" . __('Browser', 'statpresscn') . "</th><th scope='col'>" . __('page viewed', 'statpresscn') . "</th><th scope='col'>" . __('Feeds', 'statpresscn') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT * FROM {$table_name} WHERE (feed!='' and spider ='' and os !='' and browser!='') ORDER BY id DESC {$querylimit}"); $qry = $wpdb->get_results("SELECT * FROM {$table_name} WHERE feed!='' ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . heart5_short_date($rk->date) . " " . $rk->time . "</td>"; if (strlen($rk->user) > 0) { print "<td>" . $rk->user . "</td>"; } else { print "<td><a href=" . $ipsearchtools . $rk->ip . " target=_heart5>" . $rk->ip . "</a></td>"; } print "<td>" . $rk->os . "</td><td>" . $rk->browser . "</td><td>" . $rk->urlrequested . "</td><td> " . $rk->feed . "</td></tr>\n"; } print "</table></div>"; # Last Agents print "<div class='wrap'><h2>" . __('Last agents', 'statpresscn') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Time', 'statpresscn') . "</th><th scope='col'>" . __('IP|Visitor', 'statpresscn') . "</th><th scope='col'>" . __('From', 'statpresscn') . "</th><th scope='col'>" . __('Agent', 'statpresscn') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,ip,nation,agent,os,browser,spider,user FROM {$table_name} WHERE (agent !='' and feed='') ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . heart5_short_date($rk->date) . " " . $rk->time . "</td>"; if (strlen($rk->user) > 0) { print "<td>" . $rk->user . "</td>"; } else { print "<td><a href=" . $ipsearchtools . $rk->ip . " target=_heart5>" . $rk->ip . "</a></td>"; } print "<td>" . $rk->nation . "</td><td>" . $rk->agent . "</td></tr>\n"; } print "</table></div>"; heart5_print_spc_footer(); }
function iriStatPressMain() { global $wpdb; $table_name = $wpdb->prefix . "statpress"; // OVERVIEW table $unique_color = "#114477"; $web_color = "#3377B6"; $rss_color = "#f38f36"; $spider_color = "#83b4d8"; $lastmonth = iri_StatPress_lastmonth(); $thismonth = gmdate('Ym', current_time('timestamp')); $yesterday = gmdate('Ymd', current_time('timestamp') - 86400); $today = gmdate('Ymd', current_time('timestamp')); $tlm[0] = my_substr($lastmonth, 0, 4); $tlm[1] = my_substr($lastmonth, 4, 2); print "<div class='wrap'><h2>" . __('Overview', 'statpress') . "</h2>"; print "<table class='widefat'><thead><tr>\n\t<th scope='col'></th>\n\t<th scope='col'>" . __('Total', 'statpress') . "</th>\n\t<th scope='col'>" . __('Last month', 'statpress') . "<br /><font size=1>" . gmdate('M, Y', gmmktime(0, 0, 0, $tlm[1], 1, $tlm[0])) . "</font></th>\n\t<th scope='col'>" . __('This month', 'statpress') . "<br /><font size=1>" . gmdate('M, Y', current_time('timestamp')) . "</font></th>\n\t<th scope='col'>" . __('Target This month', 'statpress') . "<br /><font size=1>" . gmdate('M, Y', current_time('timestamp')) . "</font></th>\n\t<th scope='col'>" . __('Yesterday', 'statpress') . "<br /><font size=1>" . gmdate('d M, Y', current_time('timestamp') - 86400) . "</font></th>\n\t<th scope='col'>" . __('Today', 'statpress') . "<br /><font size=1>" . gmdate('d M, Y', current_time('timestamp')) . "</font></th>\n\t</tr></thead>\n\t<tbody id='the-list'>"; //############################################################################################### // VISITORS ROW print "<tr><td><div style='background:{$unique_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Visitors', 'statpress') . "</td>"; //TOTAL $qry_total = $wpdb->get_row("SELECT count(DISTINCT ip) AS visitors\n FROM {$table_name}\n WHERE feed='' AND spider='' AND ip IS NOT NULL "); print "<td>" . $qry_total->visitors . "</td>\n"; //LAST MONTH $qry_lmonth = $wpdb->get_row("SELECT count(DISTINCT ip) AS visitors\n FROM {$table_name}\n WHERE feed='' AND spider='' AND ip IS NOT NULL AND date LIKE '" . mysql_real_escape_string($lastmonth) . "%'"); print "<td>" . $qry_lmonth->visitors . "</td>\n"; //THIS MONTH $qry_tmonth = $wpdb->get_row("SELECT count(DISTINCT ip) AS visitors\n FROM {$table_name}\n WHERE feed='' AND spider='' AND ip IS NOT NULL AND date LIKE '" . mysql_real_escape_string($thismonth) . "%'"); if ($qry_lmonth->visitors != 0) { $pc = round(100 * ($qry_tmonth->visitors / $qry_lmonth->visitors) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->visitors . $qry_tmonth->change . "</td>\n"; //TARGET $tmonthtarget = round($qry_tmonth->visitors / (time() - mktime(0, 0, 0, date('m'), date('1'), date('Y'))) * (86400 * date('t'))); if ($qry_lmonth->visitors != 0) { $pt = round(100 * ($tmonthtarget / $qry_lmonth->visitors) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $tmonthadded = "<code> (" . $pt . "%)</code>"; } print "<td>" . $tmonthtarget . $tmonthadded . "</td>\n"; //YESTERDAY $qry_y = $wpdb->get_row("SELECT count(DISTINCT ip) AS visitors\n FROM {$table_name}\n WHERE feed='' AND spider='' AND ip IS NOT NULL AND date = '" . mysql_real_escape_string($yesterday) . "'"); print "<td>" . $qry_y->visitors . "</td>\n"; //TODAY $qry_t = $wpdb->get_row("SELECT count(DISTINCT ip) AS visitors\n FROM {$table_name}\n WHERE feed='' AND spider='' AND ip IS NOT NULL AND date = '" . mysql_real_escape_string($today) . "'"); print "<td>" . $qry_t->visitors . "</td>\n"; print "</tr>"; //############################################################################################### // PAGEVIEWS ROW print "<tr><td><div style='background:{$web_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Pageviews', 'statpress') . "</td>"; //TOTAL $qry_total = $wpdb->get_row("SELECT count(ip) as pageview\n FROM {$table_name}\n WHERE feed='' AND spider='' AND ip IS NOT NULL "); print "<td>" . $qry_total->pageview . "</td>\n"; //LAST MONTH $prec = 0; $qry_lmonth = $wpdb->get_row("SELECT count(ip) as pageview\n FROM {$table_name}\n WHERE feed='' AND spider='' AND ip IS NOT NULL AND date LIKE '" . mysql_real_escape_string($lastmonth) . "%'"); print "<td>" . $qry_lmonth->pageview . "</td>\n"; //THIS MONTH $qry_tmonth = $wpdb->get_row("SELECT count(ip) as pageview\n FROM {$table_name}\n WHERE feed='' AND spider='' AND ip IS NOT NULL AND date LIKE '" . mysql_real_escape_string($thismonth) . "%'"); if ($qry_lmonth->pageview != 0) { $pc = round(100 * ($qry_tmonth->pageview / $qry_lmonth->pageview) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->pageview . $qry_tmonth->change . "</td>\n"; //TARGET $qry_tmonth->target = round($qry_tmonth->pageview / (time() - mktime(0, 0, 0, date('m'), date('1'), date('Y'))) * (86400 * date('t'))); if ($qry_lmonth->pageview != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->pageview) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; //YESTERDAY $qry_y = $wpdb->get_row("SELECT count(ip) as pageview\n FROM {$table_name}\n WHERE feed='' AND spider='' AND ip IS NOT NULL AND date = '" . mysql_real_escape_string($yesterday) . "'"); print "<td>" . $qry_y->pageview . "</td>\n"; //TODAY $qry_t = $wpdb->get_row("SELECT count(ip) as pageview\n FROM {$table_name}\n WHERE feed='' AND spider='' AND ip IS NOT NULL AND date = '" . mysql_real_escape_string($today) . "'"); print "<td>" . $qry_t->pageview . "</td>\n"; print "</tr>"; //############################################################################################### // SPIDERS ROW print "<tr><td><div style='background:{$spider_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Spiders', 'statpress') . "</td>"; //TOTAL $qry_total = $wpdb->get_row("SELECT count(ip) as spiders\n FROM {$table_name}\n WHERE feed='' AND spider<>'' AND ip IS NOT NULL "); print "<td>" . $qry_total->spiders . "</td>\n"; //LAST MONTH $prec = 0; $qry_lmonth = $wpdb->get_row("SELECT count(ip) as spiders\n FROM {$table_name}\n WHERE feed='' AND spider<>'' AND ip IS NOT NULL AND date LIKE '" . mysql_real_escape_string($lastmonth) . "%'"); print "<td>" . $qry_lmonth->spiders . "</td>\n"; //THIS MONTH $prec = $qry_lmonth->spiders; $qry_tmonth = $wpdb->get_row("SELECT count(ip) as spiders\n FROM {$table_name}\n WHERE feed='' AND spider<>'' AND ip IS NOT NULL AND date LIKE '" . mysql_real_escape_string($thismonth) . "%'"); if ($qry_lmonth->spiders != 0) { $pc = round(100 * ($qry_tmonth->spiders / $qry_lmonth->spiders) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->spiders . $qry_tmonth->change . "</td>\n"; //TARGET $qry_tmonth->target = round($qry_tmonth->spiders / (time() - mktime(0, 0, 0, date('m'), date('1'), date('Y'))) * (86400 * date('t'))); if ($qry_lmonth->spiders != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->spiders) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; //YESTERDAY $qry_y = $wpdb->get_row("SELECT count(ip) as spiders\n FROM {$table_name}\n WHERE feed='' AND spider<>'' AND ip IS NOT NULL AND date = '" . mysql_real_escape_string($yesterday) . "'"); print "<td>" . $qry_y->spiders . "</td>\n"; //TODAY $qry_t = $wpdb->get_row("SELECT count(ip) as spiders\n FROM {$table_name}\n WHERE feed='' AND spider<>'' AND ip IS NOT NULL AND date = '" . mysql_real_escape_string($today) . "'"); print "<td>" . $qry_t->spiders . "</td>\n"; print "</tr>"; //############################################################################################### // FEEDS ROW print "<tr><td><div style='background:{$rss_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Feeds', 'statpress') . "</td>"; //TOTAL $qry_total = $wpdb->get_row("SELECT count(ip) as feeds\n FROM {$table_name}\n WHERE feed<>'' AND spider='' AND ip IS NOT NULL "); print "<td>" . $qry_total->feeds . "</td>\n"; //LAST MONTH $qry_lmonth = $wpdb->get_row("SELECT count(ip) as feeds\n FROM {$table_name}\n WHERE feed<>'' AND spider='' AND ip IS NOT NULL AND date LIKE '" . mysql_real_escape_string($lastmonth) . "%'"); print "<td>" . $qry_lmonth->feeds . "</td>\n"; //THIS MONTH $qry_tmonth = $wpdb->get_row("SELECT count(ip) as feeds\n FROM {$table_name}\n WHERE feed<>'' AND spider='' AND ip IS NOT NULL AND date LIKE '" . mysql_real_escape_string($thismonth) . "%'"); if ($qry_lmonth->feeds != 0) { $pc = round(100 * ($qry_tmonth->feeds / $qry_lmonth->feeds) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->feeds . $qry_tmonth->change . "</td>\n"; //TARGET $qry_tmonth->target = round($qry_tmonth->feeds / (time() - mktime(0, 0, 0, date('m'), date('1'), date('Y'))) * (86400 * date('t'))); if ($qry_lmonth->feeds != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->feeds) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; $qry_y = $wpdb->get_row("SELECT count(ip) as feeds\n FROM {$table_name}\n WHERE feed<>'' AND spider='' AND ip IS NOT NULL AND date = '" . mysql_real_escape_string($yesterday) . "'"); print "<td>" . $qry_y->feeds . "</td>\n"; $qry_t = $wpdb->get_row("SELECT count(ip) as feeds\n FROM {$table_name}\n WHERE feed<>'' AND spider='' AND ip IS NOT NULL AND date = '" . mysql_real_escape_string($today) . "'"); print "<td>" . $qry_t->feeds . "</td>\n"; print "</tr></table><br />\n\n"; //############################################################################################### //############################################################################################### // THE GRAPHS // last "N" days graph NEW $graphdays = get_option('statpress_daysinoverviewgraph'); if ($graphdays == 0) { $graphdays = 7; } if (isset($_GET['pp'])) { // Get Current page from URL $pagePeriode = $_GET['pp']; if ($pagePeriode <= 0) { // Page is less than 0 then set it to 1 $pagePeriode = 1; } } else { // URL does not show the page set it to 1 $pagePeriode = 1; } // selection of the older day with real visit $strqry = "SELECT date FROM {$table_name} WHERE (IP IS NOT NULL) GROUP BY date ORDER BY date ASC LIMIT 1"; $query = $wpdb->get_row($strqry); $old_date = $query->date; if (isset($old_date)) { $nbjours = ceil((current_time('timestamp') - strtotime($old_date)) / 86400); } else { $nbjours = 0; } $NumberOfPagesPeriode = $nbjours / $graphdays; $LimitValue = $pagePeriode * $graphdays - $graphdays; $limitdate = gmdate('Ymd', current_time('timestamp') - 86400 * $graphdays * $pagePeriode + 86400); $currentdate = gmdate('Ymd', current_time('timestamp') - 86400 * $graphdays * ($pagePeriode - 1)); $start_of_week = get_option('start_of_week'); luc_Verify_continuity($graphdays, $pagePeriode, $limitdate, $currentdate); // Verify continuity of days in the database print "Period of days : "; luc_printperiodelink($NumberOfPagesPeriode, $pagePeriode, "overview"); $qry = $wpdb->get_row("SELECT count(ip) AS pageview\n FROM {$table_name}\n\t\t\tWHERE ip IS NOT NULL AND date BETWEEN {$limitdate} AND {$currentdate}\n GROUP BY date \n ORDER BY pageview DESC LIMIT 1 "); $maxxday = $qry->pageview; if ($maxxday == 0) { $maxxday = 1; } $day0visit = "SELECT 0 AS total, date\n\t FROM {$table_name} \n\t WHERE date BETWEEN {$limitdate} AND {$currentdate}"; // set of all days with 0 visit //TOTAL VISITORS $qry_visitors = $wpdb->get_results(" SELECT total AS totalvisitors, date\n\t FROM ((SELECT count(DISTINCT ip) AS total, date \n\t FROM {$table_name} \n\t WHERE feed='' AND spider='' AND date BETWEEN {$limitdate} AND {$currentdate}\n GROUP BY date )\n\t UNION (" . $day0visit . ")\n\t\t\t\t ) visitor \n\t GROUP BY date "); // return 0 if 0 visit else real totalvisitors $i = 0; foreach ($qry_visitors as $qry) { $visitors[$i] = $qry->totalvisitors; $totalvisitors += $visitors[$i]; $px_visitors[$i] = round($visitors[$i] * 100 / $maxxday); $px_white[$i] = 130 - $px_visitors[$i]; $i++; } //TOTAL PAGEVIEWS (we do not delete the uniques, this is falsing the info.. uniques are not different visitors!) $qry_pageviews = $wpdb->get_results(" SELECT total AS totalpageviews, date\n\t FROM ((SELECT count(ip) AS total, date \n\t FROM {$table_name} \n\t WHERE feed='' AND spider='' AND date BETWEEN {$limitdate} AND {$currentdate}\n GROUP BY date )\n\t UNION (" . $day0visit . ")\n\t\t\t ) pageviews\n\t GROUP BY date "); $i = 0; foreach ($qry_pageviews as $qry) { $pageviews[$i] = $qry->totalpageviews; $totalpageviews += $pageviews[$i]; $px_pageviews[$i] = round($pageviews[$i] * 100 / $maxxday); $px_white[$i] -= $px_pageviews[$i]; $i++; } //TOTAL SPIDERS $qry_spiders = $wpdb->get_results(" SELECT total AS totalspiders, date\n\t FROM ((SELECT count(ip) AS total, date \n\t FROM {$table_name} \n\t WHERE spider<>'' AND feed='' AND date BETWEEN {$limitdate} AND {$currentdate}\n GROUP BY date )\n\t UNION (" . $day0visit . ")\n\t ) spiders\n\t GROUP BY date "); $i = 0; foreach ($qry_spiders as $qry) { $spiders[$i] = $qry->totalspiders; $totalspiders += $spiders[$i]; $px_spiders[$i] = round($spiders[$i] * 100 / $maxxday); $px_white[$i] -= $px_spiders[$i]; $i++; } //TOTAL FEEDS $qry_feeds = $wpdb->get_results(" SELECT total AS totalfeeds, date\n\t FROM ((SELECT count(ip) AS total, date \n\t FROM {$table_name} \n\t WHERE feed<>'' AND spider='' AND date BETWEEN {$limitdate} AND {$currentdate}\n GROUP BY date )\n\t UNION (" . $day0visit . ")\n\t ) feeds\n\t GROUP BY date "); $i = 0; foreach ($qry_feeds as $qry) { $feeds[$i] = $qry->totalfeeds; $totalfeeds += $feeds[$i]; $px_feeds[$i] = round($feeds[$i] * 100 / $maxxday); $px_white[$i] -= $px_feeds[$i]; $i++; } print '<table width="100%" border="0"><tr></tr></table>'; print "Average : " . round($totalvisitors / $graphdays, 1) . " Visitors,"; print " " . round($totalpageviews / $graphdays, 1) . " Pageviews,"; print " " . round($totalspiders / $graphdays, 1) . " Spiders,"; print " " . round($totalfeeds / $graphdays, 1) . " Feeds by day"; print '<table width="100%" border="0"><tr>'; // Y $gd = 90 / $graphdays . '%'; for ($i = 0; $i < $graphdays; $i++) { print '<td width="' . $gd . '" valign="bottom"'; if ($start_of_week == gmdate('w', current_time('timestamp') - 86400 * ($graphdays * $pagePeriode - $i - 1))) { // week-cut print ' style="border-left:2px dotted gray;"'; } print "><div style='float:left;height: 100%;width:100%;font-family:Helvetica;font-size:7pt;text-align:center;border-right:1px solid white;color:black;'>\n <div style='background:#ffffff;width:100%;height:" . $px_white[$i] . "px;'></div>\n <div style='background:{$unique_color};width:100%;height:" . $px_visitors[$i] . "px;' title='" . $visitors[$i] . " " . __('visitors', 'statpress') . "'></div>\n <div style='background:{$web_color};width:100%;height:" . $px_pageviews[$i] . "px;' title='" . $pageviews[$i] . " " . __('pageviews', 'statpress') . "'></div>\n <div style='background:{$spider_color};width:100%;height:" . $px_spiders[$i] . "px;' title='" . $spiders[$i] . " " . __('spiders', 'statpress') . "'></div>\n <div style='background:{$rss_color};width:100%;height:" . $px_feeds[$i] . "px;' title='" . $feeds[$i] . " " . __('feeds', 'statpress') . "'></div>\n <div style='background:gray;width:100%;height:1px;'></div>\n <br />" . gmdate('d', current_time('timestamp') - 86400 * ($graphdays * $pagePeriode - $i - 1)) . ' ' . gmdate('M', current_time('timestamp') - 86400 * ($graphdays * $pagePeriode - $i - 1)) . "</div></td>\n"; } print '</tr></table>'; print '</div>'; // END OF OVERVIEW //################################################################################################### $querylimit = "LIMIT 20"; // Tabella Last hits print "<div class='wrap'><h2>" . __('Last hits', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('IP', 'statpress') . "</th><th scope='col'>" . __('Threat', 'statpress') . "</th><th scope='col'>" . __('Domain', 'statpress') . "</th><th scope='col'>" . __('Page', 'statpress') . "</th><th scope='col'>" . __('OS', 'statpress') . "</th><th scope='col'>" . __('Browser', 'statpress') . "</th><th scope='col'>" . __('Feed', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $fivesdrafts = $wpdb->get_results("SELECT * FROM {$table_name} WHERE (os<>'' OR feed<>'') AND ip IS NOT NULL order by id DESC {$querylimit}"); foreach ($fivesdrafts as $fivesdraft) { print "<tr>"; print "<td>" . irihdate($fivesdraft->date) . "</td>"; print "<td>" . $fivesdraft->time . "</td>"; print "<td>" . $fivesdraft->ip . "</td>"; print "<td>" . $fivesdraft->threat_score; if ($fivesdraft->threat_score > 0) { print "/"; if ($fivesdraft->threat_type == 0) { print "Sp"; } else { if (($fivesdraft->threat_type & 1) == 1) { print "S"; } // Suspicious if (($fivesdraft->threat_type & 2) == 2) { print "H"; } // Harvester if (($fivesdraft->threat_type & 4) == 4) { print "C"; } // Comment spammer } } print "<td>" . $fivesdraft->nation . "</td>"; print "<td>" . iri_StatPress_Abbrevia(iri_StatPress_Decode($fivesdraft->urlrequested), 30) . "</td>"; print "<td>" . $fivesdraft->os . "</td>"; print "<td>" . $fivesdraft->browser . "</td>"; print "<td>" . $fivesdraft->feed . "</td>"; print "</tr>"; } print "</table></div>"; // Last Search terms print "<div class='wrap'><h2>" . __('Last search terms', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('Terms', 'statpress') . "</th><th scope='col'>" . __('Engine', 'statpress') . "</th><th scope='col'>" . __('Result', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,referrer,urlrequested,search,searchengine FROM {$table_name} WHERE search<>'' AND ip IS NOT NULL ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td><a href='" . $rk->referrer . "'>" . urldecode($rk->search) . "</a></td><td>" . $rk->searchengine . "</td><td><a href='" . irigetblogurl() . (strpos($rk->urlrequested, 'index.php') === FALSE ? $rk->urlrequested : '') . "'>" . __('page viewed', 'statpress') . "</a></td></tr>\n"; } print "</table></div>"; // Referrer print "<div class='wrap'><h2>" . __('Last referrers', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('URL', 'statpress') . "</th><th scope='col'>" . __('Result', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,referrer,urlrequested FROM {$table_name} WHERE ((referrer NOT LIKE '" . get_option('home') . "%') AND (referrer <>'') AND (searchengine='') AND ip IS NOT NULL ) ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td><a href='" . $rk->referrer . "'>" . iri_StatPress_Abbrevia($rk->referrer, 80) . "</a></td><td><a href='" . irigetblogurl() . (strpos($rk->urlrequested, 'index.php') === FALSE ? $rk->urlrequested : '') . "'>" . __('page viewed', 'statpress') . "</a></td></tr>\n"; } print "</table></div>"; // Last pages print "<div class='wrap'><h2>" . __('Last pages', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('Page', 'statpress') . "</th><th scope='col'>" . __('What', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,urlrequested,os,browser,spider FROM {$table_name} WHERE spider='' AND feed='' AND ip IS NOT NULL ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td>" . iri_StatPress_Abbrevia(iri_StatPress_Decode($rk->urlrequested), 60) . "</td><td> " . $rk->os . " " . $rk->browser . " " . $rk->spider . "</td></tr>\n"; } print "</table></div>"; // Last Spiders print "<div class='wrap'><h2>" . __('Last spiders', 'statpress') . "</h2>"; print "<table class='widefat'><thead><tr>"; print "<th scope='col'>" . __('Date', 'statpress') . "</th>"; print "<th scope='col'>" . __('Time', 'statpress') . "</th>"; print "<th scope='col'>" . __('Spider', 'statpress') . "</th>"; print "<th scope='col'>" . __('Page', 'statpress') . "</th>"; print "<th scope='col'>" . __('Agent', 'statpress') . "</th>"; print "</tr></thead><tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,agent,spider,urlrequested,agent FROM {$table_name} WHERE spider<>'' AND ip IS NOT NULL ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td>"; print "<td>" . $rk->time . "</td>"; print "<td>" . $rk->spider . "</td>"; print "<td>" . iri_StatPress_Abbrevia(iri_StatPress_Decode($rk->urlrequested), 30) . "</td>"; print "<td> " . $rk->agent . "</td></tr>\n"; } print "</table></div>"; print "<br />"; print " <i>" . __('StatPress table size', 'statpress') . ": <b>" . iritablesize($wpdb->prefix . "statpress") . "</b></i><br />"; print " <i>" . __('StatPress current time', 'statpress') . ": <b>" . current_time('mysql') . "</b></i><br />"; print " <i>" . __('RSS2 url', 'statpress') . ": <b>" . get_bloginfo('rss2_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('rss2_url')) . ")</b></i><br />"; print " <i>" . __('ATOM url', 'statpress') . ": <b>" . get_bloginfo('atom_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('atom_url')) . ")</b></i><br />"; print " <i>" . __('RSS url', 'statpress') . ": <b>" . get_bloginfo('rss_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('rss_url')) . ")</b></i><br />"; print " <i>" . __('COMMENT RSS2 url', 'statpress') . ": <b>" . get_bloginfo('comments_rss2_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('comments_rss2_url')) . ")</b></i><br />"; print " <i>" . __('COMMENT ATOM url', 'statpress') . ": <b>" . get_bloginfo('comments_atom_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('comments_atom_url')) . ")</b></i><br />"; }
function iriStatPressMain() { global $wpdb; $table_name = $wpdb->prefix . "statpress"; # Tabella OVERVIEW $unique_color = "#114477"; $web_color = "#3377B6"; $rss_color = "#f38f36"; $spider_color = "#83b4d8"; $lastmonth = iri_StatPress_lastmonth(); $thismonth = gmdate('Ym', current_time('timestamp')); $yesterday = gmdate('Ymd', current_time('timestamp') - 86400); $today = gmdate('Ymd', current_time('timestamp')); $tlm[0] = substr($lastmonth, 0, 4); $tlm[1] = substr($lastmonth, 4, 2); print "<div class='wrap'><h2>" . __('Overview', 'statpress') . "</h2>"; print "<table class='widefat'><thead><tr>\n\t<th scope='col'></th>\n\t<th scope='col'>" . __('Total', 'statpress') . "</th>\n\t<th scope='col'>" . __('Last month', 'statpress') . "<br /><font size=1>" . gmdate('M, Y', gmmktime(0, 0, 0, $tlm[1], 1, $tlm[0])) . "</font></th>\n\t<th scope='col'>" . __('This month', 'statpress') . "<br /><font size=1>" . gmdate('M, Y', current_time('timestamp')) . "</font></th>\n\t<th scope='col'>Target " . __('This month', 'statpress') . "<br /><font size=1>" . gmdate('M, Y', current_time('timestamp')) . "</font></th>\n\t<th scope='col'>" . __('Yesterday', 'statpress') . "<br /><font size=1>" . gmdate('d M, Y', current_time('timestamp') - 86400) . "</font></th>\n\t<th scope='col'>" . __('Today', 'statpress') . "<br /><font size=1>" . gmdate('d M, Y', current_time('timestamp')) . "</font></th>\n\t</tr></thead>\n\t<tbody id='the-list'>"; ################################################################################################ # VISITORS ROW print "<tr><td><div style='background:{$unique_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Visitors', 'statpress') . "</td>"; #TOTAL $qry_total = $wpdb->get_row("\n\t\tSELECT count(DISTINCT ip) AS visitors\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider=''\n\t"); print "<td>" . $qry_total->visitors . "</td>\n"; #LAST MONTH $qry_lmonth = $wpdb->get_row("\n\t\tSELECT count(DISTINCT ip) AS visitors\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider=''\n\t\tAND date LIKE '" . $lastmonth . "%'\n\t"); print "<td>" . $qry_lmonth->visitors . "</td>\n"; #THIS MONTH $qry_tmonth = $wpdb->get_row("\n\t\tSELECT count(DISTINCT ip) AS visitors\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider=''\n\t\tAND date LIKE '" . $thismonth . "%'\n\t"); if ($qry_lmonth->visitors != 0) { $pc = round(100 * ($qry_tmonth->visitors / $qry_lmonth->visitors) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->visitors . $qry_tmonth->change . "</td>\n"; #TARGET $qry_tmonth->target = round($qry_tmonth->visitors / date("d", current_time('timestamp')) * 30); if ($qry_lmonth->visitors != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->visitors) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; #YESTERDAY $qry_y = $wpdb->get_row("\n\t\tSELECT count(DISTINCT ip) AS visitors\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider=''\n\t\tAND date = '{$yesterday}'\n\t"); print "<td>" . $qry_y->visitors . "</td>\n"; #TODAY $qry_t = $wpdb->get_row("\n\t\tSELECT count(DISTINCT ip) AS visitors\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider=''\n\t\tAND date = '{$today}'\n\t"); print "<td>" . $qry_t->visitors . "</td>\n"; print "</tr>"; ################################################################################################ # PAGEVIEWS ROW print "<tr><td><div style='background:{$web_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>" . __('Pageviews', 'statpress') . "</td>"; #TOTAL $qry_total = $wpdb->get_row("\n\t\tSELECT count(date) as pageview\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider=''\n\t"); print "<td>" . $qry_total->pageview . "</td>\n"; #LAST MONTH $prec = 0; $qry_lmonth = $wpdb->get_row("\n\t\tSELECT count(date) as pageview\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider=''\n\t\tAND date LIKE '" . $lastmonth . "%'\n\t"); print "<td>" . $qry_lmonth->pageview . "</td>\n"; #THIS MONTH $qry_tmonth = $wpdb->get_row("\n\t\tSELECT count(date) as pageview\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider=''\n\t\tAND date LIKE '" . $thismonth . "%'\n\t"); if ($qry_lmonth->pageview != 0) { $pc = round(100 * ($qry_tmonth->pageview / $qry_lmonth->pageview) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->pageview . $qry_tmonth->change . "</td>\n"; #TARGET $qry_tmonth->target = round($qry_tmonth->pageview / date("d", current_time('timestamp')) * 30); if ($qry_lmonth->pageview != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->pageview) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; #YESTERDAY $qry_y = $wpdb->get_row("\n\t\tSELECT count(date) as pageview\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider=''\n\t\tAND date = '{$yesterday}'\n\t"); print "<td>" . $qry_y->pageview . "</td>\n"; #TODAY $qry_t = $wpdb->get_row("\n\t\tSELECT count(date) as pageview\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider=''\n\t\tAND date = '{$today}'\n\t"); print "<td>" . $qry_t->pageview . "</td>\n"; print "</tr>"; ################################################################################################ # SPIDERS ROW print "<tr><td><div style='background:{$spider_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>Spiders</td>"; #TOTAL $qry_total = $wpdb->get_row("\n\t\tSELECT count(date) as spiders\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider<>''\n\t"); print "<td>" . $qry_total->spiders . "</td>\n"; #LAST MONTH $prec = 0; $qry_lmonth = $wpdb->get_row("\n\t\tSELECT count(date) as spiders\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider<>''\n\t\tAND date LIKE '" . $lastmonth . "%'\n\t"); print "<td>" . $qry_lmonth->spiders . "</td>\n"; #THIS MONTH $prec = $qry_lmonth->spiders; $qry_tmonth = $wpdb->get_row("\n\t\tSELECT count(date) as spiders\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider<>''\n\t\tAND date LIKE '" . $thismonth . "%'\n\t"); if ($qry_lmonth->spiders != 0) { $pc = round(100 * ($qry_tmonth->spiders / $qry_lmonth->spiders) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->spiders . $qry_tmonth->change . "</td>\n"; #TARGET $qry_tmonth->target = round($qry_tmonth->spiders / date("d", current_time('timestamp')) * 30); if ($qry_lmonth->spiders != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->spiders) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; #YESTERDAY $qry_y = $wpdb->get_row("\n\t\tSELECT count(date) as spiders\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider<>''\n\t\tAND date = '{$yesterday}'\n\t"); print "<td>" . $qry_y->spiders . "</td>\n"; #TODAY $qry_t = $wpdb->get_row("\n\t\tSELECT count(date) as spiders\n\t\tFROM {$table_name}\n\t\tWHERE feed=''\n\t\tAND spider<>''\n\t\tAND date = '{$today}'\n\t"); print "<td>" . $qry_t->spiders . "</td>\n"; print "</tr>"; ################################################################################################ # FEEDS ROW print "<tr><td><div style='background:{$rss_color};width:10px;height:10px;float:left;margin-top:4px;margin-right:5px;'></div>Feeds</td>"; #TOTAL $qry_total = $wpdb->get_row("\n\t\tSELECT count(date) as feeds\n\t\tFROM {$table_name}\n\t\tWHERE feed<>''\n\t\tAND spider=''\n\t"); print "<td>" . $qry_total->feeds . "</td>\n"; #LAST MONTH $qry_lmonth = $wpdb->get_row("\n\t\tSELECT count(date) as feeds\n\t\tFROM {$table_name}\n\t\tWHERE feed<>''\n\t\tAND spider=''\n\t\tAND date LIKE '" . $lastmonth . "%'\n\t"); print "<td>" . $qry_lmonth->feeds . "</td>\n"; #THIS MONTH $qry_tmonth = $wpdb->get_row("\n\t\tSELECT count(date) as feeds\n\t\tFROM {$table_name}\n\t\tWHERE feed<>''\n\t\tAND spider=''\n\t\tAND date LIKE '" . $thismonth . "%'\n\t"); if ($qry_lmonth->feeds != 0) { $pc = round(100 * ($qry_tmonth->feeds / $qry_lmonth->feeds) - 100, 1); if ($pc >= 0) { $pc = "+" . $pc; } $qry_tmonth->change = "<code> (" . $pc . "%)</code>"; } print "<td>" . $qry_tmonth->feeds . $qry_tmonth->change . "</td>\n"; #TARGET $qry_tmonth->target = round($qry_tmonth->feeds / date("d", current_time('timestamp')) * 30); if ($qry_lmonth->feeds != 0) { $pt = round(100 * ($qry_tmonth->target / $qry_lmonth->feeds) - 100, 1); if ($pt >= 0) { $pt = "+" . $pt; } $qry_tmonth->added = "<code> (" . $pt . "%)</code>"; } print "<td>" . $qry_tmonth->target . $qry_tmonth->added . "</td>\n"; $qry_y = $wpdb->get_row("\n\t\tSELECT count(date) as feeds\n\t\tFROM {$table_name}\n\t\tWHERE feed<>''\n\t\tAND spider=''\n\t\tAND date = '" . $yesterday . "'\n\t"); print "<td>" . $qry_y->feeds . "</td>\n"; $qry_t = $wpdb->get_row("\n\t\tSELECT count(date) as feeds\n\t\tFROM {$table_name}\n\t\tWHERE feed<>''\n\t\tAND spider=''\n\t\tAND date = '{$today}'\n\t"); print "<td>" . $qry_t->feeds . "</td>\n"; print "</tr></table><br />\n\n"; ################################################################################################ ################################################################################################ # THE GRAPHS # last "N" days graph NEW $gdays = get_option('statpress_daysinoverviewgraph'); if ($gdays == 0) { $gdays = 20; } // $start_of_week = get_settings('start_of_week'); $start_of_week = get_option('start_of_week'); print '<table width="100%" border="0"><tr>'; $qry = $wpdb->get_row("\n\t\tSELECT count(date) as pageview, date\n\t\tFROM {$table_name}\n\t\tGROUP BY date HAVING date >= '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gdays) . "'\n\t\tORDER BY pageview DESC\n\t\tLIMIT 1\n\t"); $maxxday = $qry->pageview; if ($maxxday == 0) { $maxxday = 1; } # Y $gd = 90 / $gdays . '%'; for ($gg = $gdays - 1; $gg >= 0; $gg--) { #TOTAL VISITORS $qry_visitors = $wpdb->get_row("\n\t\t\tSELECT count(DISTINCT ip) AS total\n\t\t\tFROM {$table_name}\n\t\t\tWHERE feed=''\n\t\t\tAND spider=''\n\t\t\tAND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\n\t\t"); $px_visitors = round($qry_visitors->total * 100 / $maxxday); #TOTAL PAGEVIEWS (we do not delete the uniques, this is falsing the info.. uniques are not different visitors!) $qry_pageviews = $wpdb->get_row("\n\t\t\tSELECT count(date) as total\n\t\t\tFROM {$table_name}\n\t\t\tWHERE feed=''\n\t\t\tAND spider=''\n\t\t\tAND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\n\t\t"); $px_pageviews = round($qry_pageviews->total * 100 / $maxxday); #TOTAL SPIDERS $qry_spiders = $wpdb->get_row("\n\t\t\tSELECT count(ip) AS total\n\t\t\tFROM {$table_name}\n\t\t\tWHERE feed=''\n\t\t\tAND spider<>''\n\t\t\tAND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\n\t\t"); $px_spiders = round($qry_spiders->total * 100 / $maxxday); #TOTAL FEEDS $qry_feeds = $wpdb->get_row("\n\t\t\tSELECT count(ip) AS total\n\t\t\tFROM {$table_name}\n\t\t\tWHERE feed<>''\n\t\t\tAND spider=''\n\t\t\tAND date = '" . gmdate('Ymd', current_time('timestamp') - 86400 * $gg) . "'\n\t\t"); $px_feeds = round($qry_feeds->total * 100 / $maxxday); $px_white = 100 - $px_feeds - $px_spiders - $px_pageviews - $px_visitors; print '<td width="' . $gd . '" valign="bottom"'; if ($start_of_week == gmdate('w', current_time('timestamp') - 86400 * $gg)) { print ' style="border-left:2px dotted gray;"'; } # week-cut print "><div style='float:left;height: 100%;width:100%;font-family:Helvetica;font-size:7pt;text-align:center;border-right:1px solid white;color:black;'>\n\t\t<div style='background:#ffffff;width:100%;height:" . $px_white . "px;'></div>\n\t\t<div style='background:{$unique_color};width:100%;height:" . $px_visitors . "px;' title='" . $qry_visitors->total . " visitors'></div>\n\t\t<div style='background:{$web_color};width:100%;height:" . $px_pageviews . "px;' title='" . $qry_pageviews->total . " pageviews'></div>\n\t\t<div style='background:{$spider_color};width:100%;height:" . $px_spiders . "px;' title='" . $qry_spiders->total . " spiders'></div>\n\t\t<div style='background:{$rss_color};width:100%;height:" . $px_feeds . "px;' title='" . $qry_feeds->total . " feeds'></div>\n\t\t<div style='background:gray;width:100%;height:1px;'></div>\n\t\t<br />" . gmdate('d', current_time('timestamp') - 86400 * $gg) . ' ' . gmdate('M', current_time('timestamp') - 86400 * $gg) . "</div></td>\n"; } print '</tr></table>'; print '</div>'; # END OF OVERVIEW #################################################################################################### $querylimit = "LIMIT 10"; # Tabella Last hits print "<div class='wrap'><h2>" . __('Last hits', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>IP</th><th scope='col'>" . __('Domain', 'statpress') . "</th><th scope='col'>" . __('Page', 'statpress') . "</th><th scope='col'>OS</th><th scope='col'>Browser</th><th scope='col'>Feed</th></tr></thead>"; print "<tbody id='the-list'>"; $fivesdrafts = $wpdb->get_results("SELECT * FROM {$table_name} WHERE (os<>'' OR feed<>'') order by id DESC {$querylimit}"); foreach ($fivesdrafts as $fivesdraft) { print "<tr>"; print "<td>" . irihdate($fivesdraft->date) . "</td>"; print "<td>" . $fivesdraft->time . "</td>"; print "<td>" . $fivesdraft->ip . "</td>"; print "<td>" . $fivesdraft->nation . "</td>"; print "<td>" . iri_StatPress_Abbrevia(iri_StatPress_Decode($fivesdraft->urlrequested), 30) . "</td>"; print "<td>" . $fivesdraft->os . "</td>"; print "<td>" . $fivesdraft->browser . "</td>"; print "<td>" . $fivesdraft->feed . "</td>"; print "</tr>"; } print "</table></div>"; # Last Search terms print "<div class='wrap'><h2>" . __('Last search terms', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('Terms', 'statpress') . "</th><th scope='col'>" . __('Engine', 'statpress') . "</th><th scope='col'>" . __('Result', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,referrer,urlrequested,search,searchengine FROM {$table_name} WHERE search<>'' ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td><a href='" . $rk->referrer . "'>" . $rk->search . "</a></td><td>" . $rk->searchengine . "</td><td><a href='" . get_bloginfo('url') . "/?" . $rk->urlrequested . "'>" . __('page viewed', 'statpress') . "</a></td></tr>\n"; } print "</table></div>"; # Referrer print "<div class='wrap'><h2>" . __('Last referrers', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('URL', 'statpress') . "</th><th scope='col'>" . __('Result', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,referrer,urlrequested FROM {$table_name} WHERE ((referrer NOT LIKE '" . get_option('home') . "%') AND (referrer <>'') AND (searchengine='')) ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td><a href='" . $rk->referrer . "'>" . iri_StatPress_Abbrevia($rk->referrer, 80) . "</a></td><td><a href='" . get_bloginfo('url') . "/?" . $rk->urlrequested . "'>" . __('page viewed', 'statpress') . "</a></td></tr>\n"; } print "</table></div>"; # Last Agents print "<div class='wrap'><h2>" . __('Last agents', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('Agent', 'statpress') . "</th><th scope='col'>" . __('What', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,agent,os,browser,spider FROM {$table_name} WHERE (agent <>'') ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td>" . $rk->agent . "</td><td> " . $rk->os . " " . $rk->browser . " " . $rk->spider . "</td></tr>\n"; } print "</table></div>"; # Last pages print "<div class='wrap'><h2>" . __('Last pages', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('Page', 'statpress') . "</th><th scope='col'>" . __('What', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,urlrequested,os,browser,spider FROM {$table_name} WHERE (spider='' AND feed='') ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td>" . iri_StatPress_Abbrevia(iri_StatPress_Decode($rk->urlrequested), 60) . "</td><td> " . $rk->os . " " . $rk->browser . " " . $rk->spider . "</td></tr>\n"; } print "</table></div>"; # Last Spiders print "<div class='wrap'><h2>" . __('Last spiders', 'statpress') . "</h2><table class='widefat'><thead><tr><th scope='col'>" . __('Date', 'statpress') . "</th><th scope='col'>" . __('Time', 'statpress') . "</th><th scope='col'>" . __('Spider', 'statpress') . "</th><th scope='col'>" . __('Agent', 'statpress') . "</th></tr></thead>"; print "<tbody id='the-list'>"; $qry = $wpdb->get_results("SELECT date,time,agent,os,browser,spider FROM {$table_name} WHERE (spider<>'') ORDER BY id DESC {$querylimit}"); foreach ($qry as $rk) { print "<tr><td>" . irihdate($rk->date) . "</td><td>" . $rk->time . "</td><td>" . $rk->spider . "</td><td> " . $rk->agent . "</td></tr>\n"; } print "</table></div>"; print "<br />"; print " <i>StatPress table size: <b>" . iritablesize($wpdb->prefix . "statpress") . "</b></i><br />"; print " <i>StatPress current time: <b>" . current_time('mysql') . "</b></i><br />"; print " <i>RSS2 url: <b>" . get_bloginfo('rss2_url') . ' (' . iri_StatPress_extractfeedreq(get_bloginfo('rss2_url')) . ")</b></i><br />"; }