![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/dceprojects.corals.io/Corals/modules/Utility/Classes/ |
<?php namespace Corals\Modules\Utility\Classes; use Corals\Modules\Utility\Middleware\AddGuideAssetsMiddleware; use Illuminate\Support\Arr; class Utility { protected $utilityModules = []; public function addToUtilityModules($module) { array_push($this->utilityModules, $module); } public function getUtilityModules() { return array_combine($this->utilityModules, $this->utilityModules); } /** * @param array $urlGuideConfig * @param $url */ public function includeGuidesAssets(array $urlGuideConfig, $url) { \JavaScript::put([ 'urlGuideConfig' => $urlGuideConfig, 'guideableUrl' => $url ]); \Assets::add(asset('assets/corals/plugins/introJs/js/intro.min.js')); \Assets::add(asset('assets/corals/plugins/introJs/js/intro_functions.js')); \Assets::add(asset('assets/corals/plugins/introJs/css/introjs.css')); } /** * @param $middleware * @param $request * @return array */ public function guideMiddleware($middleware, $request) { $middleware[] = AddGuideAssetsMiddleware::class; return $middleware; } public function getPredefinedDates() { foreach (config('utility.pre_defined_date.options') as $key => $attr) { $from = data_get($attr, 'from'); $to = data_get($attr, 'to'); if (data_get($attr, 'is_eval')) { $startDate = eval($from); $endDate = eval($to); } else { $startDateCarbonMethod = key($from); $startDateCarbonValue = $from[$startDateCarbonMethod]; $endDateCarbonMethod = key($to); $endDateCarbonValue = $to[$endDateCarbonMethod]; $startDate = now()->{$startDateCarbonMethod}($startDateCarbonValue)->toDateString(); $endDate = now()->{$endDateCarbonMethod}($endDateCarbonValue)->toDateString(); } $result[$key] = [ 'label' => data_get($attr, 'label'), 'start_date' => $startDate, 'end_date' => $endDate ]; } return $result ?? []; } public function gerPredefinedDatesOptions($monthly = false) { $excludedOptionsIfMonthly = [ 'year_to_today', 'month_to_today', 'previous_quarter', 'current_quarter', 'next_quarter', 'yesterday', 'today', 'tomorrow', 'last_week', 'current_week', ]; $predefinedDates = $this->getPredefinedDates(); $options = array_combine(array_keys($predefinedDates), Arr::pluck($predefinedDates, 'label')); if ($monthly) { $options = array_diff_key($options, array_flip($excludedOptionsIfMonthly)); } return $options; } }