1 |
85ad3d82
|
Assos Assos
|
<?php
|
2 |
|
|
|
3 |
|
|
/**
|
4 |
|
|
* @file
|
5 |
|
|
* User Stats is user online sort handler.
|
6 |
|
|
*/
|
7 |
|
|
|
8 |
|
|
/**
|
9 |
|
|
* Is user online sort handler.
|
10 |
|
|
*/
|
11 |
|
|
class views_handler_filter_is_online extends views_handler_filter_boolean_operator {
|
12 |
|
|
function query() {
|
13 |
|
|
$this->ensure_my_table();
|
14 |
|
|
$join = new views_join;
|
15 |
|
|
$join->construct('sessions', $this->table_alias, 'uid', 'uid', array());
|
16 |
|
|
$session = $this->query->ensure_table('sessions', NULL, $join);
|
17 |
|
|
|
18 |
|
|
// We have to make sure this field is in the query, and Views knows to
|
19 |
|
|
// create GROUP BY's.
|
20 |
|
|
$sql_if_part = "IF((" . REQUEST_TIME . " - $session.timestamp) < " . variable_get('user_block_seconds_online', 900) . ", 1, 0)";
|
21 |
|
|
$sql = $sql_if_part . " = :value";
|
22 |
|
|
|
23 |
|
|
$this->query->add_where_expression($this->options['group'], $sql, array(':value' => $this->value));
|
24 |
|
|
}
|
25 |
|
|
|
26 |
|
|
/**
|
27 |
|
|
* Override default True/False options.
|
28 |
|
|
*/
|
29 |
|
|
function get_value_options() {
|
30 |
|
|
$this->value_options = array(
|
31 |
|
|
1 => t('Online'),
|
32 |
|
|
0 => t('Offline'),
|
33 |
|
|
);
|
34 |
|
|
}
|
35 |
|
|
} |