function _countries_import_bulk_import_source_form in Countries 8
1 call to _countries_import_bulk_import_source_form()
- countries_import_bulk_import_form in modules/
countries_import/ countries_import.admin.inc
File
- modules/
countries_import/ countries_import.admin.inc, line 18
Code
function _countries_import_bulk_import_source_form($form, &$form_state) {
$languages = language_list('enabled');
$list = array();
foreach ($languages[1] as $language) {
$list[$language->language] = t($language->name);
}
if (count($list) > 1 || 1) {
$form['langcode'] = array(
'#type' => 'select',
'#title' => t('Language'),
'#options' => $list,
'#default_value' => key($list),
);
}
else {
$form['langcode'] = array(
'#type' => 'value',
'#value' => key($list),
);
}
$plugins = array();
foreach (countries_import_plugins() as $class => $plugin) {
if (!class_exists($class)) {
continue;
}
$plugins[$class] = $plugin['title'];
}
$form['source'] = array(
'#type' => 'select',
'#title' => t('Data source'),
'#options' => $plugins,
'#required' => TRUE,
'#ajax' => array(
'event' => 'change',
'callback' => 'countries_import_bulk_import_form_ajax_callback',
'wrapper' => 'countries-import-bulk-import-settings',
),
);
$form['plugin'] = array(
'#tree' => TRUE,
'#type' => 'container',
'#prefix' => '<div id="countries-import-bulk-import-settings">',
'#suffix' => '</div>',
);
if (!empty($form_state['values']['source'])) {
$core_properties = countries_core_properties();
$manger = new $form_state['values']['source']();
$plugin_info = countries_import_plugins($form_state['values']['source']);
$form['plugin']['info'] = array(
'#type' => 'item',
'#title' => $plugin_info['title'],
'#markup' => $plugin_info['description'],
);
$form['plugin']['settings'] = $manger
->importSettingsForm(array(
'languages' => $list,
), $form_state);
$form['plugin']['properties'] = array(
'#type' => 'checkboxes',
'#title' => t('Properties to update'),
'#default_value' => $manger
->suggestedImportProperties(),
'#options' => array(),
);
$property_info = array();
foreach ($manger
->propertiesProvided() as $property => $description) {
if (isset($core_properties[$property])) {
$form['plugin']['properties']['#options'][$property] = $core_properties[$property];
$property_info[] = t('<strong>%label: </strong> %description', array(
'%label' => $core_properties[$property],
'%description' => $description,
));
}
}
$form['plugin']['properties']['#description'] = t('<em>!source</em> defines it properties as: !list', array(
'!list' => theme('item_list', array(
'items' => $property_info,
)),
'!source' => $plugin_info['title'],
));
}
$form['skip_disabled'] = array(
'#type' => 'checkbox',
'#title' => t('Ignore disabled countries'),
'#default_value' => TRUE,
'#description' => t('This excludes any disabled countries from the second step'),
);
$form['actions']['#type'] = 'actions';
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Next >'),
);
return $form;
}