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;
                 }
             }
         }
     }
 }