Projet

Général

Profil

Paste
Télécharger (984 octets) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / user_stats / views / views_handler_filter_is_online.inc @ 13755f8d

1
<?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
}