| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Definition of views_plugin_access_role.
 
-  */
 
- /**
 
-  * Access plugin that provides role-based access control.
 
-  *
 
-  * @ingroup views_access_plugins
 
-  */
 
- class views_plugin_access_role extends views_plugin_access {
 
-   /**
 
-    * {@inheritdoc}
 
-    */
 
-   public function access($account) {
 
-     return views_check_roles(array_filter($this->options['role']), $account);
 
-   }
 
-   /**
 
-    * {@inheritdoc}
 
-    */
 
-   public function get_access_callback() {
 
-     return array('views_check_roles', array(array_filter($this->options['role'])));
 
-   }
 
-   /**
 
-    * {@inheritdoc}
 
-    */
 
-   public function summary_title() {
 
-     $count = count($this->options['role']);
 
-     if ($count < 1) {
 
-       return t('No role(s) selected');
 
-     }
 
-     elseif ($count > 1) {
 
-       return t('Multiple roles');
 
-     }
 
-     else {
 
-       $rids = views_ui_get_roles();
 
-       $rid = reset($this->options['role']);
 
-       return check_plain($rids[$rid]);
 
-     }
 
-   }
 
-   /**
 
-    * {@inheritdoc}
 
-    */
 
-   public function option_definition() {
 
-     $options = parent::option_definition();
 
-     $options['role'] = array('default' => array());
 
-     return $options;
 
-   }
 
-   /**
 
-    * {@inheritdoc}
 
-    */
 
-   public function options_form(&$form, &$form_state) {
 
-     parent::options_form($form, $form_state);
 
-     $form['role'] = array(
 
-       '#type' => 'checkboxes',
 
-       '#title' => t('Role'),
 
-       '#default_value' => $this->options['role'],
 
-       '#options' => array_map('check_plain', views_ui_get_roles()),
 
-       '#description' => t('Only the checked roles will be able to access this display. Note that users with "access all views" can see any view, regardless of role.'),
 
-     );
 
-   }
 
-   /**
 
-    * {@inheritdoc}
 
-    */
 
-   public function options_validate(&$form, &$form_state) {
 
-     if (!array_filter($form_state['values']['access_options']['role'])) {
 
-       form_error($form['role'], t('You must select at least one role if type is "by role"'));
 
-     }
 
-   }
 
-   /**
 
-    * {@inheritdoc}
 
-    */
 
-   public function options_submit(&$form, &$form_state) {
 
-     // I hate checkboxes.
 
-     $form_state['values']['access_options']['role'] = array_filter($form_state['values']['access_options']['role']);
 
-   }
 
- }
 
 
  |