Server IP : / Your IP : 10.244.4.16 [ Web Server : nginx/1.25.3 System : Linux escuela-portal-app-54f56585bc-kst6g 5.15.0-1084-azure #93-Ubuntu SMP Sat Mar 15 14:12:29 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.2.13 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/app/app/Http/Controllers/ |
Upload File : |
<?php namespace App\Http\Controllers; use App\Models\Menu; use App\Models\User; use Illuminate\Http\Request; class AppController extends Controller { public function index(Request $request) { $user = new User(); return view('app') ->with('user', $user) ->with('AT', $request->session()->get('access_token')); } public function index_public(Request $request) { $user = new User(true); return view('website.app'); } public function getMenu(Request $request) { $user = new User(); $permissions = $user->getPermissions(); // Se comenta la validación de permisos para el menú mientra se finalizan todas las opciones. // DB::enableQueryLog(); $menu_ppal = Menu::query() ->where('parent_id', '=', 0) ->orderBy('ordering', 'asc') ->orderBy('id', 'asc') ->get() ->toArray(); $arr_menu = []; foreach ($menu_ppal as $menu) { $menu_permission = !empty($menu['key_permission']) ? explode("|", $menu['key_permission']) : []; if ($this->checkPermissions($menu_permission, $permissions)) { $arr_menu[] = $menu; } } foreach ($arr_menu as &$menu) { $menu_childs = Menu::query() ->where('parent_id', '=', $menu['id']) ->orderBy('ordering', 'asc') ->orderBy('id', 'asc') ->get() ->toArray(); $menu['childs'] = []; foreach ($menu_childs as $menuc) { $menuc_permission = !empty($menuc['key_permission']) ? explode("|", $menuc['key_permission']) : []; if ($this->checkPermissions($menuc_permission, $permissions)) { $menu['childs'][] = $menuc; } } } return response()->json($arr_menu); } public function checkPermissions($menu_permission, $permissions) { $add = false; if (!empty($menu_permission)) { foreach ($menu_permission as $mp) { if (in_array($mp, $permissions)) { $add = true; } } } else { $add = true; } return $add; } }