Zeile 17 | Zeile 17 |
---|
if($mybb->input['action'] == "do_graph") { $range = array(
|
if($mybb->input['action'] == "do_graph") { $range = array(
|
'start' => (int)$mybb->input['start'], 'end' => (int)$mybb->input['end']
| 'start' => $mybb->get_input('start', MyBB::INPUT_INT), 'end' => $mybb->get_input('end', MyBB::INPUT_INT)
|
); create_graph($mybb->input['type'], $range); die;
| ); create_graph($mybb->input['type'], $range); die;
|
Zeile 48 | Zeile 48 |
---|
$plugins->run_hooks("admin_tools_statistics_overall_begin");
// Do we have date range criteria?
|
$plugins->run_hooks("admin_tools_statistics_overall_begin");
// Do we have date range criteria?
|
if($mybb->input['from_year'])
| if($mybb->get_input('from_year'))
|
{
|
{
|
$start_dateline = mktime(0, 0, 0, (int)$mybb->input['from_month'], (int)$mybb->input['from_day'], (int)$mybb->input['from_year']); $end_dateline = mktime(23, 59, 59, (int)$mybb->input['to_month'], (int)$mybb->input['to_day'], (int)$mybb->input['to_year']);
| $start_dateline = mktime(0, 0, 0, $mybb->get_input('from_month', MyBB::INPUT_INT), $mybb->get_input('from_day', MyBB::INPUT_INT), $mybb->get_input('from_year', MyBB::INPUT_INT)); $end_dateline = mktime(23, 59, 59, $mybb->get_input('to_month', MyBB::INPUT_INT), $mybb->get_input('to_day', MyBB::INPUT_INT), $mybb->get_input('to_year', MyBB::INPUT_INT));
|
$range = "&start={$start_dateline}&end={$end_dateline}"; }
// Otherwise default to the last 30 days
|
$range = "&start={$start_dateline}&end={$end_dateline}"; }
// Otherwise default to the last 30 days
|
if(!$mybb->input['from_year'] || $start_dateline > TIME_NOW || $end_dateline > mktime(23, 59, 59))
| if(!$mybb->get_input('from_year') || $start_dateline > TIME_NOW || $end_dateline > mktime(23, 59, 59))
|
{ $start_dateline = TIME_NOW-(60*60*24*30); $end_dateline = TIME_NOW;
| { $start_dateline = TIME_NOW-(60*60*24*30); $end_dateline = TIME_NOW;
|
Zeile 69 | Zeile 69 |
---|
$last_dateline = 0;
|
$last_dateline = 0;
|
if($mybb->input['page'] && $mybb->input['page'] > 1)
| if(!empty($mybb->input['page']) && $mybb->input['page'] > 1)
|
{
|
{
|
$mybb->input['page'] = $mybb->get_input('page', 1);
| $mybb->input['page'] = $mybb->get_input('page', MyBB::INPUT_INT);
|
$start = ($mybb->input['page']*$per_page)-$per_page; } else
| $start = ($mybb->input['page']*$per_page)-$per_page; } else
|
Zeile 90 | Zeile 90 |
---|
$stat['change_users'] = ($stat['numusers'] - $stats[$last_dateline]['numusers']); $stat['change_threads'] = ($stat['numthreads'] - $stats[$last_dateline]['numthreads']); $stat['change_posts'] = ($stat['numposts'] - $stats[$last_dateline]['numposts']);
|
$stat['change_users'] = ($stat['numusers'] - $stats[$last_dateline]['numusers']); $stat['change_threads'] = ($stat['numthreads'] - $stats[$last_dateline]['numthreads']); $stat['change_posts'] = ($stat['numposts'] - $stats[$last_dateline]['numposts']);
|
| } else { $stat['change_users'] = 0; $stat['change_threads'] = 0; $stat['change_posts'] = 0;
|
}
$stats[$stat['dateline']] = $stat;
|
}
$stats[$stat['dateline']] = $stat;
|
|
|
$last_dateline = $stat['dateline']; }
if(empty($stats)) { flash_message($lang->error_no_results_found_for_criteria, 'error');
|
$last_dateline = $stat['dateline']; }
if(empty($stats)) { flash_message($lang->error_no_results_found_for_criteria, 'error');
|
admin_redirect("index.php?module=tools");
| |
}
krsort($stats, SORT_NUMERIC);
| }
krsort($stats, SORT_NUMERIC);
|
Zeile 119 | Zeile 124 |
---|
echo " ".$form->generate_submit_button($lang->view); echo "</fieldset>\n"; $form->end();
|
echo " ".$form->generate_submit_button($lang->view); echo "</fieldset>\n"; $form->end();
|
echo "<fieldset><legend>{$lang->users}</legend>\n"; echo "<img src=\"index.php?module=tools-statistics&action=do_graph&type=users{$range}\" />\n"; echo "</fieldset>\n";
echo "<fieldset><legend>{$lang->threads}</legend>\n"; echo "<img src=\"index.php?module=tools-statistics&action=do_graph&type=threads{$range}\" />\n"; echo "</fieldset>\n";
echo "<fieldset><legend>{$lang->posts}</legend>\n"; echo "<img src=\"index.php?module=tools-statistics&action=do_graph&type=posts{$range}\" />\n"; echo "</fieldset>\n";
$total_rows = count($stats);
$table = new Table; $table->construct_header($lang->date); $table->construct_header($lang->users); $table->construct_header($lang->threads); $table->construct_header($lang->posts); $query = $db->simple_select("stats", "*", "dateline >= '".(int)$start_dateline."' AND dateline <= '".(int)$end_dateline."'", array('order_by' => 'dateline', 'order_dir' => 'desc', 'limit_start' => $start, 'limit' => $per_page)); while($stat = $db->fetch_array($query))
| if(!empty($stats))
|
{
|
{
|
$table->construct_cell("<strong>".date($mybb->settings['dateformat'], $stat['dateline'])."</strong>"); $table->construct_cell(my_number_format($stat['numusers'])." <small>".generate_growth_string($stats[$stat['dateline']]['change_users'])."</small>"); $table->construct_cell(my_number_format($stat['numthreads'])." <small>".generate_growth_string($stats[$stat['dateline']]['change_threads'])."</small>"); $table->construct_cell(my_number_format($stat['numposts'])." <small>".generate_growth_string($stats[$stat['dateline']]['change_posts'])."</small>"); $table->construct_row();
| echo "<fieldset><legend>{$lang->users}</legend>\n"; echo "<img src=\"index.php?module=tools-statistics&action=do_graph&type=users{$range}\" />\n"; echo "</fieldset>\n";
echo "<fieldset><legend>{$lang->threads}</legend>\n"; echo "<img src=\"index.php?module=tools-statistics&action=do_graph&type=threads{$range}\" />\n"; echo "</fieldset>\n";
echo "<fieldset><legend>{$lang->posts}</legend>\n"; echo "<img src=\"index.php?module=tools-statistics&action=do_graph&type=posts{$range}\" />\n"; echo "</fieldset>\n";
$total_rows = count($stats); $pages = ceil($total_rows / $per_page); if($mybb->input['page'] > $pages) { $mybb->input['page'] = 1; $start = 0; }
$table = new Table; $table->construct_header($lang->date); $table->construct_header($lang->users); $table->construct_header($lang->threads); $table->construct_header($lang->posts); $query = $db->simple_select("stats", "*", "dateline >= '".(int)$start_dateline."' AND dateline <= '".(int)$end_dateline."'", array('order_by' => 'dateline', 'order_dir' => 'desc', 'limit_start' => $start, 'limit' => $per_page)); while($stat = $db->fetch_array($query)) { $table->construct_cell("<strong>".date($mybb->settings['dateformat'], $stat['dateline'])."</strong>"); $table->construct_cell(my_number_format($stat['numusers'])." <small>".generate_growth_string($stats[$stat['dateline']]['change_users'])."</small>"); $table->construct_cell(my_number_format($stat['numthreads'])." <small>".generate_growth_string($stats[$stat['dateline']]['change_threads'])."</small>"); $table->construct_cell(my_number_format($stat['numposts'])." <small>".generate_growth_string($stats[$stat['dateline']]['change_posts'])."</small>"); $table->construct_row(); } $table->output($lang->overall_statistics);
$url_range = "&from_month=".$mybb->get_input('from_month', MyBB::INPUT_INT)."&from_day=".$mybb->get_input('from_day', MyBB::INPUT_INT)."&from_year=".$mybb->get_input('from_year', MyBB::INPUT_INT); $url_range .= "&to_month=".$mybb->get_input('to_month', MyBB::INPUT_INT)."&to_day=".$mybb->get_input('to_day', MyBB::INPUT_INT)."&to_year=".$mybb->get_input('to_year', MyBB::INPUT_INT);
echo draw_admin_pagination($mybb->input['page'], $per_page, $total_rows, "index.php?module=tools-statistics{$url_range}&page={page}");
|
}
|
}
|
$table->output($lang->overall_statistics);
$url_range = "&from_month=".(int)$mybb->input['from_month']."&from_day=".(int)$mybb->input['from_day']."&from_year=".(int)$mybb->input['from_year']; $url_range .= "&to_month=".(int)$mybb->input['to_month']."&to_day=".(int)$mybb->input['to_day']."&to_year=".(int)$mybb->input['to_year'];
echo draw_admin_pagination($mybb->input['page'], $per_page, $total_rows, "index.php?module=tools-statistics{$url_range}&page={page}");
| |
$page->output_footer(); }
|
$page->output_footer(); }
|
| /** * @param int $number * * @return string */
|
function generate_growth_string($number) { global $lang, $cp_style;
|
function generate_growth_string($number) { global $lang, $cp_style;
|
|
|
if($number === null)
|
if($number === null)
|
{
| {
|
return ""; }
|
return ""; }
|
|
|
$number = (int)$number; $friendly_number = my_number_format(abs($number));
if($number > 0) { $growth_string = "(<img src=\"./styles/{$cp_style}/images/icons/increase.png\" alt=\"{$lang->increase}\" title=\"{$lang->increase}\" style=\"vertical-align: middle; margin-top: -2px;\" /> {$friendly_number})";
|
$number = (int)$number; $friendly_number = my_number_format(abs($number));
if($number > 0) { $growth_string = "(<img src=\"./styles/{$cp_style}/images/icons/increase.png\" alt=\"{$lang->increase}\" title=\"{$lang->increase}\" style=\"vertical-align: middle; margin-top: -2px;\" /> {$friendly_number})";
|
}
| }
|
elseif($number == 0)
|
elseif($number == 0)
|
{
| {
|
$growth_string = "(<img src=\"./styles/{$cp_style}/images/icons/no_change.png\" alt=\"{$lang->no_change}\" title=\"{$lang->no_change}\" style=\"vertical-align: middle; margin-top: -2px;\" /> {$friendly_number})"; } else
| $growth_string = "(<img src=\"./styles/{$cp_style}/images/icons/no_change.png\" alt=\"{$lang->no_change}\" title=\"{$lang->no_change}\" style=\"vertical-align: middle; margin-top: -2px;\" /> {$friendly_number})"; } else
|
Zeile 185 | Zeile 204 |
---|
return $growth_string; }
|
return $growth_string; }
|
| /** * @param string $type users, threads, posts * @param array $range */
|
function create_graph($type, $range=null) { global $db;
| function create_graph($type, $range=null) { global $db;
|
Zeile 210 | Zeile 233 |
---|
}
require_once MYBB_ROOT.'inc/class_graph.php';
|
}
require_once MYBB_ROOT.'inc/class_graph.php';
|
| if(!Graph::can_use()) { die; }
|
$points = $stats = $datelines = array(); if($start == 0)
| $points = $stats = $datelines = array(); if($start == 0)
|