Files
crater/app/Providers/AppServiceProvider.php
Mohit Panjwani 082d5cacf2 v5.0.0 update
2021-11-30 18:58:19 +05:30

64 lines
1.5 KiB
PHP

<?php
namespace Crater\Providers;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Paginator::useBootstrapThree();
$this->loadJsonTranslationsFrom(resource_path('scripts/locales'));
if (\Storage::disk('local')->has('database_created') && Schema::hasTable('abilities')) {
$this->addMenus();
}
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
public function addMenus()
{
//main menu
\Menu::make('main_menu', function ($menu) {
foreach (config('crater.main_menu') as $data) {
$this->generateMenu($menu, $data);
}
});
//setting menu
\Menu::make('setting_menu', function ($menu) {
foreach (config('crater.setting_menu') as $data) {
$this->generateMenu($menu, $data);
}
});
}
public function generateMenu($menu, $data)
{
$menu->add($data['title'], $data['link'])
->data('icon', $data['icon'])
->data('name', $data['name'])
->data('owner_only', $data['owner_only'])
->data('ability', $data['ability'])
->data('model', $data['model'])
->data('group', $data['group']);
}
}