Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/ts.corals.io/corals-api/Corals/core/Menu/Classes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/ts.corals.io/corals-api/Corals/core/Menu/Classes/Menus.php
<?php

namespace Corals\Menu\Classes;

use Corals\Menu\Models\Menu;
use Corals\User\Models\Role;

class Menus
{
    /**
     * @param $key
     * @param null $status
     * @return array
     */
    public function getMenu($key, $status = null)
    {
        $parent_menu = Menu::where('key', $key)->active()->first();
        if ($parent_menu) {
            $menus = $parent_menu->getChildren($status);
        } else {
            $menus = [];
        }
        return $menus;
    }

    /**
     * @param $key
     * @param null $status
     * @return boolean
     */
    public function attachMenuItems($keys = [], Role $role)
    {
        $menu_items = Menu::whereIn('key', $keys)->active()->get();
        foreach ($menu_items as $menu_item) {
            $menu_item->roles = array_merge($menu_item->roles, [$role->id]);
            $menu_item->save();
        }
        return false;
    }

    public function getParents($active_key = '')
    {
        $parents = Menu::root()->active()->orderBy('order')->get();
        $pills = [];

        // set active_key if not passed
        if (empty($active_key) && $parents->count()) {
            $active_key = $parents->first()->key;
        }

        foreach ($parents as $parent) {
            array_push($pills, [
                'label' => $parent->name,
                'href' => url(config('menu.models.menu.resource_url') . 's/' . $parent->key),
                'active' => $active_key == $parent->key ? 'active' : ''
            ]);
        }

        return $pills;
    }
}

Spamworldpro Mini