You are here

function feed_import_edit_filter_form_submit in Feed Import 7.3

Same name and namespace in other branches
  1. 7 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 1862
User interface, cron functions for feed_import module

Code

function feed_import_edit_filter_form_submit($form, &$form_state) {
  $values =& $form_state['values'];
  if (!($feed = FeedImport::loadFeed($values['machine_name']))) {
    return;
  }
  foreach ($feed->settings['fields'] 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();
        }
        else {
          $filter['params'] = _feed_import_lines($filter['params']);
        }
        $item[$form_state['#item_filter']][$filter['name']] = array(
          'function' => trim($filter['function']),
          'params' => $filter['params'],
        );
        $filter = NULL;
      }
    }
  }

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