Spamworldpro Mini Shell
Spamworldpro


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/dceprojects.corals.io/Corals/modules/Utility/Classes/Utility.php
<?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;
    }

}

Spamworldpro Mini