diff --git a/public/js/script.js b/public/js/script.js
index a296bc8e..fd527de4 100644
--- a/public/js/script.js
+++ b/public/js/script.js
@@ -284,7 +284,11 @@ function performLfmRequest(url, parameter, type) {
}
function displayErrorResponse(jqXHR) {
- notify('
' + jqXHR.responseText + '
');
+ var message = JSON.parse(jqXHR.responseText)
+ if (Array.isArray(message)) {
+ message = message.join('
')
+ }
+ notify('' + message + '
');
}
var refreshFoldersAndItems = function (data) {
@@ -540,7 +544,7 @@ function rename(item) {
}
function trash(items) {
- notify(lang['message-delete'], function () {
+ confirm(lang['message-delete'], function () {
performLfmRequest('delete', {
items: items.map(function (item) { return item.name; })
}).done(refreshFoldersAndItems)
@@ -794,12 +798,16 @@ function notImp() {
notify('Not yet implemented!');
}
-function notify(body, callback) {
- $('#notify').find('.btn-primary').toggle(callback !== undefined);
- $('#notify').find('.btn-primary').unbind().click(callback);
+function notify(body) {
$('#notify').modal('show').find('.modal-body').html(body);
}
+function confirm(body, callback) {
+ $('#confirm').find('.btn-primary').toggle(callback !== undefined);
+ $('#confirm').find('.btn-primary').click(callback);
+ $('#confirm').modal('show').find('.modal-body').html(body);
+}
+
function dialog(title, value, callback) {
$('#dialog').find('input').val(value);
$('#dialog').on('shown.bs.modal', function () {
diff --git a/src/Controllers/DeleteController.php b/src/Controllers/DeleteController.php
index 502d5695..ad0e4882 100644
--- a/src/Controllers/DeleteController.php
+++ b/src/Controllers/DeleteController.php
@@ -71,7 +71,7 @@ public function getDelete()
}
if (count($errors) > 0) {
- return $errors;
+ return response()->json($errors, 400);
}
return parent::$success_response;
diff --git a/src/Controllers/LfmController.php b/src/Controllers/LfmController.php
index 991c7ad6..58d66e67 100644
--- a/src/Controllers/LfmController.php
+++ b/src/Controllers/LfmController.php
@@ -76,7 +76,7 @@ public function getErrors()
*
* @return null
*/
- public function applyIniOverrides()
+ private function applyIniOverrides()
{
$overrides = config('lfm.php_ini_overrides', []);
@@ -90,4 +90,10 @@ public function applyIniOverrides()
}
}
}
+
+ // TODO: remove this after refactoring RenameController and DeleteController
+ protected function error($error_type, $variables = [])
+ {
+ return trans(Lfm::PACKAGE_NAME . '::lfm.error-' . $error_type, $variables);
+ }
}
diff --git a/src/Controllers/RenameController.php b/src/Controllers/RenameController.php
index d8187d58..8bcf593c 100644
--- a/src/Controllers/RenameController.php
+++ b/src/Controllers/RenameController.php
@@ -29,18 +29,18 @@ public function getRename()
if (empty($new_name)) {
if ($is_directory) {
- return parent::error('folder-name');
+ return response()->json(parent::error('folder-name'), 400);
} else {
- return parent::error('file-name');
+ return response()->json(parent::error('file-name'), 400);
}
}
if ($is_directory && config('lfm.alphanumeric_directory') && preg_match('/[^\w-]/i', $new_name)) {
- return parent::error('folder-alnum');
+ return response()->json(parent::error('folder-alnum'), 400);
} elseif (config('lfm.alphanumeric_filename') && preg_match('/[^.\w-]/i', $new_name)) {
- return parent::error('file-alnum');
+ return response()->json(parent::error('file-alnum'), 400);
} elseif ($this->lfm->setName($new_name)->exists()) {
- return parent::error('rename');
+ return response()->json(parent::error('rename'), 400);
}
if (! $is_directory) {
diff --git a/src/views/index.blade.php b/src/views/index.blade.php
index fb5ec441..dbcb83b0 100644
--- a/src/views/index.blade.php
+++ b/src/views/index.blade.php
@@ -136,6 +136,17 @@
+
+