You are here

function og_context_plugin_access_og_perm::options_form in Organic groups 7.2

Same name and namespace in other branches
  1. 7 og_context/includes/views/og_context_plugin_access_og_perm.inc \og_context_plugin_access_og_perm::options_form()

Provide the default form for setting options.

Overrides views_plugin_access::options_form

File

og_context/includes/views/handlers/og_context_plugin_access_og_perm.inc, line 30
Contains views access plugin for OG permissions

Class

og_context_plugin_access_og_perm
Allow views to allow access to only users with a specified permission in the current group.

Code

function options_form(&$form, &$form_state) {
  $perms = array();

  // Get list of permissions
  $module_info = system_get_info('module');
  foreach (og_get_permissions() as $perm => $info) {
    $module_name = $module_info[$info['module']]['name'];
    $perms[$module_name][$perm] = strip_tags($info['title']);
  }
  $form['perm'] = array(
    '#type' => 'select',
    '#options' => $perms,
    '#title' => t('OG permission'),
    '#default_value' => $this->options['perm'],
    '#description' => t('Only users with the selected permission flag in a group retrieved from context will be able to access this display.'),
  );
  $form['group_type'] = array(
    '#type' => 'select',
    '#options' => og_get_all_group_entity(),
    '#title' => t('Group type'),
    '#default_value' => $this->options['group_type'],
    '#description' => t('Determine what entity type that group should be of.'),
  );
  $current_display = $this->view->current_display;
  if ($this->view->display[$current_display]->handler
    ->has_path()) {

    // Show the group ID argument position only for "Page" displays.
    $form['group_id_arg'] = array(
      '#type' => 'select',
      '#title' => t('Argument position for group ID'),
      '#default_value' => $this->options['group_id_arg'],
      '#options' => array(
        NULL => t('None'),
      ) + range(0, 9),
      '#description' => t('Group ID argument position with arg() function. e.g. if your dynamic path is "node/%/group/%/overview" and you are using the second "%" for group IDs you have to choose "3" like "arg(3)".'),
    );
  }
}