You are here

function nodewords_ui_form_nodewords_admin_settings_form_alter in Nodewords: D6 Meta Tags 6.3

Same name and namespace in other branches
  1. 6.2 nodewords_ui/nodewords_ui.module \nodewords_ui_form_nodewords_admin_settings_form_alter()

Implements hook_form_FORM_ID_alter().

File

nodewords_ui/nodewords_ui.module, line 49
Implement the user interface visible to authenticated users.

Code

function nodewords_ui_form_nodewords_admin_settings_form_alter(&$form, $form_state) {
  $enabled_options = array();
  $user_pages = array(
    NODEWORDS_TYPE_NODE,
    NODEWORDS_TYPE_USER,
  );
  $tags_info = nodewords_get_possible_tags();
  if (nodewords_check_version('2.16') && !empty($tags_info)) {
    $form['enabled']['ui'] = array(
      '#type' => 'fieldset',
      '#title' => t('Meta tags enabled on other edit forms'),
      '#weight' => 2,
      '#theme' => 'nodewords_ui_enabled_metatags',
    );
    $select_options = array(
      'never' => t('Never'),
      'empty' => t('When the meta tag is empty'),
      'always' => t('Always'),
    );
    foreach ($tags_info as $name => $info) {
      $bool = !empty($info['context']['allowed']) && is_array($info['context']['allowed']) && count(array_intersect($user_pages, $info['context']['allowed'])) && !empty($info['context']['denied']) && is_array($info['context']['denied']) && count(array_intersect($user_pages, $info['context']['denied'])) != count($user_pages);
      if ($bool || empty($info['context']['allowed']) || empty($info['context']['allowed'])) {
        $enabled_options[$name] = '';
        $form['enabled']['ui']['nodewords_ui_use_default_value_' . $name] = array(
          '#type' => 'select',
          '#default_value' => variable_get('nodewords_ui_use_default_value_' . $name, 'empty'),
          '#options' => $select_options,
          '#multiple' => FALSE,
        );
      }
    }
    $form['enabled']['ui']['nodewords_ui_edit'] = array(
      '#type' => 'checkboxes',
      '#options' => $enabled_options,
      '#default_value' => variable_get('nodewords_ui_edit', array()),
      '#checkall' => TRUE ? 'nodewords-enabled-metatags-ui-edit-form' : FALSE,
    );
  }
  else {
    $form['nodewords_ui_edit'] = array(
      '#type' => 'value',
      '#value' => variable_get('nodewords_ui_edit', array()),
    );
  }
}