From 6259440e3442a7036069b0a8ff2ee0743dbb375d Mon Sep 17 00:00:00 2001 From: Francisco <54645175+franciscoarocas@users.noreply.github.com> Date: Mon, 14 Sep 2020 12:45:42 +0100 Subject: [PATCH] File Manager only show images and attachs. FileUpload namefile fixed. --- admin/adminAjaxOperations.php | 20 +++++- admin/panels/uploader/admin.uploader.tpl | 63 ++++++++++--------- admin/res/admin.js | 49 ++++++++++++--- .../sceditor/plugins/flatPressFileManager.js | 5 +- 4 files changed, 97 insertions(+), 40 deletions(-) diff --git a/admin/adminAjaxOperations.php b/admin/adminAjaxOperations.php index 8de9e58..a33d6a7 100644 --- a/admin/adminAjaxOperations.php +++ b/admin/adminAjaxOperations.php @@ -3,13 +3,22 @@ $AjaxFunctionMap = []; -$AjaxFunctionListMediaDirectory = function($route) { /* Just for testing */ +define('ROOT_CONTENT', [ + ['attachs', true], + ['images', true] +]); + +$AjaxFunctionListMediaDirectory = function($route) { $newRoute = FP_CONTENT . $route; $dirContent = scandir($newRoute); if(!$dirContent) { throw new Exception('Error when trying to access the folder'.$newRoute); } $result = []; + if(!strlen($route)) { // Root. We show only images and attachs dir + checkIfDirAndAttachsDirExists(); + return ROOT_CONTENT; + } for($i = 2; $i < sizeof($dirContent); ++$i) { // Result = [[dir1, true], [file1, false], [file2, false]] ... array_push($result, []); array_push($result[$i - 2], $dirContent[$i]); @@ -18,6 +27,15 @@ $AjaxFunctionListMediaDirectory = function($route) { /* Just for testing */ return $result; }; +function checkIfDirAndAttachsDirExists() { + if (!file_exists(IMAGES_DIR)) { + fs_mkdir(IMAGES_DIR); + } + if (!file_exists(ATTACHS_DIR)) { + fs_mkdir(ATTACHS_DIR); + } +} + $AjaxFunctionMap['ListMediaDirectory'] = $AjaxFunctionListMediaDirectory; ?> \ No newline at end of file diff --git a/admin/panels/uploader/admin.uploader.tpl b/admin/panels/uploader/admin.uploader.tpl index 7336dce..7419c7f 100755 --- a/admin/panels/uploader/admin.uploader.tpl +++ b/admin/panels/uploader/admin.uploader.tpl @@ -25,40 +25,40 @@
No file preview
'); + changeMediaPreviewContent('No file preview
'); }); function changeMediaPreviewContent(content) { @@ -182,11 +209,13 @@ function insertMediaInSceditor() { const fileType = detectTypeFile(selectedFile); switch(fileType) { case IMAGE: { - insertSCEditorFunction('[img]' + selectedURL + selectedFile + '[/img]') + //insertSCEditorFunction('[img]' + selectedURL + selectedFile + '[/img]') + currentPromiseResolve('[img]' + selectedURL + selectedFile + '[/img]'); break; } default: { /* Other files = url link */ - insertSCEditorFunction('[url=' + selectedURL + selectedFile + ']' + selectedFile +'[/url]') + currentPromiseResolve('[url=' + selectedURL + selectedFile + ']' + selectedFile +'[/url]'); + //insertSCEditorFunction('[url=' + selectedURL + selectedFile + ']' + selectedFile +'[/url]') } } } \ No newline at end of file diff --git a/admin/res/sceditor/plugins/flatPressFileManager.js b/admin/res/sceditor/plugins/flatPressFileManager.js index d50ee0c..926269c 100644 --- a/admin/res/sceditor/plugins/flatPressFileManager.js +++ b/admin/res/sceditor/plugins/flatPressFileManager.js @@ -17,7 +17,10 @@ sceditor.command.set('flatPressFileManager', { An a open bootstrap modal function The modal html is in the .tpl file, where sceditor is included */ - open_media_manager(this.insert); + const insertIntoSceditor = this.insert; + openMediaManagerAndGetMediaUrl(function(value) { + insertIntoSceditor(value); + }); }, tooltip: 'Open FlatPress File Manager', });