function s_imports_form($form, &$form_state) {
$form['#attached']['css'][] = drupal_get_path("module", "s_imports")."/incs/s_imports.css" ;
if (!isset($form_state['storage']['s_presets'])) {
$s_presets = s_imports_get_presets();
$form_state['storage']['s_presets'] = $s_presets;
}
else $s_presets = $form_state['storage']['s_presets'];
$s_presets_select = [];
foreach($s_presets as $key => $val) {
$s_presets_select[$key]=$val['name'];
}
$form['s_presets'] = array(
'#type' => 'select',
'#title' => 'Выбрать поставщика',
'#options' => $s_presets_select,
'#ajax' => array(
'callback' => 'ajax_s_presets_checked_callback',
'wrapper' => 's-preset-settings-wrapper',
),
'#empty_option'=>t('- Select -'),
'#required' => TRUE,
);
$form['s_preset_settings_wrapper'] = array(
'#type' => 'container',
'#attributes' => array('id' => 's-preset-settings-wrapper'),
);
if (isset($form_state['values']['s_presets']) && !empty($form_state['values']['s_presets'])) {
$form['s_preset_settings_wrapper']['s_file_upload'] = array(
'#type' => 'file',
'#title' => t('Choose a file'),
);
$form['s_preset_settings_wrapper']['submit'] = array(
'#type' => 'submit',
'#value' => 'Выполнить',
'#attributes' => array('class' => array('uk-button-primary uk-button'))
);
}
return $form;
}
function ajax_s_presets_checked_callback($form, &$form_state) {
$form_state['rebuild'] = true;
return $form['s_preset_settings_wrapper'];
}
function s_imports_form_validate($form, &$form_state) {
if (isset($form_state['values']['s_presets']) && !empty($form_state['values']['s_presets'])) {
$validators = array();
if ($file = file_save_upload('s_file_upload', $validators)) {
$form_state['values']['s_file_upload'] = $file;
}
else {
form_set_error('s_file_upload', 'Файл не был загружен');
}
}
}
function s_imports_form_submit($form, &$form_state) {
s_imports_execute_import($form_state);
}