1.20.x file.pages.inc | file_add_upload_step_scheme($form, &$form_state, array $options = array()) |
Generate form fields for the third step in the add file wizard.
File
- modules/
file/ file.pages.inc, line 104 - Supports file operations including Manage and Delete.
Code
function file_add_upload_step_scheme($form, &$form_state, array $options = array()) {
backdrop_set_title(t('Configure file scheme'));
$file = file_load($form_state['storage']['upload']);
$schemes = array();
foreach (file_get_stream_wrappers(STREAM_WRAPPERS_WRITE_VISIBLE) as $scheme => $info) {
$schemes[$scheme] = check_plain($info['description']);
}
// Remove any schemes not found in the instance settings.
if (!empty($options['schemes'])) {
$schemes = array_intersect_key($schemes, array_flip($options['schemes']));
}
// Determine which scheme to use as the default value.
if (isset($form_state['storage']['scheme'])) {
$fallback_scheme = $form_state['storage']['scheme'];
}
elseif (!empty($options['uri_scheme'])) {
$fallback_scheme = $options['uri_scheme'];
}
else {
$fallback_scheme = file_default_scheme();
}
$form['scheme'] = array(
'#type' => 'radios',
'#title' => t('Destination'),
'#options' => $schemes,
'#default_value' => $fallback_scheme,
'#required' => TRUE,
);
$form['actions']['previous'] = array(
'#type' => 'submit',
'#value' => t('Previous'),
'#limit_validation_errors' => array(),
'#submit' => array('file_add_form_submit'),
);
$form['actions']['next'] = array(
'#type' => 'submit',
'#value' => t('Next'),
);
return $form;
}