diff options
author | petko <petko@524c5546-5005-0410-9a3e-e25e191bd360> | 2024-02-22 14:27:59 +0000 |
---|---|---|
committer | petko <petko@524c5546-5005-0410-9a3e-e25e191bd360> | 2024-02-22 14:27:59 +0000 |
commit | 7db4a7eb64d1e454643a4f125e7c4ed16dfbc983 (patch) | |
tree | c223f5a1fb79a09867abc9e6d92579dc320f913f | |
parent | 42452111b41479915b4a7111269bda3aef316f96 (diff) | |
download | pmwiki.svn-7db4a7eb64d1e454643a4f125e7c4ed16dfbc983.tar.bz2 |
$EnableUploadVersions = 2; if a file already exists, rename the new file with a unique suffix.
git-svn-id: svn://pmwiki.org/pmwiki/trunk@4649 524c5546-5005-0410-9a3e-e25e191bd360
-rw-r--r-- | scripts/upload.php | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/scripts/upload.php b/scripts/upload.php index f8824aa6..9daae480 100644 --- a/scripts/upload.php +++ b/scripts/upload.php @@ -357,7 +357,7 @@ function UploadVerifyBasic($pagename,$uploadfile,&$filepath,&$upname=null) { global $EnableUploadOverwrite, $UploadExtSize, $UploadPrefixQuota, $EnableUploadVersions, $UploadDirQuota, $UploadDir, $UploadBlacklist, $Author, $EnablePostAuthorRequired, $EnableUploadAuthorRequired, - $UploadExts, $EnableUploadMimeMatch; + $UploadExts, $EnableUploadMimeMatch, $Now; if (! pmtoken(1)) { return 'upresult=invalidtoken'; @@ -376,17 +376,9 @@ function UploadVerifyBasic($pagename,$uploadfile,&$filepath,&$upname=null) { if (stripos($upname, $needle)!==false) return 'upresult=badname'; } } - if (IsEnabled($EnableUploadVersions, 0)>=10 && file_exists($filepath)) { - preg_match('!^(.*/)(.+?)(-\\d+)?(\\.[a-z0-9]+)$!i', $filepath, $m); - array_shift($m); - $m[2] = intval(@$m[2]); - for($i=1; $i<=$EnableUploadVersions; $i++) { - $m[2]--; - $nextpath = implode('', $m); - if (file_exists($nextpath)) continue; - $upname = substr($nextpath, strlen($m[0])); - $filepath = $nextpath; - break; + if (IsEnabled($EnableUploadVersions, 0)==2 && file_exists($filepath)) { + if(preg_match('!^(.*)(\\.[a-z0-9]+)$!i', $filepath, $m)) { + $filepath = $m[1] . '-' . base_convert($Now, 10, 36) . $m[2]; } } if (!$EnableUploadOverwrite && file_exists($filepath)) |