f试ssefahahå�¯èƒ½å�¡å�¡å�¡é©¬å�¡å�¡è®¡ç®—机视觉事实上事实上飒飒飒gjâ—�â—�â—�â—�hfkttkgdgkmcuocucocucocé¡¶é¡¶é¡¶é¡¶é¡¶é¡¶é¡¶é¡¶é¡¶é¡¶é¡¶é¡¶uco朵朵å�¯å�¯æ”¾2å·�峨2555555666369🌹 �����ѩ�����һ����dddf2qevf2fv69666 ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!PKGW]ÿÐZ&yyextension.jsonnu„[µü¤{ "name": "Menu", "type": "extension", "version": "2.2.0", "description": "Menu extension for magicai" } PKGW]YBåõõSystem/MenuServiceProvider.phpnu„[µü¤registerViews() ->registerRoutes(); } public function registerViews(): static { $this->loadViewsFrom([__DIR__ . '/../resources/views'], 'menu'); return $this; } private function registerRoutes(): void { $this->router() ->group([ 'middleware' => ['web', 'auth'], ], function (Router $router) { Route::prefix('dashboard/admin') ->middleware('admin') ->name('dashboard.admin.menu.') ->controller(MenuController::class) ->group(function () { Route::get('menu', 'index')->name('index'); Route::get('menu/{menu}/delete', 'delete')->name('delete'); Route::any('menu/{menu}/status', 'status')->name('status'); Route::any('menu/{menu}/bolt-menu', 'boltMenu')->name('bolt-menu'); Route::post('menu/{menu}/{type}', 'update')->name('update'); Route::any('menu/order', 'order')->name('order'); Route::post('menu', 'store')->name('store'); }); }); } private function router(): Router|Route { return $this->app['router']; } } PKGW]ûÈÑ»••*System/Http/Controllers/MenuController.phpnu„[µü¤service->generate(false); $dash_theme = setting('dash_theme'); return view('menu::index', ['items' => $items, 'dash_theme' => $dash_theme]); } public function delete(Menu $menu) { if (Helper::appIsDemo()) { return response()->json([ 'status' => 'error', 'message' => trans('This feature is disabled in demo mode.'), ]); } if ($menu['custom_menu']) { Menu::query()->where('parent_id', $menu->id)->update([ 'parent_id' => null, ]); $menu->delete(); } $this->service->regenerate(); return back()->with([ 'type' => 'success', 'message' => trans('Item deleted'), ]); } public function update(Request $request, Menu $menu, $type) { if (Helper::appIsDemo()) { return response()->json([ 'status' => 'error', 'message' => trans('This feature is disabled in demo mode.'), ]); } $menu->update([ $type => $request->get('value'), ]); $this->service->regenerate(); return response()->json([ 'message' => trans('Menu updated'), ]); } public function order(Request $request) { if (Helper::appIsDemo()) { return response()->json([ 'status' => 'error', 'message' => trans('This feature is disabled in demo mode.'), ]); } $data = $request->get('menu'); $parentMenuKeys = array_keys( array_filter($data, fn ($v) => $v == 'null') ); $this->service->parentMenuOrderUpdate( $parentMenuKeys ); $this->service->subMenuOrderUpdate( array_filter($data, fn ($v) => $v != 'null') ); $this->service->regenerate(); return response()->json([ 'message' => trans('Menu updated'), ]); } public function status(Request $request, Menu $menu) { if (Helper::appIsDemo()) { return response()->json([ 'status' => 'error', 'message' => trans('This feature is disabled in demo mode.'), ]); } $menu->update([ 'is_active' => ! $menu->getAttribute('is_active'), ]); $this->service->regenerate(); return response()->json([ 'message' => trans('Menu updated'), ]); } public function boltMenu(Request $request, Menu $menu) { if (Helper::appIsDemo()) { return response()->json([ 'status' => 'error', 'message' => trans('This feature is disabled in demo mode.'), ]); } $menu->update([ 'bolt_menu' => ! $menu->getAttribute('bolt_menu'), ]); $this->service->regenerate(); return response()->json([ 'message' => trans('Menu updated'), ]); } public function store(Request $request) { if (Helper::appIsDemo()) { return response()->json([ 'status' => 'error', 'message' => trans('This feature is disabled in demo mode.'), ]); } $data = $request->validate([ 'label' => 'required|string|max:30', 'type' => 'required|in:label,divider,item', 'link' => 'sometimes|nullable|string|max:255', ]); if ($data['type'] == 'item') { $data['icon'] = 'tabler-file-unknown'; $data['route'] = $data['link']; } Menu::query()->create(array_merge($data, [ 'key' => $this->keyGenerate($data['label']), 'custom_menu' => true, ])); $this->service->regenerate(); return response()->json([ 'message' => trans('Added the new item'), ]); } public function keyGenerate(string $label, $time = ''): string { $label = Str::slug($label) . $time; if (Menu::query()->where('key', $label)->exists()) { return $this->keyGenerate($label, rand(1000, 9999)); } return $label; } } PKGW]å‹&ÐC•C•resources/views/index.blade.phpnu„[µü¤@php $filters = ['User', 'Admin']; @endphp @extends('panel.layout.settings') @section('title', __('Menu Management')) @section('titlebar_actions') {{ __('Add Menu Item') }} @endsection @push('css') @endpush @section('settings')

@lang('Editing:') @lang('Menu')

@lang('With the MagicAI menu creator, you can edit menu labels, change icons, switch between user and admin menus, and hide specific menu items.')

    @foreach ($items as $item) @if ($item['show_condition'])
  1. @if ($item['type'] === 'divider') @lang('Divider')
    @else @if ($item['type'] === 'label') {{ strtoupper(substr($item['label'], 0, 1)) }} @endif @if ($item['type'] === 'item') @endif @endif @if ($item['custom_menu']) @endif
    @if ($item['type'] == 'item' && in_array($dash_theme, ['bolt', 'marketing-bot-dashboard', 'social-media-dashboard']))
    @endif @if ($item['key'] != 'menu_setting')
    @endif
    @if ($item['type'] == 'item' && in_array($dash_theme, ['bolt', 'marketing-bot-dashboard', 'social-media-dashboard']))
    @endif
    @php $children = $item['children']; @endphp @if ($children)
      @foreach ($children as $child) @if (!$child['extension']) @php $child['show_condition'] = true; @endphp @endif @if (isset($child['show_condition']))
    1. @if ($child['type'] === 'divider') @lang('Divider')
      @else @if ($child['type'] === 'label') {{ strtoupper(substr($child['label'], 0, 1)) }} @endif @if ($child['type'] === 'item') @endif @endif @if ($child['custom_menu']) @endif
      @if (isset($child['key']) && $child['key'] != 'menu_setting')
      @endif
    2. @endif @endforeach
    @endif
  2. @endif @endforeach
@endsection @push('script') @endpush PKGW]�L½‹££__MACOSX/._Systemnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPKGW]�L½‹££__MACOSX/._resourcesnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPKGW]�L½‹££)__MACOSX/System/._MenuServiceProvider.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPKGW]�L½‹££__MACOSX/System/._Httpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPKGW]�L½‹££5__MACOSX/System/Http/Controllers/._MenuController.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPKGW]�L½‹££"__MACOSX/System/Http/._Controllersnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPKGW]�L½‹££*__MACOSX/resources/views/._index.blade.phpnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPKGW]�L½‹££__MACOSX/resources/._viewsnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPKGW]�L½‹££__MACOSX/._extension.jsonnu„[µü¤Mac OS X  2q£ATTR£˜ ˜ com.apple.provenance¤`˜†TÜçPKGW]ÿÐZ&yyextension.jsonnu„[µü¤PKGW]YBåõõ·System/MenuServiceProvider.phpnu„[µü¤PKGW]ûÈÑ»••*úSystem/Http/Controllers/MenuController.phpnu„[µü¤PKGW]å‹&ÐC•C•éresources/views/index.blade.phpnu„[µü¤PKGW]�L½‹££{°__MACOSX/._Systemnu„[µü¤PKGW]�L½‹££_±__MACOSX/._resourcesnu„[µü¤PKGW]�L½‹££)F²__MACOSX/System/._MenuServiceProvider.phpnu„[µü¤PKGW]�L½‹££B³__MACOSX/System/._Httpnu„[µü¤PKGW]�L½‹££5+´__MACOSX/System/Http/Controllers/._MenuController.phpnu„[µü¤PKGW]�L½‹££"3µ__MACOSX/System/Http/._Controllersnu„[µü¤PKGW]�L½‹££*(¶__MACOSX/resources/views/._index.blade.phpnu„[µü¤PKGW]�L½‹££%·__MACOSX/resources/._viewsnu„[µü¤PKGW]�L½‹££¸__MACOSX/._extension.jsonnu„[µü¤PK Íþ¸