Skip to content

Commit f51c848

Browse files
committed
add support for upload via ckeditor "Upload" tab
1 parent ccb5854 commit f51c848

File tree

4 files changed

+43
-13
lines changed

4 files changed

+43
-13
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,10 @@
4848
```javascript
4949
<script>
5050
CKEDITOR.replace( 'editor', {
51-
filebrowserImageBrowseUrl: '/laravel-filemanager?type=Images'
52-
filebrowserBrowseUrl: '/laravel-filemanager?type=Files'
51+
filebrowserImageBrowseUrl: '/laravel-filemanager?type=Images',
52+
filebrowserImageUploadUrl: '/laravel-filemanager/upload?type=Images&_token={{csrf_token()}}',
53+
filebrowserBrowseUrl: '/laravel-filemanager?type=Files',
54+
filebrowserUploadUrl: '/laravel-filemanager/upload?type=Files&_token={{csrf_token()}}'
5355
});
5456
</script>
5557
```

src/controllers/LfmController.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,7 @@ public function getDirectories($path)
132132
$arr_dir = [];
133133

134134
foreach ($all_directories as $directory) {
135-
$path_parts = explode('/', $directory);
136-
$dir_name = end($path_parts);
135+
$dir_name = $this->getFileName($directory);
137136

138137
if ($dir_name !== $thumb_folder_name) {
139138
$arr_dir[] = $dir_name;

src/controllers/UploadController.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ public function upload()
4343
$this->makeThumb($dest_path, $new_filename);
4444
}
4545

46+
// upload via ckeditor 'Upload' tab
47+
if (!Input::has('show_list')) {
48+
return $this->useFile($new_filename);
49+
}
50+
4651
return 'OK';
4752
}
4853

@@ -71,4 +76,27 @@ private function makeThumb($dest_path, $new_filename)
7176
unset($thumb_img);
7277
}
7378

79+
private function useFile($new_filename)
80+
{
81+
$file = parent::getUrl() . $new_filename;
82+
83+
return "<script type='text/javascript'>
84+
85+
function getUrlParam(paramName) {
86+
var reParam = new RegExp('(?:[\?&]|&)' + paramName + '=([^&]+)', 'i');
87+
var match = window.location.search.match(reParam);
88+
return ( match && match.length > 1 ) ? match[1] : null;
89+
}
90+
91+
var funcNum = getUrlParam('CKEditorFuncNum');
92+
93+
var par = window.parent,
94+
op = window.opener,
95+
o = (par && par.CKEDITOR) ? par : ((op && op.CKEDITOR) ? op : false);
96+
97+
if (op) window.close();
98+
if (o !== false) o.CKEDITOR.tools.callFunction(funcNum, '$file');
99+
</script>";
100+
}
101+
74102
}

src/views/index.blade.php

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -361,15 +361,6 @@ function notImp() {
361361
function useFile(file) {
362362
var path = $('#working_dir').val();
363363
364-
function getUrlParam(paramName) {
365-
var reParam = new RegExp('(?:[\?&]|&)' + paramName + '=([^&]+)', 'i');
366-
var match = window.location.search.match(reParam);
367-
return ( match && match.length > 1 ) ? match[1] : null;
368-
}
369-
370-
var funcNum = getUrlParam('CKEditorFuncNum');
371-
window.opener.CKEDITOR.tools.callFunction(funcNum, path + '/' + file);
372-
373364
var item_url = image_url;
374365
375366
@if ((Session::has('lfm_type')) && (Session::get('lfm_type') != "Images"))
@@ -380,6 +371,16 @@ function getUrlParam(paramName) {
380371
item_url = item_url + path + '/';
381372
}
382373
374+
function getUrlParam(paramName) {
375+
var reParam = new RegExp('(?:[\?&]|&)' + paramName + '=([^&]+)', 'i');
376+
var match = window.location.search.match(reParam);
377+
return ( match && match.length > 1 ) ? match[1] : null;
378+
}
379+
380+
var funcNum = getUrlParam('CKEditorFuncNum');
381+
382+
window.opener.CKEDITOR.tools.callFunction(funcNum, path + '/' + file);
383+
383384
window.opener.CKEDITOR.tools.callFunction(funcNum, item_url + file);
384385
385386
window.close();

0 commit comments

Comments
 (0)