You are here

class RequiredByRole in Required by role 7.2

@file Required by role plugin class.

Hierarchy

Expanded class hierarchy of RequiredByRole

1 string reference to 'RequiredByRole'
by_role.inc in plugins/required/by_role.inc

File

plugins/required/RequiredByRole.php, line 7
Required by role plugin class.

View source
class RequiredByRole extends RequiredPlugin {
  protected $roles;
  protected $user_roles;

  /**
   * IsRequired method implementation.
   */
  public function isRequired($context) {
    $this->context = $context;
    $this
      ->setConfiguration();
    $match = array_intersect($this
      ->getUserRoles(), $this
      ->getRequiredRoles());
    $is_required = !empty($match);
    return $is_required;
  }

  /**
   * Provides a form element to configure the plugin options.
   */
  protected function formElement() {
    $roles = user_roles();
    unset($roles[DRUPAL_AUTHENTICATED_RID]);
    $header = array(
      'name' => t('Role'),
    );
    foreach ($roles as $rid => $role) {
      $options[$rid] = array(
        'name' => $role,
      );
    }
    $element = array(
      '#title' => t('Roles'),
      '#type' => 'tableselect',
      '#header' => $header,
      '#options' => $options,
      '#empty' => t('No roles available.'),
    );
    return $element;
  }

  /**
   * Getter function.
   */
  public function getUserRoles() {
    return array_keys($this->user_roles);
  }

  /**
   * Getter function.
   */
  public function getRequiredRoles() {
    return $this->roles;
  }

  /**
   * Setter function.
   */
  public function setUserRoles($roles) {
    $this->user_roles = $roles;
    return $this;
  }

  /**
   * Setter function.
   */
  public function setRequiredRoles($roles) {
    $this->roles = $roles;
    return $this;
  }

  /**
   * Helper method.
   */
  protected function setConfiguration() {
    $settings = $this
      ->getSettings();
    $account = $this
      ->getAccount();
    $this
      ->setUserRoles($account->roles);
    $this
      ->setRequiredRoles($settings['required_plugin_options']);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
RequiredByRole::$roles protected property
RequiredByRole::$user_roles protected property
RequiredByRole::formElement protected function Provides a form element to configure the plugin options. Overrides RequiredPlugin::formElement
RequiredByRole::getRequiredRoles public function Getter function.
RequiredByRole::getUserRoles public function Getter function.
RequiredByRole::isRequired public function IsRequired method implementation. Overrides RequiredInterface::isRequired
RequiredByRole::setConfiguration protected function Helper method.
RequiredByRole::setRequiredRoles public function Setter function.
RequiredByRole::setUserRoles public function Setter function.
RequiredPlugin::$context protected property
RequiredPlugin::form public function Provides a form element to configure the plugin options.
RequiredPlugin::getAccount protected function Helper function to get the plugin settings.
RequiredPlugin::getSettings protected function Helper function to get the plugin settings.