Skip to content

Commit

Permalink
Confirm before overwriting files
Browse files Browse the repository at this point in the history
  • Loading branch information
lux committed May 30, 2020
1 parent fa716c9 commit ec35377
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 9 deletions.
8 changes: 5 additions & 3 deletions apps/filemanager/handlers/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@
$page->window_title = __ ('Files');
}

$page->add_style ('/apps/filemanager/css/filemanager.css?v=4');
$cache_version = '6';

$page->add_style ('/apps/filemanager/css/filemanager.css?v=' . $cache_version);
$page->add_script (
sprintf (
'<script>var conf_root = "%s";</script>',
Expand All @@ -53,9 +55,9 @@
);
$page->add_script ('/js/jquery-ui/jquery-ui.min.js');
$page->add_script ('/js/urlify.js');
$page->add_script ('/apps/filemanager/js/jquery.filedrop.js');
$page->add_script ('/apps/filemanager/js/jquery.filedrop.js?v=' . $cache_version);
$page->add_script ('/apps/filemanager/js/jquery.tmpl.beta1.min.js');
$page->add_script ('/apps/filemanager/js/jquery.filemanager.js?v=5');
$page->add_script ('/apps/filemanager/js/jquery.filemanager.js?v=' . $cache_version);
$page->add_script ('https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js', 'head', '', 'sha384-5tfO0soa+FisnuBhaHP2VmPXQG/JZ8dLcRL43IkJFzbsXTXT6zIX8q8sIT0VSe2G', 'anonymous');
$page->add_script (I18n::export (
'New folder name:',
Expand Down
5 changes: 1 addition & 4 deletions apps/filemanager/js/jquery.filedrop.js
Original file line number Diff line number Diff line change
Expand Up @@ -571,10 +571,7 @@
// to sending ArrayBufferView. Sadly, no proper way to detect this
// functionality has been discovered. Happily, Chrome 22 also introduced
// the base ArrayBufferView class, not present in Chrome 21.
if ('ArrayBufferView' in window)
this.send(ui8a);
else
this.send(ui8a.buffer);
this.send(ui8a);
};
} catch (e) {}

Expand Down
31 changes: 29 additions & 2 deletions apps/filemanager/js/jquery.filemanager.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@
token: '',
strings: {

}
},
dirs: [],
files: []
};

$.extend ({
Expand Down Expand Up @@ -101,6 +103,8 @@
res.data.dirs[i]._path = res.data.dirs[i].path.replace (/'/g, '\\\'');
$.tmpl ('tpl_dir', res.data.dirs[i]).appendTo (tbody);
}

dirs = res.data.dirs
}
if (res.data.files) {
for (var i = 0; i < res.data.files.length; i++) {
Expand All @@ -115,6 +119,8 @@
res.data.files[i].conf_root = conf_root + '/';
$.tmpl ('tpl_file', res.data.files[i]).appendTo (tbody);
}

files = res.data.files
}

$.localize_dates ();
Expand Down Expand Up @@ -284,8 +290,29 @@
dropLeave: function () {
$('#filemanager-dropzone').removeClass ('filemanager-over');
},
drop: function () {
drop: function (e) {
$('#filemanager-dropzone').removeClass ('filemanager-over');

// Confirm if overwriting
if (!e.originalEvent.dataTransfer) {
return false;
}

var uploads = e.originalEvent.dataTransfer.files;

if (uploads === null || uploads === undefined || uploads.length === 0) {
return false;
}

for (i = 0; i < uploads.length; i++) {
for (j = 0; j < files.length; j++) {
if (files[j].name == uploads[i].name) {
if (! confirm ($.i18n ('Overwrite existing file? ' + uploads[i].name))) {
return false;
}
}
}
}
},
uploadStarted: function (i, file, len) {
// Save the total so we only notify at the end
Expand Down

0 comments on commit ec35377

Please sign in to comment.