00001 <?php 00002 00003 /** 00004 * Expose current user role as a context condition. 00005 */ 00006 class context_condition_user extends context_condition { 00007 function condition_values() { 00008 $values = array(); 00009 foreach (user_roles() as $rid => $role_name) { 00010 if ($rid == DRUPAL_ANONYMOUS_RID) { 00011 $values['anonymous user'] = check_plain($role_name); 00012 } 00013 elseif ($rid == DRUPAL_AUTHENTICATED_RID) { 00014 $values['authenticated user'] = check_plain($role_name); 00015 } 00016 else { 00017 $values[$role_name] = check_plain($role_name); 00018 } 00019 } 00020 return $values; 00021 } 00022 00023 function execute($account) { 00024 $roles = $account->roles; 00025 foreach ($roles as $rid => $role) { 00026 foreach ($this->get_contexts($role) as $context) { 00027 $this->condition_met($context, $role); 00028 } 00029 } 00030 } 00031 }
1.4.7