You are here

function context_respect_form_alter in Context Respect 7

Implements hook_form_alter()

By default, when context respect is installed all core block display settings will be followed. This setting allows them to be ignored on a block-by-block level as there are use cases where context should determine display options and "disrespect" context respect.

File

./context_respect.module, line 61
Context Respect module file.

Code

function context_respect_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id != 'block_admin_configure') {
    return;
  }
  $block = new stdClass();
  $block->bid = "{$form['module']['#value']}-{$form['delta']['#value']}";
  $ignore_page = _context_respect_get_override('context_respect_override_page', $block);
  $ignore_role = _context_respect_get_override('context_respect_override_role', $block);
  $form['visiblity']['context_respect'] = array(
    '#type' => 'fieldset',
    '#title' => t('Context Respect'),
    '#collapsible' => 1,
    '#collapsed' => 1,
    '#weight' => 5,
    '#group' => 'visibility',
  );
  $form['visiblity']['context_respect']['ignore_page'] = array(
    '#type' => 'checkbox',
    '#title' => t('Context Ignore Pages'),
    '#description' => t('Block page display settings will be ignored by context (overriding context respect).'),
    '#default_value' => $ignore_page,
  );
  $form['visiblity']['context_respect']['ignore_role'] = array(
    '#type' => 'checkbox',
    '#title' => t('Context Ignore Roles'),
    '#description' => t('Block role display settings will be ignored by context (overriding context respect).'),
    '#default_value' => $ignore_role,
  );
  $form['#submit'][] = 'context_respect_form_submit';
}