directive() public static method

Register a handler for custom directives.
public static directive ( string $name, callable $handler ) : void
$name string
$handler callable
return void
Exemplo n.º 1
0
 /**
  * Bootstrap any application services.
  */
 public function boot()
 {
     \Blade::directive('macro', function ($expression) {
         $pattern = '/(\\([\'|\\"](\\w+)[\'|\\"],\\s*(([^\\@])+|(.*))\\))/xim';
         $matches = [];
         preg_match_all($pattern, $expression, $matches);
         if (!isset($matches[3][0])) {
             throw new \InvalidArgumentException(sprintf('Invalid arguments in blade: macro%s', $expression));
         }
         return sprintf("<?php \$___tiny['%s']=function(%s){ ob_start(); ?>\n", $matches[2][0], $matches[3][0]);
     });
     \Blade::directive('endmacro', function ($expression) {
         return "\n<?php return ob_get_clean();} ?>\n";
     });
     \Blade::directive('usemacro', function ($expression) {
         $pattern = '/(\\([\'|\\"](\\w+)[\'|\\"],\\s*(([^\\@])+|(.*))\\))/xim';
         $matches = [];
         preg_match_all($pattern, $expression, $matches);
         if (!isset($matches[3][0])) {
             throw new \InvalidArgumentException(sprintf('Invalid arguments in blade: usemacro%s', $expression));
         }
         return sprintf("<?php echo \$___tiny['%s'](%s); ?>\n", $matches[2][0], $matches[3][0]);
     });
     \Blade::directive('permission', function ($expression) {
         return "<?php if(Auth::user()->permission{$expression}): ?>";
     });
     \Blade::directive('endpermission', function ($expression) {
         return '<?php endif; ?>';
     });
 }
Exemplo n.º 2
0
 /**
  * Bootstrap the application services.
  *
  * @return void
  */
 public function boot()
 {
     app()->booted(function () {
         if (!defined('LARAVEL_BOOTED')) {
             define('LARAVEL_BOOTED', microtime(true));
         }
     });
     // \View::composer('*', function($view)
     // {
     //     // prifile views?
     // });
     \Blade::directive('li', function ($args) {
         $args = explode(',', str_replace(["(", ")"], '', $args));
         $cmd = str_replace(["'", '"'], '', $args[0]);
         array_shift($args);
         $args = implode(',', $args);
         return "<?php li()->{$cmd}({$args}); ?>";
     });
     if (\DB::connection()->getDatabaseName()) {
         \DB::listen(function ($sql) {
             \Lsrur\Inspector\Facade\Inspector::addSql($sql);
         });
     }
     if (is_dir(base_path() . '/resources/views/packages/lsrur/inspector')) {
         $this->loadViewsFrom(base_path() . '/resources/views/packages/lsrur/inspector', 'inspector');
     } else {
         // The package views have not been published. Use the defaults.
         $this->loadViewsFrom(__DIR__ . '/views', 'inspector');
     }
     $kernel = $this->app->make('Illuminate\\Contracts\\Http\\Kernel');
     $kernel->pushMiddleware('Lsrur\\Inspector\\Middleware\\Inspector');
     $this->publishes([__DIR__ . '/config/inspector.php' => config_path('inspector.php')], 'config');
     $this->mergeConfigFrom(__DIR__ . '/config/inspector.php', 'inspector');
 }
Exemplo n.º 3
0
 /**
  * Register the blade directives
  *
  * @return void
  */
 private function bladeDirectives()
 {
     if (!class_exists('\\Blade')) {
         return;
     }
     // Call to Entrust::hasRole
     \Blade::directive('role', function ($expression) {
         return "<?php if (\\Entrust::hasRole{$expression}) : ?>";
     });
     \Blade::directive('endrole', function ($expression) {
         return "<?php endif; // Entrust::hasRole ?>";
     });
     // Call to Entrust::can
     \Blade::directive('permission', function ($expression) {
         return "<?php if (\\Entrust::can{$expression}) : ?>";
     });
     \Blade::directive('endpermission', function ($expression) {
         return "<?php endif; // Entrust::can ?>";
     });
     // Call to Entrust::ability
     \Blade::directive('ability', function ($expression) {
         return "<?php if (\\Entrust::ability{$expression}) : ?>";
     });
     \Blade::directive('endability', function ($expression) {
         return "<?php endif; // Entrust::ability ?>";
     });
 }
