HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: //home/armgroup/libs/vendor/unisharp/laravel-filemanager/src/Middlewares/MultiUser.php
<?php

namespace UniSharp\LaravelFilemanager\Middlewares;

use Closure;
use Illuminate\Support\Str;
use UniSharp\LaravelFilemanager\Lfm;

class MultiUser
{
    private $helper;

    public function __construct()
    {
        $this->helper = app(Lfm::class);
    }

    public function handle($request, Closure $next)
    {
        if ($this->helper->allowFolderType('user')) {
            $previous_dir = $request->input('working_dir');
            $working_dir = $this->helper->getRootFolder('user');

            if ($previous_dir == null) {
                $request->merge(compact('working_dir'));
            } elseif (! $this->validDir($previous_dir)) {
                $request->replace(compact('working_dir'));
            }
        }

        return $next($request);
    }

    private function validDir($previous_dir)
    {
        if (Str::startsWith($previous_dir, $this->helper->getRootFolder('share'))) {
            return true;
        }

        if (Str::startsWith($previous_dir, $this->helper->getRootFolder('user'))) {
            return true;
        }

        return false;
    }
}