'upload', 'download' => 'read')); SDV($HandleAuth['postupload2'], $HandleAuth['upload']); function HandlePostUpload2($pagename, $auth = 'upload') { global $UploadVerifyFunction, $UploadFileFmt, $LastModFile, $EnableUploadVersions, $Now, $MessagesFmt, $FmtV; UploadAuth($pagename, $auth); $page = RetrieveAuthPage($pagename, $auth, true, READPAGE_CURRENT); if (!$page) Abort("?cannot upload to $pagename"); foreach($_FILES as $n=>$v) { # multiple files input with (:input files uploadfiles:) $uploadfile = $_FILES[$n]; $upname = $uploadfile['name']; if ($upname=='') break; # special case single file input with (:input file uploadfile:) if($_FILES['uploadfile']) { $uploadfile = $_FILES['uploadfile']; $upname = $_REQUEST['upname']; if ($upname=='') $upname=$uploadfile['name']; } $upname = MakeUploadName($pagename,$upname); if (!function_exists($UploadVerifyFunction)) Abort('?no UploadVerifyFunction available'); $filepath = FmtPageName("$UploadFileFmt/$upname",$pagename); $result = $UploadVerifyFunction($pagename,$uploadfile,$filepath); if ($result=='') { $filedir = preg_replace('#/[^/]*$#','',$filepath); mkdirp($filedir); if (IsEnabled($EnableUploadVersions, 0)) @rename($filepath, "$filepath,$Now"); if (!move_uploaded_file($uploadfile['tmp_name'],$filepath)) { Abort("?cannot move uploaded file to $filepath"); return; } fixperms($filepath,0444); if ($LastModFile) { touch($LastModFile); fixperms($LastModFile); } $result = "upresult=success"; } # process results for message $re = explode('&',substr($result,9)); # special cases: if($re[0]=='badtype' OR $re[0]=='toobigext') { global $upext, $upmax; $r1 = explode('=',$re[1]); $upext = $r1[1]; $r2 = explode('=',$re[2]); $upmax = $r2[1]; } $result = $re[0]; $MessagesFmt[] = "
$upname: $[UL$result]
"; } HandleBrowse($pagename); } # For use with Firefox drag-drop-upload extension: # add event handler for javascript for drag-drop multiple files to (:input dropfiles uploadfiles:) # Note only control (:input dropfiles uploadfiles:) will clone, not (:input file uploadfile:) # add javascript for cloning input file control $InputTags['dropfiles'][':html'] = "
";