protected function registerBladeExtensions()
{
/**
* Role based blade extensions
* Accepts either string of Role Name or Role ID
*/
Blade::directive('role', function ($role) {
return "<?php if (access()->hasRole({$role})): ?>";
});
/**
* Accepts array of names or id's
*/
Blade::directive('roles', function ($roles) {
return "<?php if (access()->hasRoles({$roles})): ?>";
});
Blade::directive('needsroles', function ($roles) {
return '<?php if (access()->hasRoles(' . $roles . ', true)): ?>';
});
/**
* Permission based blade extensions
* Accepts wither string of Permission Name or Permission ID
*/
Blade::directive('permission', function ($permission) {
return "<?php if (access()->allow({$permission})): ?>";
});
/**
* Accepts array of names or id's
*/
Blade::directive('permissions', function ($permissions) {
return "<?php if (access()->allowMultiple({$permissions})): ?>";
});
Blade::directive('needspermissions', function ($permissions) {
return '<?php if (access()->allowMultiple(' . $permissions . ', true)): ?>';
});
/**
* Generic if closer to not interfere with built in blade
*/
Blade::directive('endauth', function () {
return '<?php endif; ?>';
});
}