diff --git a/main/inc/ajax/myspace.ajax.php b/main/inc/ajax/myspace.ajax.php index ebd64b62e2..a20b3216cf 100755 --- a/main/inc/ajax/myspace.ajax.php +++ b/main/inc/ajax/myspace.ajax.php @@ -7,6 +7,7 @@ require_once __DIR__.'/../global.inc.php'; $action = $_GET['a']; switch ($action) { + // At this date : 23/02/2017, a minor review can't determine where is used this case 'access_detail' case 'access_detail': $user_id = intval($_REQUEST['student']); $course_code = Security::remove_XSS($_REQUEST['course']); diff --git a/main/inc/lib/myspace.lib.php b/main/inc/lib/myspace.lib.php index 9c5e120f3b..ac998b3256 100644 --- a/main/inc/lib/myspace.lib.php +++ b/main/inc/lib/myspace.lib.php @@ -2814,23 +2814,38 @@ function grapher($sql_result, $start_date, $end_date, $type = "") if (empty($start_date)) { $start_date =""; } if (empty($end_date)) { $end_date =""; } if ($type == ""){ $type = 'day'; } - $main_year = $main_month_year = $main_day = array(); - // get last 8 days/months - $last_days = 5; - $last_months = 3; - for ($i = $last_days; $i >= 0; $i--) { - $main_day[date ('d-m-Y', time () - $i * 3600 * 24)] = 0; + $main_year = $main_month_year = $main_day = []; + + $period = new DatePeriod( + new DateTime($start_date), + new DateInterval('P1D'), + new DateTime($end_date) + ); + + foreach ($period as $date) { + $main_day[$date->format('d-m-Y')] = 0; } - for ($i = $last_months; $i >= 0; $i--) { - $main_month_year[date ('m-Y', time () - $i * 30 * 3600 * 24)] = 0; + + $period = new DatePeriod( + new DateTime($start_date), + new DateInterval('P1M'), + new DateTime($end_date) + ); + + foreach ($period as $date) { + $main_month_year[$date->format('m-Y')] = 0; } $i = 0; if (is_array($sql_result) && count($sql_result) > 0) { foreach ($sql_result as $key => $data) { //creating the main array - $main_month_year[date('m-Y', $data['login'])] += float_format(($data['logout'] - $data['login']) / 60, 0); - $main_day[date('d-m-Y', $data['login'])] += float_format(($data['logout'] - $data['login']) / 60, 0); + if (isset($main_month_year[date('m-Y', $data['login'])])) { + $main_month_year[date('m-Y', $data['login'])] += float_format(($data['logout'] - $data['login']) / 60, 0); + } + if (isset($main_day[date('d-m-Y', $data['login'])])) { + $main_day[date('d-m-Y', $data['login'])] += float_format(($data['logout'] - $data['login']) / 60, 0); + } if ($i > 500) { break; } diff --git a/main/mySpace/access_details.php b/main/mySpace/access_details.php index 922f5c2b8e..7641a94f01 100755 --- a/main/mySpace/access_details.php +++ b/main/mySpace/access_details.php @@ -132,28 +132,38 @@ echo Display::page_subheader( $form->setDefaults(array('from' => $from, 'to' => $to)); $form->display(); ?> -