Skip to content

Commit

Permalink
Fix report accesses by user overview #3118
Browse files Browse the repository at this point in the history
Fix IP list
  • Loading branch information
jmontoyaa committed Jun 22, 2020
1 parent f5c2472 commit 53094d8
Showing 1 changed file with 32 additions and 12 deletions.
44 changes: 32 additions & 12 deletions main/inc/lib/myspace.lib.php
Expand Up @@ -2844,7 +2844,11 @@ public static function getNumberOfTrackAccessOverview()
$result = Database::query($sql);
$row = Database::fetch_assoc($result);

return $row['count'];
if ($row) {
return $row['count'];
}

return 0;
}

private static function getDataAccessTrackingFilters($sql)
Expand All @@ -2867,7 +2871,7 @@ private static function getDataAccessTrackingFilters($sql)
$sql .= " AND u.status <> ".ANONYMOUS;

if (isset($_GET['date']) && !empty($_GET['date'])) {
$dateRangePicker = new DateRangePicker('date');
$dateRangePicker = new DateRangePicker('date', '', ['timePicker' => 'false']);
$dates = $dateRangePicker->parseDateRange($_GET['date']);
if (isset($dates['start']) && !empty($dates['start'])) {
$dates['start'] = Database::escape_string($dates['start']);
Expand Down Expand Up @@ -2940,8 +2944,7 @@ public static function getUserDataAccessTrackingOverview(

$sql .= " GROUP BY u.id ";
$sql .= " ORDER BY col$column $orderDirection ";

$sql .= " LIMIT $from,$numberItems";
$sql .= " LIMIT $from, $numberItems";

$result = Database::query($sql);

Expand All @@ -2960,6 +2963,20 @@ public static function getUserDataAccessTrackingOverview(
$sessionId = (int) $_GET['session_id'];
}

$dateStart = null;
$dateEnd = null;
if (isset($_GET['date']) && !empty($_GET['date'])) {
$dateRangePicker = new DateRangePicker('date', '', ['timePicker' => 'false']);
$dates = $dateRangePicker->parseDateRange($_GET['date']);

if (isset($dates['start']) && !empty($dates['start'])) {
$dateStart = Database::escape_string($dates['start']);
}
if (isset($dates['end']) && !empty($dates['end'])) {
$dateEnd = Database::escape_string($dates['end']);
}
}

$return = [];
//TODO: Dont use numeric index
foreach ($data as $key => $info) {
Expand All @@ -2968,17 +2985,20 @@ public static function getUserDataAccessTrackingOverview(
$timeSpent = Tracking::get_time_spent_on_the_course($userId, $courseId, $sessionId);
$timeSpent = api_time_to_hms($timeSpent);

$ipResult = Database::select(
'user_ip',
$track_e_login,
['where' => [
'? BETWEEN login_date AND logout_date AND login_user_id = ?' => [$info['logout_course_date'], $userId],
]]
);
$ipResult = [];
if (!empty($dateStart)) {
$ipResult = Database::select(
'DISTINCT(user_ip)',
$track_e_login,
['where' => [
'? BETWEEN ? AND ? AND login_user_id = ?' => [$info['logout_course_date'], $dateStart, $dateEnd, $userId],
]]
);
}

$ipList = '';
if (!empty($ipResult)) {
$ipList = implode(',', array_column($ipResult, 'user_ip'));
$ipList = implode(', ', array_column($ipResult, 'user_ip'));
}

$return[$info['user_id']] = [
Expand Down

0 comments on commit 53094d8

Please sign in to comment.