Skip to content

Commit 3a4425f

Browse files
committed
apply support for multi-user
1 parent 8d06f7f commit 3a4425f

File tree

7 files changed

+51
-10
lines changed

7 files changed

+51
-10
lines changed

src/config/lfm.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
'files_dir' => 'public/vendor/laravel-filemanager/files/',
1010
'files_url' => '/vendor/laravel-filemanager/files/',
1111

12+
'allow_multi_user' => true,
13+
14+
'middlewares' => ['auth', '\Tsawler\Laravelfilemanager\middleware\MultiUser'],
15+
1216
'file_type_array' => [
1317
"pdf" => "Adobe Acrobat",
1418
"docx" => "Microsoft Word",

src/controllers/FolderController.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,20 @@ function __construct()
2222
$this->file_location = Config::get('lfm.images_dir');
2323
else
2424
$this->file_location = Config::get('lfm.files_dir');
25+
26+
$this->file_location .= Input::get('base');
27+
28+
if (\Config::get('allow_multi_user') === true)
29+
self::checkMyFolder();
30+
}
31+
32+
public function checkMyFolder()
33+
{
34+
$path = base_path($this->file_location);
35+
if (!File::exists($path))
36+
{
37+
File::makeDirectory($path, $mode = 0777, true, true);
38+
}
2539
}
2640

2741

src/middleware/MultiUser.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace Tsawler\Laravelfilemanager\middleware;
4+
5+
use Closure;
6+
7+
class MultiUser
8+
{
9+
public function handle($request, Closure $next)
10+
{
11+
if (\Config::get('allow_multi_user') === true) {
12+
if ($request->input('base') == null) {
13+
$request->merge(['base' => \Auth::user()->name]);
14+
} elseif (strpos($request->input('base'), \Auth::user()->name) === false) {
15+
$request->replace(['base' => \Auth::user()->name]);
16+
}
17+
}
18+
19+
return $next($request);
20+
}
21+
}

src/routes.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
Route::group(array('middleware' => 'auth'), function () // make sure authenticated
2+
Route::group(array('middleware' => \Config::get('lfm.middlewares')), function () // make sure authenticated
33
{
44

55
Route::get('sample-ckeditor-integration', function () {

src/views/files.blade.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66
@foreach($directories as $key => $dir)
77
<div class="col-sm-6 col-md-2">
88
<div class="thumbnail text-center" data-id="{{ basename($dir) }}">
9-
<a id="large_folder_{{ $key }}" data-id="{{ $dir }}"
10-
onclick="clickFolder('large_folder_{{ $key }}',1)"
9+
<a id="folder_{{ $key }}" data-id="{{ $dir }}"
10+
onclick="clickFolder('folder_{{ $key }}',0)"
1111
class="folder-icon pointer">
1212
<img src="/vendor/laravel-filemanager/img/folder.jpg">
1313
</a>
1414
</div>
1515
<div class="caption text-center">
1616
<div class="btn-group">
17-
<button type="button" onclick="clickFolder('large_folder_{{ $key }}',1)"
17+
<button type="button" onclick="clickFolder('folder_{{ $key }}',0)"
1818
class="btn btn-default btn-xs">
1919
{!! str_limit(basename($dir), $limit = 10, $end = '...') !!}
2020
</button>

src/views/images.blade.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66
@foreach($directories as $key => $dir)
77
<div class="col-sm-6 col-md-2">
88
<div class="thumbnail text-center";" data-id="{{ basename($dir) }}">
9-
<a id="large_folder_{{ $key }}" data-id="{{ $dir }}"
10-
onclick="clickFolder('large_folder_{{ $key }}',1)"
9+
<a id="folder_{{ $key }}" data-id="{{ $dir }}"
10+
onclick="clickFolder('folder_{{ $key }}',0)"
1111
class="folder-icon pointer">
1212
{{--<i class="fa fa-folder-o fa-5x"></i>--}}
1313
<img src="/vendor/laravel-filemanager/img/folder.jpg">
1414
</a>
1515
</div>
1616
<div class="caption text-center">
1717
<div class="btn-group">
18-
<button type="button" onclick="clickFolder('large_folder_{{ $key }}',1)"
18+
<button type="button" onclick="clickFolder('folder_{{ $key }}',0)"
1919
class="btn btn-default btn-xs">
2020
{!! str_limit(basename($dir), $limit = 10, $end = '...') !!}
2121
</button>

src/views/index.blade.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ function showResponse(responseText, statusText, xhr, $form) {
180180
181181
function clickRoot() {
182182
$('.folder-item').removeClass('fa-folder-open').addClass('fa-folder');
183-
$("#working_dir").val('/');
183+
$("#working_dir").val('{{Auth::user()->name}}');
184184
loadImages();
185185
}
186186
@@ -196,7 +196,7 @@ function clickFolder(x, y) {
196196
$('#' + x + ' > i').addClass('fa-folder');
197197
}
198198
}
199-
$("#working_dir").val($('#' + x).data('id'));
199+
$("#working_dir").val('{{Auth::user()->name}}' + '\\/' + $('#' + x).data('id'));
200200
loadImages();
201201
}
202202
@@ -262,7 +262,9 @@ function trash(x) {
262262
if (data != "OK") {
263263
notify(data);
264264
} else {
265-
loadFiles();
265+
if ($("#working_dir").val() == "{{Auth::user()->name}}") {
266+
loadFiles();
267+
}
266268
loadImages();
267269
}
268270
});

0 commit comments

Comments
 (0)