You are here

function feed_import_edit_filter_form_submit in Feed Import 7

Same name and namespace in other branches
  1. 7.3 feed_import.module \feed_import_edit_filter_form_submit()
  2. 7.2 feed_import.module \feed_import_edit_filter_form_submit()

Edit filter form submit

File

./feed_import.module, line 1238
User interface, cron functions for feed_import module

Code

function feed_import_edit_filter_form_submit($form, &$form_state) {
  $values =& $form_state['values'];
  $feed = FeedImport::loadFeeds(FALSE, $values['id']);
  foreach ($feed['xpath']['#items'] as $field => &$item) {
    $item[$form_state['#item_filter']] = array();
    if (!empty($values['table_content'][$field])) {
      usort($values['table_content'][$field], 'feed_import_sort_filter_by_weight');
      foreach ($values['table_content'][$field] as &$filter) {
        if (!$filter['name'] || !$filter['function']) {
          continue;
        }
        if (!$filter['params']) {
          $filter['params'] = array(
            variable_get('feed_import_field_param_name', '[field]'),
          );
        }
        else {
          $filter['params'] = explode(PHP_EOL, $filter['params']);
          $filter['params'] = array_map('trim', $filter['params']);
        }
        $item[$form_state['#item_filter']][$filter['name']] = array(
          '#function' => trim($filter['function']),
          '#params' => $filter['params'],
        );
        $filter = NULL;
      }
    }
  }

  // Save feed
  FeedImport::saveFeed($feed, TRUE);
  $vars = array(
    '@filter' => $form_state['#item_filter'] == '#filter' ? t('Filters') : t('Pre-filters'),
    '@name' => $feed['name'],
  );
  drupal_set_message(t('@filter saved for @name', $vars));
}