Exemplo n.º 4
0
 public function loadZezont4BladeDirectives()
 {
     \Blade::directive('hasRole', function ($role_slug) {
         return "<?php if (auth()->check()) :\n\t\t\t\tif (auth()->user()->hasRole{$role_slug}) : ?>";
     });
     \Blade::directive('endhasRole', function () {
         return "<?php endif; endif; ?>";
     });
 }
 /**
  * Bootstrap any application services.
  *
  * @return void
  */
 public function boot()
 {
     \Blade::directive('combine', function ($expr) {
         return \Blade::compileString("implode(' ', with{$expr})");
     });
     \Blade::directive('capitalize', function ($expr) {
         return \Blade::compileString("ucfirst(with{$expr})");
     });
 }
Exemplo n.º 6
0
 /**
  * Bootstrap the application services.
  *
  * @return void
  */
 public function boot()
 {
     \Blade::directive('asset_build', function ($expression) {
         return "<?php echo app(\\Ree\\Services\\CocktailService::class)->resolveBuildAsset{$expression} ?>";
     });
     \Blade::directive('asset_theme', function ($expression) {
         return "<?php echo app(\\Ree\\Services\\CocktailService::class)->resolveThemeAsset{$expression} ?>";
     });
     $this->app->make(ThemeConfiguration::class)->setThemeName('default');
 }
Exemplo n.º 7
0
 /**
  * Bootstrap any application services.
  *
  * @return void
  */
 public function boot()
 {
     // Set UUID for Monitors on create
     Monitor::creating(function (Monitor $monitor) {
         $monitor->uuid = Uuid::generate(4);
     });
     \Blade::directive('datediff', function ($carbon) {
         return "<?php echo '<span title=\"'\n                .with{$carbon}->format('Y-m-d H:i:s').'\">'.with{$carbon}->diffForHumans().'</span>'; ?>";
     });
 }
Exemplo n.º 8
0
 /**
  * quick output number format
  */
 private function number()
 {
     \Blade::directive('number', function ($number, $separator = 0, $lang = 'vn') {
         if ($lang == 'vn') {
             return "<?php echo number_format({$number}, {$separator}, ',', '.') ?>";
         } else {
             return "<?php echo number_format({$number}, {$separator}, '.', ',')?>";
         }
     });
 }
 public function boot()
 {
     if (!file_exists(resource_path('i18n'))) {
         mkdir(resource_path('i18n'), 0755);
     }
     I18n::$dir = resource_path('i18n');
     I18n::$locale = env('I18N');
     \Blade::directive('lang', function ($expression) {
         return "<?php echo __{$expression}; ?>";
     });
 }
Exemplo n.º 10
0
 /**
  * Register a custom macro(directive).
  *
  * @param  string $name
  * @param  callable $macro
  * @param null $prefix
  */
 public static function macro($name, callable $macro, $prefix = null)
 {
     if (empty($prefix)) {
         $prefix = self::$macroName;
     }
     \Blade::directive($prefix . ucwords($name), function ($argsString = '()') use($macro) {
         $args = [];
         eval('$args = \\Rtler\\BladeMacro\\BladeMacro::argsToArray' . $argsString . ';');
         return call_user_func_array($macro, $args);
     });
 }
 /**
  * Bootstrap the application services.
  *
  * @return void
  */
 public function boot()
 {
     \Blade::directive('activeCheck', function ($expression) {
         return "<?php echo Active::check{$expression} ;  ?>";
     });
     \Blade::directive('ifActiveUrl', function ($expression) {
         return "<?php if(Active::checkBoolean{$expression}): ?>";
     });
     \Blade::directive('endIfActiveUrl', function ($expression) {
         return '<?php endif; ?>';
     });
     $this->publishes([__DIR__ . '/config/active.php' => config_path('active.php')]);
 }
