More fixes in the who is online course

skala
Julio Montoya 13 years ago
parent af39549929
commit b064f1a490
  1. 2
      main/inc/ajax/online.ajax.php
  2. 22
      main/inc/lib/online.inc.php
  3. 2
      whoisonline.php

@ -16,7 +16,7 @@ switch($action) {
if (!in_array($page, $_SESSION['online_user_items']) && $page <= $max_page) {
if (isset($_GET['cidReq']) && strlen($_GET['cidReq']) > 0) {
$user_list = who_is_online_in_this_course(api_get_user_id(), api_get_setting('time_limit_whosonline'), $_GET['cidReq']);
$user_list = who_is_online_in_this_course($page_rows, $page_rows + 10, api_get_user_id(), api_get_setting('time_limit_whosonline'), $_GET['cidReq']);
} else {
$page_rows = $page*10;
$user_list = who_is_online($page_rows, $page_rows + 10);

@ -159,7 +159,6 @@ function who_is_online($from, $number_of_items, $column = null, $direction = nul
if ($friends) {
$column = 'login_date';
}
}
if (empty($direction)) {
@ -305,9 +304,9 @@ function who_is_online_count($valid = null, $friends = false) {
* Gets the full user name for a given user ID
* @param int User ID
* @return string The full username, elements separated by an HTML space
* @deprecated user api_get_user_info($user_id)
*/
function GetFullUserName($uid)
{
function GetFullUserName($uid) {
$uid = (int) $uid;
$uid = Database::escape_string($uid);
$user_table = Database::get_main_table(TABLE_MAIN_USER);
@ -382,14 +381,19 @@ function chatcall() {
* @param string Course code (could be empty, but then the function returns false)
* @return array Each line gives a user id and a login time
*/
function who_is_online_in_this_course($uid, $valid, $coursecode=null)
{
function who_is_online_in_this_course($from, $number_of_items, $uid, $valid, $coursecode) {
if(empty($coursecode)) return false;
$track_online_table = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ONLINE);
$coursecode = Database::escape_string($coursecode);
$valid = Database::escape_string($valid);
$query = "SELECT login_user_id,login_date FROM ".$track_online_table ." WHERE course='".$coursecode."' AND DATE_ADD(login_date,INTERVAL $valid MINUTE) >= NOW() ";
$from = intval($from);
$number_of_items = intval($number_of_items);
$query = "SELECT login_user_id,login_date FROM ".$track_online_table ."
WHERE course='".$coursecode."' AND DATE_ADD(login_date,INTERVAL $valid MINUTE) >= NOW()
LIMIT $from, $number_of_items
";
$result = Database::query($query);
if (count($result)>0) {
$rtime = time();
@ -411,8 +415,7 @@ function who_is_online_in_this_course($uid, $valid, $coursecode=null)
$year = substr($login_date,0,4);
// db timestamp
$dbtime = mktime($hour,$minute,$secund,$month,$day,$year);
if ($dbtime >= $validtime)
{
if ($dbtime >= $validtime) {
array_push($rarray,$barray);
}
}
@ -422,8 +425,7 @@ function who_is_online_in_this_course($uid, $valid, $coursecode=null)
}
}
function who_is_online_in_this_course_count($uid, $valid, $coursecode=null)
{
function who_is_online_in_this_course_count($uid, $valid, $coursecode=null) {
if(empty($coursecode)) return false;
$track_online_table = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ONLINE);
$coursecode = Database::escape_string($coursecode);

@ -154,7 +154,7 @@ if ($_GET['chatid'] != '') {
if ((api_get_setting('showonline', 'world') == 'true' && !$_user['user_id']) || ((api_get_setting('showonline', 'users') == 'true' || api_get_setting('showonline', 'course') == 'true') && $_user['user_id'])) {
if(isset($_GET['cidReq']) && strlen($_GET['cidReq']) > 0) {
$user_list = who_is_online_in_this_course(api_get_user_id(), api_get_setting('time_limit_whosonline'), $_GET['cidReq']);
$user_list = who_is_online_in_this_course(0, 10, api_get_user_id(), api_get_setting('time_limit_whosonline'), $_GET['cidReq']);
} else {
$user_list = who_is_online(0, 10);
}

Loading…
Cancel
Save