function feeds_tamper_ui_add_plugin_form in Feeds Tamper 7
Same name and namespace in other branches
- 6 feeds_tamper_ui/feeds_tamper_ui.admin.inc \feeds_tamper_ui_add_plugin_form()
Add plugin form.
1 string reference to 'feeds_tamper_ui_add_plugin_form'
- feeds_tamper_ui_menu in feeds_tamper_ui/
feeds_tamper_ui.module - Implements hook_menu().
File
- feeds_tamper_ui/
feeds_tamper_ui.admin.inc, line 294 - Forms and their accompanying validation and submit functions for Feeds Tamper UI.
Code
function feeds_tamper_ui_add_plugin_form($form, &$form_state, $importer, $source) {
// Set importer and source for use in validate and submit.
$form_state['importer'] = $importer;
$form_state['source'] = $source;
// Build plugin select list.
$feeds_tamper_plugins = feeds_tamper_get_plugins();
$plugins = array();
foreach ($feeds_tamper_plugins as $plugin_id => $plugin) {
$plugins[t($plugin['category'])][$plugin_id] = t($plugin['name']);
}
ksort($plugins);
foreach ($plugins as &$p) {
asort($p);
}
$machine_name = key(reset($plugins));
if (!empty($form_state['values']['plugin_id'])) {
$machine_name = $form_state['values']['plugin_id'];
}
// Add css.
$form['#attached']['css'][] = drupal_get_path('module', 'feeds_tamper_ui') . '/feeds_tamper_ui.css';
$plugin = feeds_tamper_get_plugin($machine_name);
$form['plugin_id'] = array(
'#title' => t('The plugin to add'),
'#type' => 'select',
'#options' => $plugins,
'#default_value' => '',
'#tree' => TRUE,
'#ajax' => array(
'callback' => 'feeds_tamper_ajax_callback',
'wrapper' => 'feeds-tamper-plugin',
'progress' => 'none',
),
);
$form['update'] = array(
'#type' => 'submit',
'#limit_validation_errors' => array(
array(
'plugin_id',
),
),
'#submit' => array(
'feeds_tamper_ui_add_plugin_form_submit',
),
'#value' => t('Choose'),
'#attributes' => array(
'class' => array(
'no-js',
),
),
);
$form['plugin']['#prefix'] = '<div class="clear-fix" id="feeds-tamper-plugin">';
$form['plugin']['#suffix'] = '</div>';
$form['plugin']['description'] = array(
'#title' => t('Description'),
'#type' => 'textfield',
'#default_value' => $plugin['default description'] ? t($plugin['default description']) : t($plugin['name']),
'#required' => TRUE,
'#description' => t('A useful description of what this plugin is doing.'),
);
$form['plugin']['id'] = array(
'#title' => t('Machine name'),
'#type' => 'machine_name',
'#maxlength' => 32,
'#machine_name' => array(
'exists' => 'feeds_tamper_machine_name_callback',
'source' => array(
'plugin',
'description',
),
),
'#default_value' => $machine_name,
);
$form['plugin']['settings'] = array(
'#title' => t('Configure @name', array(
'@name' => $plugin['name'],
)),
'#type' => 'fieldset',
'#tree' => TRUE,
);
$form['plugin']['settings'] += $plugin['form']($importer, $source, array(), $form_state);
$form['add'] = array(
'#type' => 'submit',
'#value' => t('Add'),
);
return $form;
}