403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/yandex.market/lib/watcher/setup/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/yandex.market/lib/watcher/setup/storageschedule.php
<?php
namespace Yandex\Market\Watcher\Setup;

use Bitrix\Main\Entity;
use Yandex\Market\Reference\Concerns;
use Yandex\Market\Utils;
use Yandex\Market\Ui\UserField;

class StorageSchedule
{
    use Concerns\HasMessage;

    const WEEK = 604800;
    const THREE_DAYS = 259200;
    const DAY = 86400;
    const HALF_OF_DAY = 43200;
    const SIX_HOURS = 21600;
    const THREE_HOURS = 10800;
    const TWO_HOURS = 7200;
    const ONE_HOUR = 3600;
    const HALF_OF_HOUR = 1800;

    public static function getFields($autoUpdateByDefault = true, $refreshDefault = self::SIX_HOURS)
    {
        return [
            new Entity\BooleanField('AUTOUPDATE', [
                'values' => [UserField\BooleanType::VALUE_N, UserField\BooleanType::VALUE_Y],
                'default_value' => $autoUpdateByDefault
                    ? UserField\BooleanType::VALUE_Y
                    : UserField\BooleanType::VALUE_N,
            ]),
            new Entity\IntegerField('REFRESH_PERIOD', [
                'nullable' => true,
                'default_value' => $refreshDefault,
            ]),
            new Entity\StringField('REFRESH_TIME', [
                'nullable' => true,
                'validation' => static function() {
                    return [
                        new Entity\Validator\Length(null, 5),
                        static function($value) {
                            $value = trim($value);

                            if ($value === '') { return true; }

                            if (!preg_match('/^(\d{1,2})(?::(\d{1,2}))?$/', $value, $matches))
                            {
                                return self::getMessage('REFRESH_TIME_INVALID');
                            }

                            $hours = (int)$matches[1];
                            $minutes = isset($matches[2]) ? (int)$matches[2] : 0;

                            if ($hours > 23)
                            {
                                return self::getMessage('REFRESH_TIME_HOUR_MORE_THAN', [ '#LIMIT#' => 23 ]);
                            }

                            if ($minutes > 59)
                            {
                                return self::getMessage('REFRESH_TIME_MINUTE_MORE_THAN', [ '#LIMIT#' => 59 ]);
                            }

                            return true;
                        },
                    ];
                },
            ]),
        ];
    }

    public static function extendMapDescription(array $fields)
    {
        $useCron = Utils::isAgentUseCron();

        $fields['AUTOUPDATE']['LIST_COLUMN_LABEL'] = self::getMessage('AUTOUPDATE');

        $fields['REFRESH_PERIOD']['LIST_COLUMN_LABEL'] = self::getMessage('REFRESH_PERIOD');
        $fields['REFRESH_PERIOD']['USER_TYPE'] = UserField\Manager::getUserType('enumeration');
        $fields['REFRESH_PERIOD']['EDIT_IN_LIST'] = ($useCron ? 'Y' : 'N');
        $fields['REFRESH_PERIOD']['VALUES'] = array_map(static function($interval) {
            return [
                'ID' => $interval,
                'VALUE' => self::getMessage("REFRESH_PERIOD_ENUM_{$interval}"),
            ];
        }, [
            self::WEEK,
            self::THREE_DAYS,
            self::DAY,
            self::HALF_OF_DAY,
            self::SIX_HOURS,
            self::THREE_HOURS,
            self::TWO_HOURS,
            self::ONE_HOUR,
            self::HALF_OF_HOUR,
        ]);

        if (!$useCron)
        {
            $fields['REFRESH_PERIOD']['SETTINGS']['DEFAULT_VALUE'] = null;
        }

        $fields['REFRESH_TIME']['LIST_COLUMN_LABEL'] = self::getMessage('REFRESH_TIME');
        $fields['REFRESH_TIME']['HELP_MESSAGE'] = self::getMessage('REFRESH_TIME_HELP');
        $fields['REFRESH_TIME']['USER_TYPE'] = UserField\Manager::getUserType('time');
        $fields['REFRESH_TIME']['DEPEND'] = [
            'REFRESH_PERIOD' => [
                'RULE' => 'EMPTY',
                'VALUE' => false,
            ],
        ];

        return $fields;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit