yieldContent($section, $default, $options); } } if (!function_exists('admin_has_section')) { /** * Check if section exists. * * @param $section * * @return mixed */ function admin_has_section($section) { return app('sectionManager')->hasSection($section); } } if (!function_exists('admin_inject_section')) { /** * Injecting content into a section. * * @param $section * @param null $content * @param bool $append * @param int $priority */ function admin_inject_section($section, $content = null, bool $append = true, int $priority = 10) { app('sectionManager')->inject($section, $content, $append, $priority); } } if (!function_exists('admin_inject_section_if')) { /** * Injecting content into a section. * * @param $condition * @param $section * @param null $content * @param bool $append * @param int $priority */ function admin_inject_section_if($condition, $section, $content = null, bool $append = false, int $priority = 10) { if ($condition) { app('sectionManager')->inject($section, $content, $append, $priority); } } } if (!function_exists('admin_has_default_section')) { /** * Check if default section exists. * * @param $section * * @return mixed */ function admin_has_default_section($section) { return app('sectionManager')->hasDefaultSection($section); } } if (!function_exists('admin_inject_default_section')) { /** * Injecting content into a section. * * @param $section * @param string|Renderable|Htmlable|callable $content */ function admin_inject_default_section($section, $content) { app('sectionManager')->injectDefault($section, $content); } } if (!function_exists('admin_trans_field')) { /** * Translate the field name. * * @param $field * @param null $locale * * @return array|\Illuminate\Contracts\Translation\Translator|null|string */ function admin_trans_field($field, $locale = null) { $slug = admin_controller_slug(); return admin_trans("{$slug}.fields.{$field}", [], $locale); } } if (!function_exists('admin_trans_label')) { /** * Translate the label. * * @param $label * @param array $replace * @param null $locale * * @return array|\Illuminate\Contracts\Translation\Translator|null|string */ function admin_trans_label($label = null, $replace = [], $locale = null) { $label = $label ?: admin_controller_name(); $slug = admin_controller_slug(); return admin_trans("{$slug}.labels.{$label}", $replace, $locale); } } if (!function_exists('admin_trans_option')) { /** * Translate the field name. * * @param $field * @param array $replace * @param null $locale * * @return array|\Illuminate\Contracts\Translation\Translator|null|string */ function admin_trans_option($optionValue, $field, $replace = [], $locale = null) { $slug = admin_controller_slug(); return admin_trans("{$slug}.options.{$field}.{$optionValue}", $replace, $locale); } } if (!function_exists('admin_trans')) { /** * Translate the given message. * * @param string $key * @param array $replace * @param string $locale * * @return \Illuminate\Contracts\Translation\Translator|string|array|null */ function admin_trans($key, $replace = [], $locale = null) { static $method = null; if ($method === null) { $method = version_compare(app()->version(), '6.0', '>=') ? 'get' : 'trans'; } $translator = app('translator'); if ($translator->has($key)) { return $translator->$method($key, $replace, $locale); } if ( strpos($key, 'global.') !== 0 && count($arr = explode('.', $key)) > 1 ) { unset($arr[0]); array_unshift($arr, 'global'); $key = implode('.', $arr); if (!$translator->has($key)) { return end($arr); } return $translator->$method($key, $replace, $locale); } return last(explode('.', $key)); } } if (!function_exists('admin_controller_slug')) { /** * @return string */ function admin_controller_slug() { static $slug = []; $controller = admin_controller_name(); return $slug[$controller] ?? ($slug[$controller] = \Dcat\Admin\Support\Helper::slug($controller)); } } if (!function_exists('admin_controller_name')) { /** * Get the class "basename" of the current controller. * * @return string */ function admin_controller_name() { static $name = []; $router = app('router'); if (!$router->current()) { return 'undefined'; } $actionName = $router->current()->getActionName(); if (!isset($name[$actionName])) { $controller = class_basename(explode('@', $actionName)[0]); $name[$actionName] = str_replace('Controller', '', $controller); } return $name[$actionName]; } } if (!function_exists('admin_path')) { /** * Get admin path. * * @param string $path * * @return string */ function admin_path($path = '') { return ucfirst(config('admin.directory')).($path ? DIRECTORY_SEPARATOR.$path : $path); } } if (!function_exists('admin_url')) { /** * Get admin url. * * @param string $path * @param mixed $parameters * @param bool $secure * * @return string */ function admin_url($path = '', $parameters = [], $secure = null) { if (url()->isValidUrl($path)) { return $path; } $secure = $secure ?: (config('admin.https') || config('admin.secure')); return url(admin_base_path($path), $parameters, $secure); } } if (!function_exists('admin_base_path')) { /** * Get admin url. * * @param string $path * * @return string */ function admin_base_path($path = '') { $prefix = '/'.trim(config('admin.route.prefix'), '/'); $prefix = ($prefix == '/') ? '' : $prefix; $path = trim($path, '/'); if (is_null($path) || strlen($path) == 0) { return $prefix ?: '/'; } return $prefix.'/'.$path; } } if (!function_exists('admin_alert')) { /** * Flash a layer message bag to session. * * @param string $message * @param string $type * @param string $offset */ function admin_alert($message = '', $type = 'success', $offset = '') { $toastr = new MessageBag(get_defined_vars()); session()->flash('layer-msg', $toastr); } } if (!function_exists('admin_success')) { /** * Flash a success message bag to session. * * @param string $title * @param string $message */ function admin_success($title, $message = '') { admin_info($title, $message, 'success'); } } if (!function_exists('admin_error')) { /** * Flash a error message bag to session. * * @param string $title * @param string $message */ function admin_error($title, $message = '') { admin_info($title, $message, 'error'); } } if (!function_exists('admin_warning')) { /** * Flash a warning message bag to session. * * @param string $title * @param string $message */ function admin_warning($title, $message = '') { admin_info($title, $message, 'warning'); } } if (!function_exists('admin_info')) { /** * Flash a message bag to session. * * @param string $title * @param string $message * @param string $type */ function admin_info($title, $message = '', $type = 'info') { $message = new MessageBag(get_defined_vars()); session()->flash($type, $message); } } if (!function_exists('admin_asset')) { /** * @param $path * * @return string */ function admin_asset($path) { if (strpos($path, '//') === false) { $path = config('admin.assets_server').'/'.trim($path, '/'); } return (config('admin.https') || config('admin.secure')) ? secure_asset($path) : asset($path); } } if (!function_exists('array_delete')) { /** * Delete from array by value. * * @param array $array * @param mixed $value */ function array_delete(&$array, $value) { foreach ($array as $index => $item) { if ($value == $item) { unset($array[$index]); } } } }