function upload_element_session_handler in Upload element 6
The core storage handler for keeping the correct state of the element in between form submissions/AHAH requests.
Parameters
string $op Operation key.:
array $form The upload_element element.:
mixed $file File object or empty string:
Return value
mixed File object or NULL depending on the $op.
1 call to upload_element_session_handler()
- form_type_upload_element_value in ./
upload_element.module - This is the core function that handles the uploading and workflow of the submitted files.
File
- ./
upload_element.module, line 556 - A module that provides two new elements to the FAPI for file handling.
Code
function upload_element_session_handler($op, &$form, $file = '') {
$name = $form['#name'];
$form_build_id = $form['#post']['form_build_id'];
$session_files =& $_SESSION['files']['upload_element'][$form_build_id];
switch ($op) {
case 'revert':
unset($session_files[$name]);
if (is_object($session_files[$name . '_default'])) {
$session_files[$name . '_default']->submit_action = UPLOAD_ELEMENT_NONE;
}
break;
case 'value':
$file = isset($session_files[$name]) ? $session_files[$name] : $session_files[$name . '_default'];
return is_object($file) ? $file : '';
case 'restore':
// delete op only applies to default file that is stored in the session
case 'delete':
$submit_action = $op == 'restore' ? UPLOAD_ELEMENT_NONE : UPLOAD_ELEMENT_DELETE;
$session_files[$name . '_default']->submit_action = $submit_action;
unset($session_files[$name]);
if (is_object($form['#default_value'])) {
$form['#default_value']->submit_action = $submit_action;
}
break;
case 'store':
if (is_object($session_files[$name . '_default'])) {
$file->submit_action = UPLOAD_ELEMENT_REPLACE;
$file->original_fid = $session_files[$name . '_default']->fid;
}
else {
$file->submit_action = UPLOAD_ELEMENT_NEW;
}
$session_files[$name] = $file;
return $file;
}
}