Exemplo n.º 12
0
 /**
  * Register the blade directives
  *
  * @return void
  */
 private function bladeDirectives()
 {
     // Call to Rbac::hasRole
     \Blade::directive('role', function ($expression) {
         return "<?php if (\\Rbac::hasRole({$expression})) : ?>";
     });
     \Blade::directive('endrole', function ($expression) {
         return "<?php endif; // Rbac::hasRole ?>";
     });
     // Call to Rbac::can
     \Blade::directive('permission', function ($expression) {
         return "<?php if (\\Rbac::can({$expression})) : ?>";
     });
     \Blade::directive('endpermission', function ($expression) {
         return "<?php endif; // Rbac::can ?>";
     });
     // Call to Rbac::ability
     \Blade::directive('ability', function ($expression) {
         return "<?php if (\\Rbac::ability({$expression})) : ?>";
     });
     \Blade::directive('endability', function ($expression) {
         return "<?php endif; // Rbac::ability ?>";
     });
 }
Exemplo n.º 13
0
Blade::directive('route', function ($expression) {
    return "<?php if (Route::currentRouteName() == {$expression}) : ?>";
});
Blade::directive('elseifroute', function ($expression) {
    return "<?php elseif (Route::currentRouteName() == {$expression}) : ?>";
});
Blade::directive('endroute', function ($expression) {
    return "<?php endif; ?>";
});
/**
 * Custom blade tag to set variables
 * Usage: @title('Page Title')
 */
Blade::directive('set', function ($expression) {
    // $pattern     = '#@set\(\s*[\'|"]([a-zA-Z_0-9]+)[\'|"]\s*,\s*(.*)\s*\)#';
    return "<?php {$expression}; ?>";
});
/**
 * Custom blade tag to render a ReactJS component
 * Usage: @react('ComponentName', $arguments))
 */
Blade::directive('react', function ($expression) {
    $expression = substr($expression, 1);
    $expression = substr($expression, 0, -1);
    $expressionParts = explode(',', $expression, 2);
    $componentName = $expressionParts[0];
    $componentName = trim($componentName, '\'"');
    $componentId = $componentName . '_' . str_random();
    $arguments = isset($expressionParts[1]) ? $expressionParts[1] : '[]';
    return "\n<div id=\"{$componentId}\"></div>\n                <script>\n                    ReactDOM.render(\n                        React.createElement({$componentName}, <?php echo json_encode({$arguments}) ?>),\n                        document.getElementById('{$componentId}')\n                    );\n                </script>\n                ";
});
 private function extendBladeTags()
 {
     \Blade::directive('can', function ($expression) {
         return "<?php if (app('backend.gate')->check{$expression}): ?>";
     });
     \Blade::directive('elsecan', function ($expression) {
         return "<?php elseif (app('backend.gate')->check{$expression}): ?>";
     });
     \Blade::directive('cannot', function ($expression) {
         return "<?php if (app('backend.gate')->denies{$expression}): ?>";
     });
     \Blade::directive('elsecannot', function ($expression) {
         return "<?php elseif (app('backend.gate')->denies{$expression}): ?>";
     });
 }
