mirror of
https://framagit.org/luc/lufi.git
synced 2025-10-05 22:02:39 +02:00
🐛 — Fix bug in POST file deletion (#319)
This commit is contained in:
@@ -2,6 +2,9 @@ Revision history for Lufi
|
||||
|
||||
0.08.0 ????-??-??
|
||||
|
||||
0.07.2 ????-??-??
|
||||
- 🐛 — Fix bug in POST file deletion (#319)
|
||||
|
||||
0.07.1 2025-07-16
|
||||
- 🚚 — Use POST to delete a file instead of GET
|
||||
|
||||
|
@@ -470,7 +470,7 @@ sub delete {
|
||||
my $token = $c->param('token');
|
||||
|
||||
if ((!defined($c->config('ldap')) && !defined($c->config('htpasswd')) && !defined($c->config('auth_headers'))) || $c->is_user_authenticated) {
|
||||
if ($c->validation->csrf_protect->has_error('csrf_token')) {
|
||||
if (!(defined($c->param('_format')) && $c->param('_format') eq 'json') && $c->validation->csrf_protect->has_error('csrf_token')) {
|
||||
$c->flash(msg => $c->l('Bad CSRF token.'));
|
||||
$c->redirect_to('delete', $short, $token);
|
||||
} else {
|
||||
@@ -495,9 +495,10 @@ sub delete {
|
||||
},
|
||||
any => sub {
|
||||
$c->render(
|
||||
template => 'msg',
|
||||
f => $ldfile,
|
||||
msg => $msg
|
||||
template => 'msg',
|
||||
f => $ldfile,
|
||||
msg => $msg,
|
||||
del_short_from_localstorage => $short
|
||||
);
|
||||
}
|
||||
);
|
||||
|
@@ -27,6 +27,21 @@ function formatDate(unixTimestamp) {
|
||||
minute: '2-digit',
|
||||
})
|
||||
}
|
||||
function delItem(name) {
|
||||
var files = localStorage.getItem(`${window.prefix}files`);
|
||||
if (files === null) {
|
||||
files = new Array();
|
||||
} else {
|
||||
files = JSON.parse(files);
|
||||
}
|
||||
var i;
|
||||
for (i = 0; i < files.length; i++) {
|
||||
if (files[i].short === name) {
|
||||
files.splice(i, 1);
|
||||
}
|
||||
}
|
||||
localStorage.setItem(`${window.prefix}files`, JSON.stringify(files));
|
||||
}
|
||||
$(document).ready(function(){
|
||||
$('select').material_select();
|
||||
$(".select-lang select").on('change', changeLang);
|
||||
|
@@ -11,22 +11,6 @@ function addItem(item) {
|
||||
localStorage.setItem(`${window.prefix}files`, JSON.stringify(files));
|
||||
}
|
||||
|
||||
function delItem(name) {
|
||||
var files = localStorage.getItem(`${window.prefix}files`);
|
||||
if (files === null) {
|
||||
files = new Array();
|
||||
} else {
|
||||
files = JSON.parse(files);
|
||||
}
|
||||
var i;
|
||||
for (i = 0; i < files.length; i++) {
|
||||
if (files[i].short === name) {
|
||||
files.splice(i, 1);
|
||||
}
|
||||
}
|
||||
localStorage.setItem(`${window.prefix}files`, JSON.stringify(files));
|
||||
}
|
||||
|
||||
function itemExists(name) {
|
||||
var files = localStorage.getItem(`${window.prefix}files`);
|
||||
if (files === null) {
|
||||
@@ -140,7 +124,7 @@ function delFile() {
|
||||
var short = $(this).attr('data-short');
|
||||
$.ajax({
|
||||
url: dlink,
|
||||
method: 'GET',
|
||||
method: 'POST',
|
||||
data: {
|
||||
_format: 'json'
|
||||
},
|
||||
|
@@ -20,3 +20,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
% if (defined stash('del_short_from_localstorage')) {
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
delItem('<%= stash('del_short_from_localstorage') %>');
|
||||
});
|
||||
</script>
|
||||
% }
|
||||
|
Reference in New Issue
Block a user