| @@ 178-207 (lines=30) @@ | ||
| 175 | * @param int $user_id |
|
| 176 | * @return bool |
|
| 177 | */ |
|
| 178 | function user_is_online($user_id) |
|
| 179 | { |
|
| 180 | $track_online_table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ONLINE); |
|
| 181 | $table_user = Database::get_main_table(TABLE_MAIN_USER); |
|
| 182 | ||
| 183 | $access_url_id = api_get_current_access_url_id(); |
|
| 184 | $time_limit = api_get_setting('time_limit_whosonline'); |
|
| 185 | ||
| 186 | $online_time = time() - $time_limit * 60; |
|
| 187 | $limit_date = api_get_utc_datetime($online_time); |
|
| 188 | $user_id = intval($user_id); |
|
| 189 | ||
| 190 | $query = " SELECT login_user_id, login_date |
|
| 191 | FROM $track_online_table track |
|
| 192 | INNER JOIN $table_user u |
|
| 193 | ON (u.id=track.login_user_id) |
|
| 194 | WHERE |
|
| 195 | track.access_url_id = $access_url_id AND |
|
| 196 | login_date >= '".$limit_date."' AND |
|
| 197 | u.id = $user_id |
|
| 198 | LIMIT 1 "; |
|
| 199 | ||
| 200 | $result = Database::query($query); |
|
| 201 | if (Database::num_rows($result)) { |
|
| 202 | return true; |
|
| 203 | } |
|
| 204 | ||
| 205 | return false; |
|
| 206 | ||
| 207 | } |
|
| 208 | ||
| 209 | /** |
|
| 210 | * Gives a list of people online now (and in the last $valid minutes) |
|
| @@ 5336-5364 (lines=29) @@ | ||
| 5333 | * @param int $user_id |
|
| 5334 | * @return bool |
|
| 5335 | */ |
|
| 5336 | public static function user_is_online($user_id) |
|
| 5337 | { |
|
| 5338 | $track_online_table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ONLINE); |
|
| 5339 | $table_user = Database::get_main_table(TABLE_MAIN_USER); |
|
| 5340 | ||
| 5341 | $access_url_id = api_get_current_access_url_id(); |
|
| 5342 | $time_limit = api_get_setting('display.time_limit_whosonline'); |
|
| 5343 | ||
| 5344 | $online_time = time() - $time_limit*60; |
|
| 5345 | $limit_date = api_get_utc_datetime($online_time); |
|
| 5346 | $user_id = intval($user_id); |
|
| 5347 | ||
| 5348 | $query = " SELECT login_user_id,login_date |
|
| 5349 | FROM $track_online_table track |
|
| 5350 | INNER JOIN $table_user u ON (u.id=track.login_user_id) |
|
| 5351 | WHERE |
|
| 5352 | track.access_url_id = $access_url_id AND |
|
| 5353 | login_date >= '".$limit_date."' AND |
|
| 5354 | u.id = $user_id |
|
| 5355 | LIMIT 1 "; |
|
| 5356 | ||
| 5357 | $result = Database::query($query); |
|
| 5358 | if (Database::num_rows($result)) { |
|
| 5359 | ||
| 5360 | return true; |
|
| 5361 | } |
|
| 5362 | ||
| 5363 | return false; |
|
| 5364 | } |
|
| 5365 | ||
| 5366 | /** |
|
| 5367 | * @param int $time_limit seconds |
|