Exemplo n.º 15
0
Route::post('plan/action/date', 'ActionsController@postDate');
Route::post('plan/action/department', 'ActionsController@postDepartment');
Route::post('plan/action/lead', 'ActionsController@postLead');
Route::post('plan/action/status', 'ActionsController@postStatus');
Route::post('plan/task/success', 'TasksController@postSuccess');
Route::post('plan/task/description', 'TasksController@postTask');
Route::post('plan/task/date', 'TasksController@postTaskDate');
Route::post('plan/task/department', 'TasksController@postDepartment');
Route::post('plan/task/lead', 'TasksController@postLead');
Route::post('plan/task/status', 'TasksController@postStatus');
//MyWork editing
Route::get('mywork/edit', 'MyWorkController@edit');
Route::post('mywork/action/lead', 'ActionsController@postLead');
Route::post('mywork/action/collab', 'ActionsController@postCollab');
Route::post('mywork/task/lead', 'TasksController@postLead');
Route::post('mywork/task/collab', 'TasksController@postCollab');
//BLADE ROLE AND PERMISSION DIRECTIVES
// role
Blade::directive('role', function ($expression) {
    return "<?php if (Auth::check() && Auth::User()->is{$expression}): ?>";
});
Blade::directive('endrole', function () {
    return "<?php endif; ?>";
});
// permission
Blade::directive('permission', function ($expression) {
    return "<?php if (Auth::check() && Auth::User()->can{$expression}): ?>";
});
Blade::directive('endpermission', function () {
    return "<?php endif; ?>";
});
Exemplo n.º 16
0
<?php

//single
Blade::directive('option', function ($name) {
    $option = '';
    if (Cache::has('options')) {
        $options = Cache::get('options');
        $option = isset($options[$name]) ? $options[$name] : '';
    }
    if (empty($option)) {
        $option = \Option::single($name);
    }
    return "<?php echo {$option}; ?>";
});
Exemplo n.º 17
0
<?php

Blade::directive('render', function ($expression) {
    return "<?php echo render{$expression}; ?>";
});
Exemplo n.º 18
0
<?php

Blade::directive('block', function ($name) {
    return "<?php echo block_render{$name}; ?>";
});
Exemplo n.º 19
0
Blade::directive('form_checkbox', function ($expression) {
    return "<?php echo Form::checkbox{$expression}; ?>";
});
//@form_radio
Blade::directive('form_radio', function ($expression) {
    return "<?php echo Form::radio{$expression}; ?>";
});
//@form_checkbox_group
Blade::directive('form_checkbox_group', function ($expression) {
    return "<?php echo Form::checkboxGroup{$expression}; ?>";
});
//@form_radio_group
Blade::directive('form_radio_group', function ($expression) {
    return "<?php echo Form::radioGroup{$expression}; ?>";
});
//@form_dropdown
Blade::directive('form_dropdown', function ($expression) {
    return "<?php echo Form::dropdown{$expression}; ?>";
});
//@form_submit
Blade::directive('form_submit', function ($expression) {
    return "<?php echo Form::submit{$expression}; ?>";
});
//@form_reset
Blade::directive('form_reset', function ($expression) {
    return "<?php echo Form::reset{$expression}; ?>";
});
//@form_buttons
Blade::directive('form_buttons', function ($expression) {
    return "<?php echo Form::buttons{$expression}; ?>";
});
Exemplo n.º 20
0
 private function bladeDirectives()
 {
     \Blade::directive('logMessage', function ($log_text) {
         return "<?php \\Gazatem\\Glog\\OutputGenerator::get_message({$log_text}); ?>";
     });
 }
Exemplo n.º 21
0
 protected function extendBlade()
 {
     \Blade::directive('checked', function ($expression) {
         return "<?php echo value({$expression}) ? 'checked' : ''; ?>";
     });
     \Blade::directive('shortdate', function ($expression) {
         return "<?php echo substr(value({$expression}), 0, 10); ?>";
     });
 }
Exemplo n.º 22
0
<?php

/*
|--------------------------------------------------------------------------
| Blade Directives
|--------------------------------------------------------------------------
*/
Blade::directive('markdown', function ($expression) {
    return "<?php echo app('\\League\\CommonMark\\CommonMarkConverter')->convertToHtml({$expression}); ?>";
});
Exemplo n.º 23
0
 public function register()
 {
     \Blade::directive($this->getName(), function ($expression) {
         return $this->directive($expression);
     });
 }