Passed
Pull Request — master (#1094)
by Iman
03:07
created

MultiUser   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 32
c 0
b 0
f 0
rs 10
wmc 7
1
<?php 
2
3
namespace Unisharp\Laravelfilemanager\middleware;
4
5
use Closure;
6
use CRUDBooster;
7
8
class MultiUser
9
{
10
    public function handle($request, Closure $next)
11
    {
12
    	if (\Config::get('lfm.allow_multi_user') === true) {
13
    		$slug = \Config::get('lfm.user_field');
14
15
            $new_working_dir = '/' . CRUDBooster::myId();
16
17
	        $previous_dir = $request->input('working_dir');
18
19
	        if ($previous_dir == null) {
20
	            $request->merge(['working_dir' => $new_working_dir]);
21
	        } elseif (! $this->validDir($previous_dir)) {
22
	            $request->replace(['working_dir' => $new_working_dir]);
23
	        }
24
	    }
25
26
        return $next($request);
27
    }
28
29
    private function validDir($previous_dir)
30
    {
31
    	if (starts_with($previous_dir, '/' . \Config::get('lfm.shared_folder_name'))) {
32
    		return true;
33
        }
34
35
        if (starts_with($previous_dir, '/' . CRUDBooster::myId() )) {
36
        	return true;
37
        }
38
39
        return false;
40
    }
41
}
42