[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/sites/all/modules/views/modules/user/ -> views_handler_field_user_roles.inc (source)

   1  <?php
   2  // $Id: views_handler_field_user_roles.inc,v 1.2 2009/07/01 23:07:14 merlinofchaos Exp $
   3  /**
   4   * Field handler to provide a list of roles.
   5   */
   6  class views_handler_field_user_roles extends views_handler_field_prerender_list {
   7    function construct() {
   8      parent::construct();
   9      $this->additional_fields['uid'] = array('table' => 'users', 'field' => 'uid');
  10    }
  11  
  12    function query() {
  13      $this->add_additional_fields();
  14      $this->field_alias = $this->aliases['uid'];
  15    }
  16  
  17    function pre_render($values) {
  18      $uids = array();
  19      $this->items = array();
  20  
  21      foreach ($values as $result) {
  22        $uids[] = $result->{$this->aliases['uid']};
  23      }
  24  
  25      if ($uids) {
  26        $result = db_query("SELECT u.uid, u.rid, r.name FROM {role} r INNER JOIN {users_roles} u ON u.rid = r.rid WHERE u.uid IN (" . implode(', ', $uids) . ") ORDER BY r.name");
  27        while ($role = db_fetch_object($result)) {
  28          $this->items[$role->uid][$role->rid]['role'] = check_plain($role->name);
  29          $this->items[$role->uid][$role->rid]['rid'] = $role->rid;
  30        }
  31      }
  32    }
  33  
  34    function render_item($count, $item) {
  35      return $item['role'];
  36    }
  37  
  38    function document_self_tokens(&$tokens) {
  39      $tokens['[' . $this->options['id'] . '-role' . ']'] = t('The name of the role.');
  40      $tokens['[' . $this->options['id'] . '-rid' . ']'] = t('The role ID of the role.');
  41    }
  42  
  43    function add_self_tokens(&$tokens, $item) {
  44      $tokens['[' . $this->options['id'] . '-role' . ']'] = $item['role'];
  45      $tokens['[' . $this->options['id'] . '-rid' . ']'] = $item['rid'];
  46    }
  47  }


Generated: Thu Mar 24 11:18:33 2011 Cross-referenced by PHPXref 0.7