MDL-36900 files: D&D upload uses new file name increment function

This commit is contained in:
Frederic Massart
2013-03-08 10:21:01 +08:00
parent 8158fe0542
commit 04cbea2cd6
+6 -30
View File
@@ -778,41 +778,17 @@ M.form_dndupload.init = function(Y, options) {
},
/**
* Adds _NUMBER to the end of the filename and increments this number until
* a unique name is found
* Gets a unique file name
*
* @param string filename
* @return string the unique filename generated
*/
generate_unique_name: function(filename) {
// Split the filename into the basename + extension.
var extension;
var basename;
var dotpos = filename.lastIndexOf('.');
if (dotpos == -1) {
basename = filename;
extension = '';
} else {
basename = filename.substr(0, dotpos);
extension = filename.substr(dotpos, filename.length);
}
// Look to see if the name already has (NN) at the end of it.
var number = 0;
var hasnumber = basename.match(/^(.*) \((\d+)\)$/);
if (hasnumber !== null) {
// Note the current number & remove it from the basename.
number = parseInt(hasnumber[2], 10);
basename = hasnumber[1];
}
// Loop through increating numbers until a unique name is found.
var newname;
do {
number++;
newname = basename + ' (' + number + ')' + extension;
} while (this.has_name_clash(newname));
return newname;
while (this.has_name_clash(filename)) {
filename = increment_filename(filename);
}
return filename;
},
/**