@ -233,15 +233,17 @@ function who_is_online($from, $number_of_items, $column = null, $direction = nul
$result = Database::query($query);
if ($result) {
$valid_date_time = new DateTime();
/* $valid_date_time = new DateTime();
$diff = "PT".$time_limit.'M';
$valid_date_time->sub(new DateInterval($diff));
$valid_date_time->sub(new DateInterval($diff));*/
$users_online = array();
while(list($login_user_id, $login_date) = Database::fetch_row($result)) {
$user_login_date = new DateTime($login_date);
$users_online[] = $login_user_id;
/*$user_login_date = new DateTime($login_date);
var_dump($user_login_date->format('Y-m-d H:i:s'), $valid_date_time->format('Y-m-d H:i:s'));
if ($user_login_date->format('Y-m-d H:i:s') > $valid_date_time->format('Y-m-d H:i:s')) {
$users_online[] = $login_user_id;
}
}*/
}
return $users_online;
} else {
@ -257,11 +259,9 @@ function who_is_online_count($time_limit = null, $friends = false) {
}
$track_online_table = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ONLINE);
$friend_user_table = Database::get_main_table(TABLE_MAIN_USER_REL_USER);
$query = '' ;
$table_user = Database::get_main_table(TABLE_MAIN_USER) ;
/*$current_date = api_get_utc_datetime();
$current_date = api_strtotime($current_date, 'UTC');
$current_date = date('Y-m-d H:i:s', $current_date);*/
$query = '';
$online_time = time() - $time_limit*60;
$current_date = api_get_utc_datetime($online_time);
@ -273,8 +273,9 @@ function who_is_online_count($time_limit = null, $friends = false) {
WHERE login_date >= '$current_date' AND friend_user_id < > '".api_get_user_id()."' AND relation_type='".USER_RELATION_TYPE_FRIEND."' AND user_id = '".api_get_user_id()."' ";
} else {
// All users online
$query = "SELECT count(login_id) as count FROM $track_online_table
WHERE login_user_id < > 2 AND login_date >= '$current_date' ";
$query = "SELECT count(login_id) as count
FROM $track_online_table track INNER JOIN $table_user u ON (u.user_id=track.login_user_id)
WHERE u.status != ".ANONYMOUS." AND login_date >= '$current_date' ";
}
if (api_get_multiple_access_url()) {
@ -289,7 +290,8 @@ function who_is_online_count($time_limit = null, $friends = false) {
} else {
// all users online
$query = "SELECT count(login_id) as count FROM $track_online_table track
WHERE login_user_id < > 2 AND track.access_url_id = $access_url_id AND login_date >= '$current_date' ";
INNER JOIN $table_user u ON (u.user_id=track.login_user_id)
WHERE u.status != ".ANONYMOUS." AND track.access_url_id = $access_url_id AND login_date >= '$current_date' ";
}
}
}
@ -339,16 +341,16 @@ function who_is_online_in_this_course($from, $number_of_items, $uid, $time_limit
$result = Database::query($query);
if ($result) {
$valid_date_time = new DateTime();
/* $valid_date_time = new DateTime();
$diff = "PT".$time_limit.'M';
$valid_date_time->sub(new DateInterval($diff));
$valid_date_time->sub(new DateInterval($diff));*/
$users_online = array();
while(list($login_user_id, $login_date) = Database::fetch_row($result)) {
$user_login_date = new DateTime($login_date);
if ($user_login_date > $valid_date_time->format('Y-m-d H:i:s')) {
/* $user_login_date = new DateTime($login_date);
if ($user_login_date > $valid_date_time->format('Y-m-d H:i:s')) {*/
$users_online[] = $login_user_id;
}
// }
}
return $users_online;
} else {