From b594036a7927faea49fa231775dad9cf9203c2c5 Mon Sep 17 00:00:00 2001 From: Agus Mahasadhu Date: Mon, 21 Sep 2020 11:04:10 +0800 Subject: [PATCH] Add functionality to set global and/or override client options through laravel config file --- config/elfinder.php | 13 +++++++++++++ resources/views/ckeditor4.blade.php | 8 ++++++-- resources/views/ckeditor4.php | 8 ++++++-- resources/views/elfinder.blade.php | 9 +++++++-- resources/views/elfinder.php | 9 +++++++-- resources/views/filepicker.blade.php | 9 +++++++-- resources/views/filepicker.php | 11 ++++++++--- resources/views/standalonepopup.blade.php | 9 +++++++-- resources/views/standalonepopup.php | 9 +++++++-- resources/views/tinymce.blade.php | 9 +++++++-- resources/views/tinymce.php | 9 +++++++-- resources/views/tinymce4.blade.php | 9 +++++++-- resources/views/tinymce4.php | 9 +++++++-- resources/views/tinymce5.blade.php | 9 +++++++-- resources/views/tinymce5.php | 9 +++++++-- 15 files changed, 110 insertions(+), 29 deletions(-) diff --git a/config/elfinder.php b/config/elfinder.php index 626743e..b6b6b50 100644 --- a/config/elfinder.php +++ b/config/elfinder.php @@ -91,4 +91,17 @@ ), + /* + |-------------------------------------------------------------------------- + | Client Options + |-------------------------------------------------------------------------- + | + | These options are converted into JSON and assigned on elfinder client initialization. + | See https://github.com/Studio-42/elFinder/wiki/Client-configuration-options-2.1#contents + | + */ + 'client_options' => [ + + ], + ); diff --git a/resources/views/ckeditor4.blade.php b/resources/views/ckeditor4.blade.php index a1d8824..9f6a1e9 100644 --- a/resources/views/ckeditor4.blade.php +++ b/resources/views/ckeditor4.blade.php @@ -34,7 +34,7 @@ function getUrlParam(paramName) { $().ready(function() { var funcNum = getUrlParam('CKEditorFuncNum'); - var elf = $('#elfinder').elfinder({ + var defaultElfConfig = { // set your elFinder options here @if($locale) lang: '{{ $locale }}', // locale @@ -48,7 +48,11 @@ function getUrlParam(paramName) { window.opener.CKEDITOR.tools.callFunction(funcNum, file.url); window.close(); } - }).elfinder('instance'); + }; + + var overrideConfig = @json(config('elfinder.client_options')); + + var elf = $('#elfinder').elfinder(Object.assign(defaultElfConfig, overrideConfig)).elfinder('instance'); }); diff --git a/resources/views/ckeditor4.php b/resources/views/ckeditor4.php index 01eb3c3..87590f7 100644 --- a/resources/views/ckeditor4.php +++ b/resources/views/ckeditor4.php @@ -34,7 +34,7 @@ function getUrlParam(paramName) { $().ready(function() { var funcNum = getUrlParam('CKEditorFuncNum'); - var elf = $('#elfinder').elfinder({ + var defaultElfConfig = { // set your elFinder options here lang: '', // locale @@ -48,7 +48,11 @@ function getUrlParam(paramName) { window.opener.CKEDITOR.tools.callFunction(funcNum, file.url); window.close(); } - }).elfinder('instance'); + }; + + var overrideConfig = ; + + var elf = $('#elfinder').elfinder(Object.assign(defaultElfConfig, overrideConfig)).elfinder('instance'); }); diff --git a/resources/views/elfinder.blade.php b/resources/views/elfinder.blade.php index a544fc5..dcb42f0 100644 --- a/resources/views/elfinder.blade.php +++ b/resources/views/elfinder.blade.php @@ -26,7 +26,8 @@ // Documentation for client options: // https://github.com/Studio-42/elFinder/wiki/Client-configuration-options $().ready(function() { - $('#elfinder').elfinder({ + + var defaultElfConfig = { // set your elFinder options here @if($locale) lang: '{{ $locale }}', // locale @@ -36,7 +37,11 @@ }, url : '{{ route("elfinder.connector") }}', // connector URL soundPath: '{{ asset($dir.'/sounds') }}' - }); + }; + + var overrideConfig = @json(config('elfinder.client_options')); + + $('#elfinder').elfinder(Object.assign(defaultElfConfig, overrideConfig)); }); diff --git a/resources/views/elfinder.php b/resources/views/elfinder.php index 7de7fa0..4846129 100644 --- a/resources/views/elfinder.php +++ b/resources/views/elfinder.php @@ -26,7 +26,8 @@ // Documentation for client options: // https://github.com/Studio-42/elFinder/wiki/Client-configuration-options $().ready(function() { - $('#elfinder').elfinder({ + + var defaultElfConfig = { // set your elFinder options here lang: '', // locale @@ -36,7 +37,11 @@ }, url : '', // connector URL soundPath: '' - }); + }; + + var overrideConfig = ; + + $('#elfinder').elfinder(Object.assign(defaultElfConfig, overrideConfig)); }); diff --git a/resources/views/filepicker.blade.php b/resources/views/filepicker.blade.php index 08a1c73..ec47edb 100644 --- a/resources/views/filepicker.blade.php +++ b/resources/views/filepicker.blade.php @@ -24,7 +24,8 @@ diff --git a/resources/views/filepicker.php b/resources/views/filepicker.php index 81f8a07..32cc5ba 100644 --- a/resources/views/filepicker.php +++ b/resources/views/filepicker.php @@ -24,7 +24,8 @@ diff --git a/resources/views/standalonepopup.blade.php b/resources/views/standalonepopup.blade.php index de217b9..dc06f39 100644 --- a/resources/views/standalonepopup.blade.php +++ b/resources/views/standalonepopup.blade.php @@ -24,7 +24,8 @@ diff --git a/resources/views/standalonepopup.php b/resources/views/standalonepopup.php index 8c742c2..87050e9 100644 --- a/resources/views/standalonepopup.php +++ b/resources/views/standalonepopup.php @@ -25,7 +25,8 @@ diff --git a/resources/views/tinymce.blade.php b/resources/views/tinymce.blade.php index 3e401ef..1a6241d 100644 --- a/resources/views/tinymce.blade.php +++ b/resources/views/tinymce.blade.php @@ -56,7 +56,8 @@ tinyMCEPopup.onInit.add(FileBrowserDialogue.init, FileBrowserDialogue); $().ready(function() { - var elf = $('#elfinder').elfinder({ + + var defaultElfConfig = { // set your elFinder options here @if($locale) lang: '{{ $locale }}', // locale @@ -69,7 +70,11 @@ getFileCallback: function(file) { // editor callback FileBrowserDialogue.mySubmit(file.url); // pass selected file path to TinyMCE } - }).elfinder('instance'); + }; + + var overrideConfig = @json(config('elfinder.client_options')); + + var elf = $('#elfinder').elfinder(Object.assign(defaultElfConfig, overrideConfig)).elfinder('instance'); }); diff --git a/resources/views/tinymce.php b/resources/views/tinymce.php index 16d85f5..c10f0a5 100644 --- a/resources/views/tinymce.php +++ b/resources/views/tinymce.php @@ -55,7 +55,8 @@ tinyMCEPopup.onInit.add(FileBrowserDialogue.init, FileBrowserDialogue); $().ready(function() { - var elf = $('#elfinder').elfinder({ + + var defaultElfConfig = { // set your elFinder options here lang: '', // locale @@ -68,7 +69,11 @@ getFileCallback: function(file) { // editor callback FileBrowserDialogue.mySubmit(file.url); // pass selected file path to TinyMCE } - }).elfinder('instance'); + }; + + var overrideConfig = ; + + var elf = $('#elfinder').elfinder(Object.assign(defaultElfConfig, overrideConfig)).elfinder('instance'); }); diff --git a/resources/views/tinymce4.blade.php b/resources/views/tinymce4.blade.php index 16a71f4..bdc6a78 100644 --- a/resources/views/tinymce4.blade.php +++ b/resources/views/tinymce4.blade.php @@ -37,7 +37,8 @@ } $().ready(function() { - var elf = $('#elfinder').elfinder({ + + var defaultElfConfig = { // set your elFinder options here @if($locale) lang: '{{ $locale }}', // locale @@ -50,7 +51,11 @@ getFileCallback: function(file) { // editor callback FileBrowserDialogue.mySubmit(file.url); // pass selected file path to TinyMCE } - }).elfinder('instance'); + }; + + var overrideConfig = @json(config('elfinder.client_options')); + + var elf = $('#elfinder').elfinder(Object.assign(defaultElfConfig, overrideConfig)).elfinder('instance'); }); diff --git a/resources/views/tinymce4.php b/resources/views/tinymce4.php index 89b7133..ba7bf04 100644 --- a/resources/views/tinymce4.php +++ b/resources/views/tinymce4.php @@ -37,7 +37,8 @@ } $().ready(function() { - var elf = $('#elfinder').elfinder({ + + var defaultElfConfig = { // set your elFinder options here lang: '', // locale @@ -50,7 +51,11 @@ getFileCallback: function(file) { // editor callback FileBrowserDialogue.mySubmit(file.url); // pass selected file path to TinyMCE } - }).elfinder('instance'); + }; + + var overrideConfig = ; + + var elf = $('#elfinder').elfinder(Object.assign(defaultElfConfig, overrideConfig)).elfinder('instance'); }); diff --git a/resources/views/tinymce5.blade.php b/resources/views/tinymce5.blade.php index 160230e..0ed5e55 100644 --- a/resources/views/tinymce5.blade.php +++ b/resources/views/tinymce5.blade.php @@ -38,7 +38,8 @@ }; $().ready(function() { - var elf = $('#elfinder').elfinder({ + + var defaultElfConfig = { // set your elFinder options here @if($locale) lang: '{{ $locale }}', // locale @@ -51,7 +52,11 @@ getFileCallback: function(file) { // editor callback FileBrowserDialogue.mySubmit(file); // pass selected file path to TinyMCE } - }).elfinder('instance'); + }; + + var overrideConfig = @json(config('elfinder.client_options')); + + var elf = $('#elfinder').elfinder(Object.assign(defaultElfConfig, overrideConfig)).elfinder('instance'); }); diff --git a/resources/views/tinymce5.php b/resources/views/tinymce5.php index 5183def..1af64eb 100644 --- a/resources/views/tinymce5.php +++ b/resources/views/tinymce5.php @@ -38,7 +38,8 @@ }; $().ready(function() { - var elf = $('#elfinder').elfinder({ + + var defaultElfConfig = { // set your elFinder options here lang: '', // locale @@ -51,7 +52,11 @@ getFileCallback: function(file) { // editor callback FileBrowserDialogue.mySubmit(file); // pass selected file path to TinyMCE } - }).elfinder('instance'); + }; + + var overrideConfig = ; + + var elf = $('#elfinder').elfinder(Object.assign(defaultElfConfig, overrideConfig)).elfinder('instance'); });