aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpetko <petko@524c5546-5005-0410-9a3e-e25e191bd360>2024-02-22 14:27:59 +0000
committerpetko <petko@524c5546-5005-0410-9a3e-e25e191bd360>2024-02-22 14:27:59 +0000
commit7db4a7eb64d1e454643a4f125e7c4ed16dfbc983 (patch)
treec223f5a1fb79a09867abc9e6d92579dc320f913f
parent42452111b41479915b4a7111269bda3aef316f96 (diff)
downloadpmwiki.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.php16
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))