public function __construct($input_name) { if (!isset($_FILES[$input_name])) { parent::__construct(null); // no uploaded files } else { if (!is_array($_FILES[$input_name]['name'])) { parent::__construct($_FILES[$input_name]); // one uploaded file $this->files[] =& $this; } else { // Several files with the same input name $init = false; foreach ($_FILES[$input_name]['name'] as $i => $name) { $this->indexes[] = $i; if ($init) { $this->files[] = new waRequestFile(array('name' => $_FILES[$input_name]['name'][$i], 'type' => $_FILES[$input_name]['type'][$i], 'size' => $_FILES[$input_name]['size'][$i], 'tmp_name' => $_FILES[$input_name]['tmp_name'][$i], 'error' => $_FILES[$input_name]['error'][$i])); } else { $init = true; parent::__construct(array('name' => $_FILES[$input_name]['name'][$i], 'type' => $_FILES[$input_name]['type'][$i], 'size' => $_FILES[$input_name]['size'][$i], 'tmp_name' => $_FILES[$input_name]['tmp_name'][$i], 'error' => $_FILES[$input_name]['error'][$i])); // one uploaded file $this->files[] =& $this; } } } } }