You are here

function instagram_feeds_moderation_form_alter in Instagram Feeds 7

Implements hook_form_alter().

File

modules/instagram_feeds_moderation/instagram_feeds_moderation.module, line 28

Code

function instagram_feeds_moderation_form_alter(&$form, &$form_state, $form_id) {
  switch ($form_id) {
    case 'taxonomy_form_term':

      // Hide Description field for Instagram Users terms.
      if (INSTAGRAM_FEEDS_USERS_VOCABULARY_NAME == $form['vocabulary_machine_name']['#value']) {
        $form['description']['#access'] = FALSE;
        $form['metatags']['#access'] = FALSE;
        $form['relations']['#access'] = FALSE;
        $form['redirect']['#access'] = FALSE;
        $form['field_instf_uid']['#access'] = FALSE;

        // Add needed stylesheet.
        $form['#attached']['css'][] = drupal_get_path('module', 'instagram_feeds_moderation') . '/css/instagram_feeds_moderation.css';
      }
      break;
    case 'views_exposed_form':
      if (isset($form_state['view']) && 'instagram_feeds_moderation' == $form_state['view']->name && 'admin_instagram_media_items' == $form_state['view']->current_display) {

        // Add a select form element for selecting Feed Name.
        $feeds_opts = instagram_feeds_moderation_get_feeds();
        $feeds_opts_t = array(
          'All' => t('- Any -'),
        );
        foreach ($feeds_opts as $key => $value) {
          $feeds_opts_t[$key] = t('!feedname', array(
            '!feedname' => $value,
          ));
        }
        $form['feed'] = array(
          '#type' => 'select',
          '#options' => $feeds_opts_t,
          '#default_value' => 'All',
        );
        array_unshift($form['#submit'], 'instagram_feeds_moderation_views_exposed_form_submit');
        $form['#info']['filter-feed'] = array(
          'value' => 'feed',
          'label' => t('Feed Name'),
        );

        // Add a select form element for selecting Image Moderation Status.
        $mode_options = array(
          'published' => t('Published'),
          'flagged' => t('Flagged'),
          'archived' => t('Archived'),
          'blocked' => t('Blocked'),
        );
        $form['node_status']['#value'] = '';
        $form['node_status']['#type'] = 'value';
        $form['flagged']['#value'] = '';
        $form['flagged']['#type'] = 'value';
        $form['archived']['#value'] = '';
        $form['archived']['#type'] = 'value';
        $def_status = 'All';
        if (NODE_NOT_PUBLISHED === $form['node_status']['#default_value']) {
          $def_status = 'blocked';
          $form['node_status']['#value'] = FALSE;
        }
        elseif (1 == $form['archived']['#default_value']) {
          $def_status = 'archived';
          $form['archived']['#value'] = 1;
        }
        elseif (1 == $form['flagged']['#default_value']) {
          $def_status = 'flagged';
          $form['flagged']['#value'] = 1;
        }
        elseif ($form['node_status']['#default_value']) {
          $def_status = 'published';
        }
        unset($form['node_status']['#default_value'], $form['flagged']['#default_value'], $form['archived']['#default_value']);
        $form['mod_status'] = array(
          '#type' => 'select',
          '#options' => $mode_options,
          '#options' => array(
            'All' => t('- Any -'),
          ) + $mode_options,
          '#default_value' => $def_status,
        );
        $form['#info']['filter-mod_status']['value'] = 'mod_status';
        $form['#info']['filter-mod_status']['label'] = $form['#info']['filter-status']['label'];
        unset($form['#info']['filter-status'], $form['#info']['filter-flagged'], $form['#info']['filter-flagged_1']);
        $input_block = array(
          'filter-input_block' => array(
            'value' => 'input_block',
          ),
        );
        $form['#info'] = array_merge($input_block, $form['#info']);
        $form['input_block'] = array(
          '#type' => 'container',
          '#attributes' => array(
            'class' => array(
              'field-under-fields',
            ),
          ),
          '#weight' => -10,
        );
        $form['user']['#title'] = $form['#info']['filter-field_instf_user_tid']['label'];
        $form['input_block']['user'] = $form['user'];
        unset($form['user'], $form['#info']['filter-field_instf_user_tid']);
        $form['tag']['#title'] = $form['#info']['filter-field_instf_hash_tags_tid']['label'];
        $form['input_block']['tag'] = $form['tag'];
        unset($form['tag'], $form['#info']['filter-field_instf_hash_tags_tid']);
        $form['date']['min']['#title_display'] = $form['date']['max']['#title_display'] = 'invisible';

        // Filter images by Feed name.
        if (isset($form_state['view']->exposed_input['feed']) && is_numeric($form_state['view']->exposed_input['feed'])) {
          $form['input_block']['user']['#value'] = implode(',', instagram_feeds_moderation_get_usernames($form_state['view']->exposed_input['feed']));
          $form['input_block']['tag']['#value'] = implode(',', instagram_feeds_moderation_get_tagnames($form_state['view']->exposed_input['feed']));
        }
      }
      break;
    case 'views_form_instagram_feeds_moderation_admin_instagram_media_items':
      if (!isset($form['confirm']['#value']) || !$form['confirm']['#value']) {

        // Add needed stylesheet.
        $form['#attached']['css'][] = drupal_get_path('module', 'instagram_feeds_moderation') . '/css/instagram_feeds_moderation.css';
        $form['#attached']['js'][] = drupal_get_path('module', 'instagram_feeds_moderation') . '/js/instagram-items-moderation.js';
        $form['select']['#collapsible'] = FALSE;
      }
      break;
    case 'views_form_instagram_feeds_moderation_admin_instagram_feeds':
      if (!isset($form['confirm']['#value']) || !$form['confirm']['#value']) {
        $form['select']['#collapsible'] = FALSE;
        $form['select']['add_feed'] = array(
          '#type' => 'item',
          '#markup' => l(t('Add Feed'), 'node/add/' . str_replace('_', '-', INSTAGRAM_FEEDS_SETTINGS_NODE_TYPE), array(
            'attributes' => array(
              'class' => array(
                'button',
              ),
            ),
            'query' => drupal_get_destination(),
          )),
          '#weight' => -1,
        );
        $form['#attached']['css'][] = drupal_get_path('module', 'instagram_feeds_moderation') . '/css/instagram_feeds_moderation.css';
        $form['#attached']['js'][] = drupal_get_path('module', 'instagram_feeds_moderation') . '/js/instagram-items-moderation.js';
      }
      break;
    case 'instagram_feed_node_form':
      if (!empty($form['nid']['#value'])) {
        $form['actions']['manage_images'] = array(
          '#type' => 'submit',
          '#value' => t('Manage Images'),
          '#weight' => 1,
          '#submit' => array(
            'instagram_feeds_moderation_node_form_submit',
          ),
        );
      }
      break;
  }
}