function display_content() { global $date_label, $filters, $has_filters, $ss, $loaded_data, $is_archive, $field_names; echo '<div id="main">'; $date_label = htmlspecialchars(date_label($filters)); echo "<h1>{$date_label}</h1>"; if ($has_filters) { echo '<div id="filter-notice" class="wide center">'; foreach ($field_names as $field => $name) { if (isset($filters[$field])) { $label = htmlspecialchars(get_value_label($field, $filters[$field])); echo "<span class='active-filter'><a class='clear-filter hide-if-no-js' data-filter='filter_{$field}'>×</a> {$name}: <var>{$label}</var></span> "; } } echo '</div>'; } if (!$ss->options['stats_enabled']) { echo '<div id="disabled"><p class="center">' . __('Simple Stats is currently disabled.') . '</p></div>'; } table_summary(); if (!empty($loaded_data['pages'])) { echo '<h2>' . __('Content') . '</h2>'; chart(isset($filters['dy']) ? 'hours' : 'days'); table_total('resource', 'wide'); echo '<h2>Visitors</h2>'; table_total('remote_ip'); table_percent('browser'); table_percent('platform'); table_percent('country'); table_percent('language'); echo '<h2>Referrers</h2>'; table_total('search_terms'); table_total('domain'); table_total('referrer', 'wide'); visit_source(); } else { echo '<p class="center">' . __('There is no data available for the date/filters you have selected.'); } echo '</div>'; }
<?php } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>SNS Photos</title> <link rel="stylesheet" type="text/css" href="../css/css_sns.css"> <!--AJAX APIの読み込み--> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript" src="scriptUtil.php"></script> <script type="text/javascript"> //SNSごとの割合の円グラフを表示する処理の取得 <?php chart($_GET['sns'], $result_category); ?> </script> </head> <body> <!--ヘッダー--> <div id="header"> <div class="title"> <a href="<?php echo ROOT_URL; ?> "> <span style="vertical-align: middle; font-size: 35px;">SNS Photos</span> </a> <span style="vertical-align: 3px; font-size: 50%; margin-left: 20px"> SNSに投稿されている画像の傾向分析サイト
function xml(){ return formatGreaterAndSmallerSymbols(chart()); }
function statisticsExecTime($func, array $params, $xAxis) { set_time_limit(170); $func_name = ''; if (is_array($func)) { if (!method_exists($func[0], $func[1])) { return false; } $func_name = object_name($func[0]) . '->' . $func[1]; } else { if (is_string($func)) { if (!function_exists($func)) { return false; } $func_name = $func; } else { if (is_callable($func)) { // if(! function_exists($func)){ // return false; // } $func_name = 'Closure'; } else { return false; } } } $mem = []; $time = []; foreach ($params as $v) { mark('start'); $result = call_user_func_array($func, (array) $v); $time[] = floatval(mark('start', 'end')); $memory = memory_mark(); if (isset($memory['start']) && isset($memory['end'])) { $mem[] = floatval(memory_mark('start', 'end')); } mark('[clear]'); memory_mark('[clear]'); } $data = [['name' => 'Exec Time', 'data' => $time]]; $mem && ($data[] = ['name' => 'Exec Memory', 'data' => $mem]); $xAxis = ['categories' => $xAxis]; return chart($xAxis, $data, 'Function [' . htmlentities($func_name) . '] Execute Time Statistics', 'At ' . date('Y-m-d H:i:s'), 'Number'); }
//categoryテーブルの値を割合が高い順に取得 $result_category = select_category(5); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>SNS Photos</title> <link rel="stylesheet" type="text/css" href="../css/css_index.css"> <!--AJAX APIの読み込み--> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript" src="scriptUtil.php"></script> <script type="text/javascript"> //SNS全体の割合の円グラフを表示する処理の取得 <?php chart(null, $result_category); ?> </script> </head> <body> <!--ヘッダー--> <div id="header"> <div class="title"> <a href="<?php echo ROOT_URL; ?> "> <span style="vertical-align: middle; font-size: 35px;">SNS Photos</span> </a> <span style="vertical-align: 3px; font-size: 50%; margin-left: 20px"> SNSに投稿されている画像の傾向分析サイト
case "deleteplaylist": return deletePlaylist(); break; case "curtrack": return getCurrentTrack(); break; case "search": return search(); case "browse": return browse(); break; case "home": return home(); break; case "chart": return chart(); break; case "userhistories": return userHistories(); break; case "jukebox": return jukebox(); break; case "adduser": return adduser(); break; case "removeuser": return removeuser(); break; case "listusers": return listusers();
return $weeks; } function format_grouped_stats($period_length, $period_count, $name, $title) { $weeks = grouped_stats($period_length, $period_count); return inv_table($title, array('start_fmt' => '', 'users_this_week' => "Total this {$name}", 'active_user_count' => 'Active users', 'new_user_count' => 'New active users', 'gone_user_count' => 'Previously active users gone', 'growth_fmt' => '% increase in active users (growth)', 'delta' => '∆ active users', 'new_user_growth_fmt' => '% increase in new users', 'churn_fmt' => '% previously active users gone (churn)'), $weeks); } $count = query_count('SELECT COUNT(DISTINCT ip) AS count FROM stats'); $by_date = query_rows('SELECT date, COUNT(DISTINCT ip) AS count FROM stats GROUP BY date ORDER BY date'); $by_ver_30 = query_rows('SELECT version, COUNT(DISTINCT ip) AS count FROM stats WHERE date > DATE_SUB(NOW(), INTERVAL 30 DAY) GROUP BY version ORDER BY version'); $by_ver_7 = query_rows('SELECT version, COUNT(DISTINCT ip) AS count FROM stats WHERE date > DATE_SUB(NOW(), INTERVAL 7 DAY) GROUP BY version ORDER BY version'); $by_ver_2 = query_rows('SELECT version, COUNT(DISTINCT ip) AS count FROM stats WHERE date > DATE_SUB(NOW(), INTERVAL 2 DAY) GROUP BY version ORDER BY version'); $latest = query_rows('SELECT time, version, ip, agent FROM stats ORDER BY time DESC LIMIT 10'); foreach ($latest as &$row) { $row->time_fmt = strftime('%Y-%m-%d %H:%M', $row->time); } $data = array(); foreach ($by_date as $row) { $data[] = $row->count; } $data = array_slice($data, -30 * 3); array_pop($data); echo html_tag('h1', array(), "Total unique IPs: {$count}"); echo html_tag('h1', array(), "Unique IPs by day, all time") . chart($data, 2500); echo format_grouped_stats(PERIOD_WEEK, 2, "week", "Weekly statistics"); echo table('Unique IPs by version, last 30 days', array('version' => 'Version', 'count' => 'IPs'), $by_ver_30); echo table('Unique IPs by version, last 7 days', array('version' => 'Version', 'count' => 'IPs'), $by_ver_7); echo table('Unique IPs by version, last 2 days', array('version' => 'Version', 'count' => 'IPs'), $by_ver_2); echo table('Last 10 pings', array('time_fmt' => 'Date', 'version' => 'Version', 'agent' => 'User Agent'), $latest); echo table('Unique IPs by day, all time', array('date' => 'Date', 'count' => 'Pings'), array_reverse($by_date)); // echo format_grouped_stats(PERIOD_MONTH, 8, "month", "Monthly statistics");