You are here

function editor_form_filter_admin_overview_alter in Editor 7

Implements hook_form_FORM_ID_alter().

Adds editor support to the text format overview form.

File

includes/editor.filter.inc, line 96
Declares hooks on behalf of filter.module.

Code

function editor_form_filter_admin_overview_alter(&$form, &$form_state, $form_id) {

  // Overview of all formats.
  $formats = filter_formats();
  $fallback_format = filter_fallback_format();
  $editors = editor_get_editors();
  $form['#tree'] = TRUE;
  foreach ($formats as $id => $format) {

    // Check whether this is the fallback text format. This format is available
    // to all roles and cannot be disabled via the admin interface.
    $form['formats'][$id]['#is_fallback'] = $id == $fallback_format;
    if ($form['formats'][$id]['#is_fallback']) {
      $form['formats'][$id]['name'] = array(
        '#markup' => drupal_placeholder($format->name),
      );
      $roles_markup = drupal_placeholder(t('All roles may use this format'));
    }
    else {
      $form['formats'][$id]['name'] = array(
        '#markup' => check_plain($format->name),
      );
      $roles = array_map('check_plain', filter_get_roles_by_format($format));
      $roles_markup = $roles ? implode(', ', $roles) : t('No roles may use this format');
    }
    $form['formats'][$id]['editor'] = array(
      '#markup' => isset($editors[$format->editor]) ? check_plain($editors[$format->editor]['label']) : t('None'),
    );
    $form['formats'][$id]['roles'] = array(
      '#markup' => $roles_markup,
    );
    $form['formats'][$id]['configure'] = array(
      '#type' => 'link',
      '#title' => t('configure'),
      '#href' => 'admin/config/content/formats/' . $id,
    );
    $form['formats'][$id]['disable'] = array(
      '#type' => 'link',
      '#title' => t('disable'),
      '#href' => 'admin/config/content/formats/' . $id . '/disable',
      '#access' => !$form['formats'][$id]['#is_fallback'],
    );
    $form['formats'][$id]['weight'] = array(
      '#type' => 'weight',
      '#title' => t('Weight for @title', array(
        '@title' => $format->name,
      )),
      '#title_display' => 'invisible',
      '#default_value' => $format->weight,
    );
  }
  $form['actions'] = array(
    '#type' => 'actions',
  );
  $form['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
}