Added Chart to RecentLogin Statistics Page - Refs #8081

1.10.x
José Loguercio 10 years ago
parent a87abb12e1
commit 3bb91f1219
  1. 30
      main/admin/statistics/index.php
  2. 33
      main/inc/ajax/statistics.ajax.php
  3. 3731
      main/inc/lib/javascript/chartjs/Chart.js
  4. 11
      main/inc/lib/javascript/chartjs/Chart.min.js
  5. 1
      main/inc/lib/statistics.lib.php

@ -11,20 +11,20 @@ require_once '../../inc/global.inc.php';
api_protect_admin_script();
$interbreadcrumb[] = array('url' => '../index.php', 'name' => get_lang('PlatformAdmin'));
$htmlHeadXtra[] = '<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>';
$htmlHeadXtra[] = ''
. '<script type="text/javascript">'
. '$(document).ready(function() {'
. '$.ajax({'
. 'url: "'. api_get_path(WEB_CODE_PATH) .'inc/ajax/statistics.ajax.php?a=recentlogins",'
. 'type: "POST",'
. 'success: function(data) {'
. 'var myLine = new Chart(document.getElementById("canvas").getContext("2d")).Line(data { animateScale: true, responsive: true });'
. '};'
. '});'
. '});'
. '</script>';
$htmlHeadXtra[] = api_get_js('chartjs/Chart.min.js');
$htmlHeadXtra[] = ''
. '<script type="text/javascript">'
. '$(document).ready(function() {'
. '$.ajax({'
. 'url: "'. api_get_path(WEB_CODE_PATH) .'inc/ajax/statistics.ajax.php?a=recentlogins",'
. 'type: "POST",'
. 'success: function(data) {'
. 'Chart.defaults.global.responsive = true;'
. 'var myLine = new Chart(document.getElementById("canvas").getContext("2d")).Line(data);'
. '}'
. '});'
. '});'
. '</script>';
$tool_name = get_lang('Statistics');
Display::display_header($tool_name);
@ -116,7 +116,7 @@ switch ($report) {
Statistics::printStats(get_lang('Students'), $students);
break;
case 'recentlogins':
echo '<canvas id="canvas" width="400" height=400"></canvas>';
echo '<canvas class="col-md-12" id="canvas" ></canvas>';
Statistics::printRecentLoginStats();
Statistics::printRecentLoginStats(true);
break;

@ -13,6 +13,7 @@ $action = isset($_REQUEST['a']) ? $_REQUEST['a'] : null;
switch ($action) {
case 'recentlogins':
header('Content-type: application/json');
$list = [];
@ -23,28 +24,28 @@ switch ($action) {
$list['labels'][] = $tick;
}
$list['dataset'][0]['label'] = get_lang('Logins');
$list['dataset'][0]['fillColor'] = "rgba(220,220,220,0.2)";
$list['dataset'][0]['strokeColor'] = "rgba(220,220,220,1)";
$list['dataset'][0]['pointColor'] = "rgba(220,220,220,1)";
$list['dataset'][0]['pointStrokeColor'] = "#fff";
$list['dataset'][0]['pointHighlightFill'] = "#fff";
$list['dataset'][0]['pointHighlightStroke'] = "rgba(220,220,220,1)";
$list['datasets'][0]['label'] = get_lang('Logins');
$list['datasets'][0]['fillColor'] = "rgba(151,187,205,0.2)";
$list['datasets'][0]['strokeColor'] = "rgba(151,187,205,1)";
$list['datasets'][0]['pointColor'] = "rgba(151,187,205,1)";
$list['datasets'][0]['pointStrokeColor'] = "#fff";
$list['datasets'][0]['pointHighlightFill'] = "#fff";
$list['datasets'][0]['pointHighlightStroke'] = "rgba(151,187,205,1)";
foreach ($all as $tick => $tock) {
$list['dataset'][0]['data'][] = $tock;
$list['datasets'][0]['data'][] = $tock;
}
$list['dataset'][1]['label'] = get_lang('Logins2');
$list['dataset'][1]['fillColor'] = "rgba(220,220,220,0.2)";
$list['dataset'][1]['strokeColor'] = "rgba(220,220,220,1)";
$list['dataset'][1]['pointColor'] = "rgba(220,220,220,1)";
$list['dataset'][1]['pointStrokeColor'] = "#fff";
$list['dataset'][1]['pointHighlightFill'] = "#fff";
$list['dataset'][1]['pointHighlightStroke'] = "rgba(220,220,220,1)";
$list['datasets'][1]['label'] = get_lang('DistinctUsersLogins');
$list['datasets'][1]['fillColor'] = "rgba(0,204,0,0.2)";
$list['datasets'][1]['strokeColor'] = "rgba(0,204,0,1)";
$list['datasets'][1]['pointColor'] = "rgba(0,204,0,1)";
$list['datasets'][1]['pointStrokeColor'] = "#fff";
$list['datasets'][1]['pointHighlightFill'] = "#fff";
$list['datasets'][1]['pointHighlightStroke'] = "rgba(0,204,0,1)";
foreach ($distinct as $tick => $tock) {
$list['dataset'][1]['data'][] = $tock;
$list['datasets'][1]['data'][] = $tock;
}
echo json_encode($list);

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -557,7 +557,6 @@ class Statistics
$sql[get_lang('ThisDay')] = "SELECT count($field) AS number FROM $table $table_url WHERE DATE_ADD(login_date, INTERVAL 1 DAY) >= '$now' $where_url";
$sql[get_lang('Last7days')] = "SELECT count($field) AS number FROM $table $table_url WHERE DATE_ADD(login_date, INTERVAL 7 DAY) >= '$now' $where_url";
$sql[get_lang('Last31days')] = "SELECT count($field) AS number FROM $table $table_url WHERE DATE_ADD(login_date, INTERVAL 31 DAY) >= '$now' $where_url";
$sql[get_lang('Total')] = "SELECT count($field) AS number FROM $table $table_url WHERE 1=1 $where_url";
foreach ($sql as $index => $query) {
$res = Database::query($query);
$obj = Database::fetch_object($res);

Loading…
Cancel
Save