function unpack_extension($farray_name)
 {
     if (file_exists($_FILES[$farray_name]['tmp_name']) && $_FILES[$farray_name]['error'] == 0 && $_FILES[$farray_name]['size'] > 0) {
         //we unpack the extension to a temp folder.
         $zip = new archive();
         $zip->unzip($_FILES[$farray_name]['tmp_name'], $this->tmp_location, false);
         if ($zip->error()) {
             $this->create_error($zip->error());
         }
     } else {
         $this->create_error("No file found under \$_FILES['" . $farray_name . "']!");
     }
 }