function node_import_add_form_validate_next in Node import 6
1 string reference to 'node_import_add_form_validate_next'
- node_import_add_form in ./
node_import.admin.inc - Creates a new import task by letting the user fill in a wizard.
File
- ./
node_import.admin.inc, line 506
Code
function node_import_add_form_validate_next($form, &$form_state) {
$values = $form_state['values'];
$storage = $form_state['storage'];
$page = $storage['page'];
// ------------------------------------------------------------
if ($page == 'file') {
// If a file is uploaded, select it.
$validators = array();
$dest = node_import_directory();
if ($file = file_save_upload('file_upload', $validators, $dest, FILE_EXISTS_RENAME)) {
file_set_status($file, FILE_STATUS_PERMANENT);
drupal_set_message(t('New file %name uploaded to %path.', array(
'%name' => $file->filename,
'%path' => $file->filepath,
)));
$values['fid'] = $form_state['values']['fid'] = $file->fid;
}
// Validate whether a file has been chosen and the file exists.
$files = node_import_list_files(TRUE);
if (!isset($values['fid']) || !isset($files[$values['fid']])) {
form_set_error('fid', t('%select-file field is required. Upload a file first if there are no files uploaded yet.', array(
'%select-file' => t('Select file'),
)));
}
}
// ------------------------------------------------------------
if ($page == 'file_options') {
if ($values['file_options']['file_format'] == '') {
// The user has defined his own format. Make sure that when
// he selects "Other" for one of the options that a value
// has been filled in.
$keys = array(
'record separator' => t('Record separator'),
'field separator' => t('Field separator'),
'text delimiter' => t('Text delimiter'),
'escape character' => t('Escape character'),
);
foreach ($keys as $key => $title) {
if ($values['file_options'][$key] == '' && strlen($values['file_options']['other ' . $key]) == 0) {
form_set_error('file_options][other ' . $key, t('You need to specify a character to use as %title if you choose %other for it.', array(
'%title' => $title,
'%other' => t('Other'),
)));
}
}
}
}
// ------------------------------------------------------------
if ($page == 'type') {
$types = node_import_types();
if (!isset($values['type']) || !isset($types[$values['type']])) {
form_set_error('type', t('!name field is required.', array(
'!name' => t('Content type'),
)));
}
}
// ------------------------------------------------------------
if ($page == 'map') {
$fields = node_import_fields($storage['type']);
foreach ($fields as $fieldname => $fieldinfo) {
if (empty($fieldinfo['columns'])) {
if ($fieldinfo['map_required'] && strlen($values['map'][$fieldname]) == 0) {
form_set_error('map][' . $fieldname, t('!name field is required.', array(
'!name' => $fieldinfo['title'],
)));
}
}
else {
foreach ($fieldinfo['columns'] as $colname => $colinfo) {
if ($colinfo['map_required'] && strlen($values['map'][$fieldname][$colname]) == 0) {
form_set_error('map][' . $fieldname . '][' . $colname, t('!name field is required.', array(
'!name' => $colinfo['title'],
)));
}
}
}
}
}
}