| [ Index ] |
PHP Cross Reference of Drupal 6 (gatewave) |
[Summary view] [Print] [Text view]
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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu Mar 24 11:18:33 2011 | Cross-referenced by PHPXref 0.7 |