You are here

function block_aria_landmark_roles_form_alter in Block ARIA Landmark Roles 7

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

Implements 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(
      'application',
      'banner',
      'complementary',
      'contentinfo',
      'form',
      'main',
      'navigation',
      'search',
    ));

    // Create the additional form elements.
    $form['block_aria_role'] = array(
      '#title' => t('Block ARIA Landmark Roles settings'),
      '#type' => 'fieldset',
      '#collapsible' => TRUE,
    );
    $form['block_aria_role']['role'] = array(
      '#title' => t('Landmark Role'),
      '#description' => t('Add an ARIA landmark role to this block.'),
      '#type' => 'select',
      '#options' => $options,
      '#default_value' => _block_aria_landmark_roles_get_role($block),
    );
    $form['block_aria_role']['aria_label'] = array(
      '#title' => t('Label'),
      '#description' => t('Add an ARIA label to this block.'),
      '#type' => 'textfield',
      '#default_value' => _block_aria_landmark_roles_get_label($block),
    );
    $form['#submit'][] = 'block_aria_landmark_roles_form_submit';
  }
}