You are here

function block_aria_landmark_roles_form_alter in Block ARIA Landmark Roles 6

Same name and namespace in other branches
  1. 7.2 block_aria_landmark_roles.module \block_aria_landmark_roles_form_alter()
  2. 7 block_aria_landmark_roles.module \block_aria_landmark_roles_form_alter()

Implementation of hook_form_alter().

Adds additional elements to the 'add block' and 'configure block' forms.

File

./block_aria_landmark_roles.module, line 13
Adds additional elements on block administration forms to add ARIA landmark roles.

Code

function block_aria_landmark_roles_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'block_add_block_form' || $form_id == 'block_admin_configure') {

    // Build the block object.
    $block = new stdClass();
    $block->module = $form['module']['#value'];
    $block->delta = $form['delta']['#value'];
    $options[] = t('- None -');
    $options += drupal_map_assoc(array(
      'banner',
      'navigation',
      'search',
      'main',
      'complementary',
      'contentinfo',
    ));

    // Create the additional form elements.
    $form['block_aria_role'] = array(
      '#title' => t('Block ARIA Landmark Role settings'),
      '#type' => 'fieldset',
      '#collapsible' => TRUE,
      '#weight' => 0,
    );
    $form['block_aria_role']['role'] = array(
      '#title' => t('ARIA Landmark Role'),
      '#description' => t('Specify an ARIA landmark role to add to this block.'),
      '#type' => 'select',
      '#options' => $options,
      '#default_value' => _block_aria_landmark_roles_get_role($block),
    );

    // Add extra submission function.
    $form['#submit'][] = 'block_aria_landmark_roles_form_submit';
  }
}