function feed_import_static_fields_form_submit in Feed Import 7.3
Static fields form submit
File
- ./
feed_import.module, line 1490 - User interface, cron functions for feed_import module
Code
function feed_import_static_fields_form_submit($form, &$form_state) {
$v =& $form_state['values'];
if (!($feed = feedImport::loadFeed($v['machine_name']))) {
return;
}
switch ($form_state['triggering_element']['#name']) {
case 'add':
$field = $v['field_add_method'] ? $v['entity_field'] : $v['manual_field'];
$field = trim($field);
$column = NULL;
if (strpos($field, ':') !== FALSE) {
list($field, $column) = array_map('trim', explode(':', $field, 2));
}
if (!$field) {
return;
}
if ($column) {
$feed->settings['static_fields'][$field][$column] = '';
}
else {
$feed->settings['static_fields'][$field] = '';
}
break;
case 'save':
$fields = array();
foreach ($v['fields'] as $f => &$val) {
$val = isset($form_state['input']["field|{$f}"]) ? $form_state['input']["field|{$f}"] : NULL;
if (strpos($f, ':') === FALSE) {
$fields[$f] = $val;
}
else {
$f = explode(':', $f, 2);
$fields[$f[0]][$f[1]] = $val;
}
}
$feed->settings['static_fields'] = $fields;
break;
case 'remove':
if (!($fields = array_filter($v['fields']))) {
return;
}
$s =& $feed->settings['static_fields'];
foreach ($fields as $f) {
if (strpos($f, ':') === FALSE) {
unset($s[$f]);
}
else {
$f = explode(':', $f, 2);
unset($s[$f[0]][$f[1]]);
}
}
break;
default:
return;
}
// Save static fields in feed.
if (FeedImport::saveFeed($feed)) {
drupal_set_message(t('Feed saved'));
}
drupal_goto(FEED_IMPORT_PATH . '/edit/' . $feed->machine_name . '/fields/static');
}