function feed_import_edit_feed_form_submit in Feed Import 7.2
Same name and namespace in other branches
- 7.3 feed_import.module \feed_import_edit_feed_form_submit()
- 7 feed_import.module \feed_import_edit_feed_form_submit()
Edit feed form submit
File
- ./
feed_import.module, line 1348 - User interface, cron functions for feed_import module
Code
function feed_import_edit_feed_form_submit($form, &$form_state) {
$values =& $form_state['values'];
$feed = FeedImport::loadFeeds(FALSE, $values['id']);
$entity = FeedImport::getEntityInfo($values['entity']);
$items = array();
for ($i = 0; $i <= $form_state['#current_item']; $i++) {
if (isset($form_state['complete form']['xpath']['items']['container_' . $i]['#title'])) {
$field = $form_state['complete form']['xpath']['items']['container_' . $i]['#title'];
}
else {
continue;
}
if ($field) {
$items[$field] = array(
'#field' => $field,
'#column' => array_key_exists($field, $entity['columns']) ? $entity['columns'][$field] : $field,
'#xpath' => explode(PHP_EOL, $values['xpath_' . $i]),
'#default_value' => $values['default_' . $i],
'#default_action' => $values['default_action_' . $i],
'#filter' => isset($feed['xpath']['#items'][$field]['#filter']) ? $feed['xpath']['#items'][$field]['#filter'] : array(),
'#pre_filter' => isset($feed['xpath']['#items'][$field]['#pre_filter']) ? $feed['xpath']['#items'][$field]['#pre_filter'] : array(),
);
}
}
$feed = array(
'id' => (int) $values['id'],
'name' => $values['name'],
'machine_name' => $feed['machine_name'],
'url' => $values['url'],
'time' => (int) $values['time'],
'enabled' => (int) $values['enabled'],
'entity_info' => array(
'#entity' => $values['entity'],
'#table_pk' => $entity['column'],
),
'xpath' => array(
'#skip_imported_items' => (bool) $values['skip_imported_items'],
'#root' => $values['root'],
'#uniq' => $values['uniq'],
'#process_function' => $values['process_function'],
'#items' => $items,
'#settings' => $values['settings'],
),
);
// Save feed.
FeedImport::saveFeed($feed, TRUE);
drupal_set_message(t('Feed @name saved!', array(
'@name' => $feed['name'],
)));
}