function _feeds_tamper_clone_tamper_plugins in Feeds Tamper 7
Additional submit handler for feeds_build_create_form().
See also
feeds_tamper_form_feeds_ui_create_form_alter()
1 string reference to '_feeds_tamper_clone_tamper_plugins'
- feeds_tamper_form_feeds_ui_create_form_alter in feeds_tamper_ui/
feeds_tamper_ui.module - Implements hook_form_BASE_FORM_ID_alter().
File
- feeds_tamper_ui/
feeds_tamper_ui.module, line 181 - Feeds Tamper UI - Defines the user interface for Feeds Tamper.
Code
function _feeds_tamper_clone_tamper_plugins(array &$form, array &$form_state) {
if (empty($form_state['values']['clone_tamper_plugins'])) {
return;
}
$from_importer_id = isset($form['#from_importer']->id) ? $form['#from_importer']->id : '';
if (!$from_importer_id) {
return;
}
$tamper_plugins = feeds_tamper_load_by_importer($from_importer_id, FALSE);
// Copy plugins to the new importer.
foreach ($tamper_plugins as $tamper_plugin) {
foreach ($tamper_plugin as $old_instance) {
$new_instance = clone $old_instance;
$id_parts = explode('-', $old_instance->id);
// Normal id.
if (count($id_parts) === 3) {
$id_parts[0] = $form_state['values']['id'];
$new_instance->id = implode('-', $id_parts);
}
else {
$new_instance->id = $form_state['values']['id'] . '-' . implode('-', $id_parts);
}
$new_instance->importer = $form_state['values']['id'];
$new_instance->export_type = NULL;
$new_instance->type = t('Local');
unset($new_instance->table);
unset($new_instance->disabled);
feeds_tamper_save_instance($new_instance);
}
}
}