function subform_buffer_files in Subform 7
Buffers uploads seperating them per (sub)form.
1 call to subform_buffer_files()
- subform_buffer in ./
subform.module - Buffers errors and uploads seperating them per (sub)form.
File
- ./
subform.module, line 883 - Defines a subform element type.
Code
function subform_buffer_files($op, &$subform_element) {
static $files_stack = array();
$subform_name = $subform_element['#name'];
switch ($op) {
case 'start':
$files_stack[] = $prior_files = $_FILES;
$_FILES = array();
if (!empty($prior_files['files'])) {
foreach ($prior_files['files']['name'] as $old_name => $value) {
if (strpos($old_name, $subform_name . '-') === 0) {
// Remove the subform element name prefix.
$new_name = substr($old_name, strlen($subform_name . '-'));
foreach (array(
'name',
'type',
'tmp_name',
'error',
'size',
) as $key) {
$_FILES['files'][$key][$new_name] = $prior_files['files'][$key][$old_name];
}
}
}
}
break;
case 'end':
$_FILES = array_pop($files_stack);
break;
}
}