diff --git a/app/Http/Controllers/ItemController.php b/app/Http/Controllers/ItemController.php index bd252763..8a2063c6 100644 --- a/app/Http/Controllers/ItemController.php +++ b/app/Http/Controllers/ItemController.php @@ -40,7 +40,7 @@ class ItemController extends Controller $data["treat_tags_as"] = $treat_tags_as; if (config('app.auth_roles_enable')) { - $roles = explode(',', $request->header(config('app.auth_roles_header'))); + $roles = explode(config('app.auth_roles_delimiter'), $request->header(config('app.auth_roles_header'))); if ($treat_tags_as == 'categories') { $data['categories'] = Item::whereHas('children')->with('children', function ($query) { $query->pinned()->orderBy('order', 'asc'); diff --git a/app/Http/Controllers/TagController.php b/app/Http/Controllers/TagController.php index 8e32dd46..0a8fec52 100644 --- a/app/Http/Controllers/TagController.php +++ b/app/Http/Controllers/TagController.php @@ -93,7 +93,7 @@ class TagController extends Controller $item = Item::whereUrl($slug)->first(); //print_r($item); if (config('app.auth_roles_enable')) { - $roles = explode(',', $request->header(config('app.auth_roles_header'))); + $roles = explode(config('app.auth_roles_delimiter'), $request->header(config('app.auth_roles_header'))); $data['apps'] = $item->children()->whereIn('role', $roles)->pinned()->orderBy('order', 'asc')->get(); } else { $data['apps'] = $item->children()->pinned()->orderBy('order', 'asc')->get(); diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 5f9748aa..015d87bf 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -88,6 +88,11 @@ class AppServiceProvider extends ServiceProvider $view->with('trianglify_seed', $trianglify_seed); $view->with('allusers', $allusers); $view->with('current_user', $current_user); + if (config('app.auth_roles_enable')){ + $view->with('enable_config_buttons', in_array(config('app.auth_roles_admin'),explode(config('app.auth_roles_delimiter'), $_SERVER[config('app.auth_roles_http_header')]))); + } else { + $view->with('enable_config_buttons', true); + } }); $this->app['view']->addNamespace('SupportedApps', app_path('SupportedApps')); diff --git a/config/app.php b/config/app.php index 51f8860a..b4adda7d 100644 --- a/config/app.php +++ b/config/app.php @@ -194,6 +194,8 @@ return [ 'auth_roles_enable' => (bool) env('AUTH_ROLES_ENABLE', false), 'auth_roles_header' => env('AUTH_ROLES_HEADER', 'remote-groups'), + 'auth_roles_http_header' => env('AUTH_ROLES_HTTP_HEADER', 'HTTP_REMOTE_GROUPS'), 'auth_roles_admin' => env('AUTH_ROLES_ADMIN', 'admin'), + 'auth_roles_delimiter' => ',', ]; diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index b8ab0533..9de562f3 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -94,9 +94,8 @@ @endif @yield('content') + @if($enable_config_buttons)
- - @if(Route::is('dash') || Route::is('tags.show'))
{{ __('app.dashboard.reorder') }}
@@ -110,6 +109,7 @@
{{ __('app.apps.tag_list') }}
{{ __('app.dashboard.settings') }}
+ @endif