Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/files
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2012-04-15 19:30:07 +0400
committerRobin Appelman <icewind@owncloud.com>2012-04-15 19:34:53 +0400
commit8ecddb5bc311a7d9bb5def6783b8a71f09a8daa3 (patch)
tree4a5e65e7a31404ea5465f75d895b2bd95e93a77b /files
parent74ba09f95c57bc0cc8d7e8617cefe26f13054799 (diff)
create a new filename when the uploaded file already exist
Diffstat (limited to 'files')
-rw-r--r--files/ajax/upload.php3
-rw-r--r--files/js/files.js23
2 files changed, 22 insertions, 4 deletions
diff --git a/files/ajax/upload.php b/files/ajax/upload.php
index 76ea65fe933..b04796e3248 100644
--- a/files/ajax/upload.php
+++ b/files/ajax/upload.php
@@ -47,11 +47,10 @@ $result=array();
if(strpos($dir,'..') === false){
$fileCount=count($files['name']);
for($i=0;$i<$fileCount;$i++){
- // $target=stripslashes($dir) . $files['name'][$i];
$target = OC_Helper::buildNotExistingFileName(stripslashes($dir), $files['name'][$i]);
if(is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i],$target)){
$meta=OC_FileCache::getCached($target);
- $result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'],'name'=>$files['name'][$i]);
+ $result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'],'name'=>basename($target));
}
}
OC_JSON::encodedPrint($result);
diff --git a/files/js/files.js b/files/js/files.js
index 2d943d85cd4..3ce95f992d0 100644
--- a/files/js/files.js
+++ b/files/js/files.js
@@ -211,12 +211,12 @@ $(document).ready(function() {
var size=t('files','Pending');
}
if(files){
- FileList.addFile(files[i].name,size,date,true);
+ FileList.addFile(getUniqueName(files[i].name),size,date,true);
}
}
}else{
var filename=this.value.split('\\').pop(); //ie prepends C:\fakepath\ in front of the filename
- FileList.addFile(filename,'Pending',date,true);
+ FileList.addFile(getUniqueName(filename),'Pending',date,true);
}
//clone the upload form and hide the new one to allow users to start a new upload while the old one is still uploading
@@ -570,3 +570,22 @@ function getMimeIcon(mime, ready){
}
}
getMimeIcon.cache={};
+
+function getUniqueName(name){
+ if($('tr').filterAttr('data-file',name).length>0){
+ var parts=name.split('.');
+ var extension=parts.pop();
+ var base=parts.join('.');
+ numMatch=base.match(/\((\d+)\)/);
+ var num=2;
+ if(numMatch && numMatch.length>0){
+ num=parseInt(numMatch[numMatch.length-1])+1;
+ base=base.split('(')
+ base.pop();
+ base=base.join('(').trim();
+ }
+ name=base+' ('+num+').'+extension;
+ return getUniqueName(name);
+ }
+ return name;
+}