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/rospirotorg.ru/bitrix/modules/yandex.market/lib/ui/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/yandex.market/lib/ui/options.php
<?php

namespace Yandex\Market\Ui;

use Bitrix\Main;
use Yandex\Market;

Main\Localization\Loc::loadMessages(__FILE__);

class Options extends Market\Ui\Reference\Page
{
	public function show()
	{
		global $APPLICATION;

		$tabs = $this->getTabs();
		$fields = $this->getOptions();
		$writeRights = $this->getWriteRights();

		$APPLICATION->IncludeComponent('yandex.market:admin.form.edit', '', [
			'FORM_ID' => 'YANDEX_MARKET_ADMIN_OPTIONS',
			'PROVIDER' => Market\Component\Options\EditForm::class,
			'PRIMARY' => 1, // force load options
			'TABS' => $tabs,
			'FIELDS' => $fields,
			'ALLOW_SAVE' => $this->isAuthorized($writeRights),
			'BUTTONS' => [
				[ 'BEHAVIOR' => 'save' ],
				[ 'BEHAVIOR' => 'reset' ],
			],
		]);
	}

	protected function getTabs()
	{
		return [
			'COMMON' => [
				'name' => Market\Config::getLang('OPTIONS_TAB_OPTIONS'),
			],
			'TRADING' => [
				'name' => Market\Config::getLang('OPTIONS_TAB_TRADING'),
			],
			'SALES_BOOST' => [
				'name' => Market\Config::getLang('OPTIONS_TAB_SALES_BOOST'),
			],
			'PERMISSIONS' => [
				'name' => Market\Config::getLang('OPTIONS_TAB_PERMISSIONS'),
				'fields' => [
					'PERMISSIONS',
				]
			],
		];
	}

	public function getOptions()
	{
		return
			$this->getExportOptions()
			+ $this->getCurrencyOptions()
			+ $this->getPromoOptions()
			+ $this->getCatalogOptions()
			+ $this->getAdditionalOptions()
			+ $this->getUserPhoneOptions()
			+ $this->getTradingOrderOptions()
			+ $this->getTradingBasketOptions()
			+ $this->getTradingLogOptions()
			+ $this->getTradingTaxSystemOptions()
			+ $this->getTradingServerOptions()
			+ $this->getTradingStocksOptions()
			+ $this->getTradingListenOptions()
			+ $this->getTradingPushOptions()
			+ $this->getServerStampOptions()
			+ $this->getSalesBoostRefreshOptions()
		;
	}

	protected function getExportOptions()
	{
		$isAgentCli = Market\Utils::isAgentUseCron();

		return [
			'export_run_offer_page_size' => [
				'TYPE' => 'integer',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_EXPORT'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_OFFER_PAGE_SIZE'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_EXPORT_OFFER_PAGE_SIZE_HINT'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 50,
					'MIN_VALUE' => 1,
				]
			],
			'export_run_agent_changes_limit' => [
				'TYPE' => 'integer',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_EXPORT'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_AGENT_CHANGES_LIMIT'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_EXPORT_AGENT_CHANGES_LIMIT_HINT'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 1000,
					'MIN_VALUE' => 1,
				]
			],
			'export_run_agent_time_limit_cli' => [
				'TYPE' => 'integer',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_EXPORT'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_AGENT_TIME_LIMIT'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_EXPORT_AGENT_TIME_LIMIT_HINT'),
				'HIDDEN' => !$isAgentCli,
				'SETTINGS' => [
					'DEFAULT_VALUE' => 30,
					'MIN_VALUE' => 1,
					'MAX_VALUE' => 580,
				]
			],
			'export_run_agent_time_limit' => [
				'TYPE' => 'integer',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_EXPORT'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_AGENT_TIME_LIMIT'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_EXPORT_AGENT_TIME_LIMIT_HINT'),
				'HIDDEN' => $isAgentCli,
				'SETTINGS' => [
					'DEFAULT_VALUE' => 5,
					'MIN_VALUE' => 1,
					'MAX_VALUE' => 50,
				]
			],
			'export_log_level' => [
				'TYPE' => 'enumeration',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_EXPORT'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_LOG_LEVEL'),
				'VALUES' => [
					[
						'ID' => Market\Logger\Level::ERROR,
						'VALUE' => Market\Config::getLang('UI_OPTION_EXPORT_LOG_LEVEL_ERROR'),
					],
					[
						'ID' => Market\Logger\Level::WARNING,
						'VALUE' => Market\Config::getLang('UI_OPTION_EXPORT_LOG_LEVEL_WARNING'),
					],
				],
				'SETTINGS' => [
					'DEFAULT_VALUE' => Market\Logger\Level::WARNING,
					'ALLOW_NO_VALUE' => 'N',
				],
			],
			'export_writer_memory' => [
				'TYPE' => 'boolean',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_EXPORT'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_WRITER_MEMORY'),
			],
			'export_writer_index' => [
				'TYPE' => 'boolean',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_EXPORT'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_WRITER_INDEX'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 'Y',
				],
			],
		];
	}

	protected function getCatalogOptions()
	{
		$hasCatalog = Main\ModuleManager::isModuleInstalled('catalog');

		return [
			'export_catalog_price_discount_properties_optimize' => [
				'TYPE' => 'boolean',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_CATALOG'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_CATALOG_PRICE_DISCOUNT_PROPERTIES_OPTIMIZE'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_EXPORT_CATALOG_PRICE_DISCOUNT_PROPERTIES_OPTIMIZE_HINT'),
				'HIDDEN' => !$hasCatalog,
				'SETTINGS' => [
					'DEFAULT_VALUE' => 'Y',
				],
			],
			'export_entity_catalog_use_short' => [
				'TYPE' => 'boolean',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_CATALOG'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_CATALOG_USE_SHORT'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_EXPORT_CATALOG_USE_SHORT_HINT'),
				'HIDDEN' => !$hasCatalog || !Market\Export\Entity\Catalog\Provider::supportCatalogShortFields(),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 'Y',
				],
			],
			'export_offer_catalog_type_compatibility' => [
				'TYPE' => 'enumeration',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_CATALOG'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_CATALOG_TYPE_COMPATIBILITY'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_EXPORT_CATALOG_TYPE_COMPATIBILITY_HINT'),
				'VALUES' => [
					[ 'ID' => 'N', 'VALUE' => Market\Config::getLang('UI_OPTION_VALUE_N') ],
					[ 'ID' => 'Y', 'VALUE' => Market\Config::getLang('UI_OPTION_VALUE_Y') ],
				],
				'HIDDEN' => !$hasCatalog,
			],
			'export_entity_catalog_sku_available_auto' => [
				'TYPE' => 'enumeration',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_CATALOG'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_CATALOG_SKU_AVAILABLE_AUTO'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_EXPORT_CATALOG_SKU_AVAILABLE_AUTO_HINT'),
				'VALUES' => [
					[ 'ID' => 'N', 'VALUE' => Market\Config::getLang('UI_OPTION_VALUE_N') ],
					[ 'ID' => 'Y', 'VALUE' => Market\Config::getLang('UI_OPTION_VALUE_Y') ],
				],
				'HIDDEN' => !$hasCatalog,
			],
		];
	}

	protected function getCurrencyOptions()
	{
		return [
			'export_currency_rate' => [
				'TYPE' => 'boolean',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_CURRENCY'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_CURRENCY_RATE'),
			],
			'type_vat_cast' => [
				'TYPE' => 'enumeration',
				'NAME' => Market\Config::getLang('UI_OPTION_TYPE_VAT_CAST'),
				'VALUES' => [
					[ 'ID' => Market\Type\VatType::CAST_PERCENT, 'VALUE' => Market\Config::getLang('UI_OPTION_TYPE_VAT_CAST_PERCENT') ],
					[ 'ID' => Market\Type\VatType::CAST_ID, 'VALUE' => Market\Config::getLang('UI_OPTION_TYPE_VAT_CAST_ID') ],
				],
				'SETTINGS' => [
					'ALLOW_NO_VALUE' => 'N',
				],
			],
		];
	}

	protected function getPromoOptions()
	{
		$hasCatalog = Main\ModuleManager::isModuleInstalled('catalog');
		$hasSale = Main\ModuleManager::isModuleInstalled('sale');

		return [
			'export_promo_discount_external_gift' => [
				'TYPE' => 'boolean',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_PROMO'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPORT_PROMO_DISCOUNT_EXTERNAL_GIFT'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_EXPORT_PROMO_DISCOUNT_EXTERNAL_GIFT_HINT'),
				'HIDDEN' => !$hasCatalog && !$hasSale,
				'SETTINGS' => [
					'DEFAULT_VALUE' => 'Y',
				],
			],
		];
	}

	protected function getAdditionalOptions()
	{
		return [
			'expert_mode' => [
				'TYPE' => 'boolean',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_ADDITIONAL'),
				'NAME' => Market\Config::getLang('UI_OPTION_EXPERT_MODE'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 'N',
				],
			],
		];
	}

	protected function getUserPhoneOptions()
	{
		return [
			'phone_mask_rule' => [
				'TYPE' => 'enumeration',
				'TAB' => 'TRADING',
				'NAME' => Market\Config::getLang('UI_OPTION_PHONE_MASK_RULE'),
				'VALUES' => $this->getPhoneMaskRuleEnum(),
				'SETTINGS' => [
					'CAPTION_NO_VALUE' => Market\Config::getLang('UI_OPTION_PHONE_MASK_RULE_NO_VALUE'),
				],
			],
			'phone_mask' => [
				'TYPE' => 'string',
				'TAB' => 'TRADING',
				'NAME' => Market\Config::getLang('UI_OPTION_PHONE_MASK'),
				'DEPEND' => [
					'phone_mask_rule' => [
						'RULE' => 'ANY',
						'VALUE' => 'custom',
					],
				]
			],
			'user_phone_field' => [
				'TYPE' => 'enumeration',
				'TAB' => 'TRADING',
				'NAME' => Market\Config::getLang('UI_OPTION_USER_PHONE_FIELD'),
				'VALUES' => $this->getUserPhoneFieldEnum(),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 'PERSONAL_MOBILE',
					'ALLOW_NO_VALUE' => 'N',
				]
			]
		];
	}

	protected function getPhoneMaskRuleEnum()
	{
		$result = [];

		// default formats

		$variants = Market\Data\Phone::getFormatVariants();

		foreach ($variants as $variant)
		{
			$result[] = [
				'ID' => $variant,
				'VALUE' => Market\Data\Phone::getMask($variant),
			];
		}

		// custom

		$result[] = [
			'ID' => Market\Data\Phone::FORMAT_CUSTOM,
			'VALUE' => Market\Config::getLang('UI_OPTION_PHONE_MASK_RULE_CUSTOM'),
		];

		return $result;
	}

	protected function getUserPhoneFieldEnum()
	{
		global $USER_FIELD_MANAGER;

		$result = [];

		// default user fields

		$defaultFields = [
			'PERSONAL_PHONE',
			'PERSONAL_MOBILE',
			'WORK_PHONE',
		];

		foreach ($defaultFields as $field)
		{
			$result[] = [
				'ID' => $field,
				'VALUE' => Market\Config::getLang('UI_OPTION_USER_PHONE_FIELD_' . $field, null, $field),
			];
		}

		// user fields

		$userFields = $USER_FIELD_MANAGER->GetUserFields('USER');

		foreach ($userFields as $fieldName => $userField)
		{
			if (
				Market\Data\TextString::getPosition($fieldName, 'PHONE') !== false
				|| Market\Data\TextString::getPosition($fieldName, 'TEL') !== false
			)
			{
				$result[] = [
					'ID' => $fieldName,
					'VALUE' => $fieldName,
				];
			}
		}

		return $result;
	}

	protected function getPermissions()
	{
		return [
			'PERMISSIONS' => [
				'TYPE' => 'string',
			],
		];
	}

	protected function getTradingOrderOptions()
	{
		return [
			'trading_order_use_id' => [
				'TYPE' => 'boolean',
				'TAB' => 'TRADING',
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_ORDER_USE_ID'),
			],
		];
	}

	protected function getTradingBasketOptions()
	{
		return [
			'trading_basket_name_original' => [
				'TYPE' => 'boolean',
				'TAB' => 'TRADING',
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_BASKET_NAME_ORIGINAL'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_TRADING_BASKET_NAME_ORIGINAL_HELP'),
			],
		];
	}

	protected function getTradingLogOptions()
	{
		return [
			'trading_log_tracing' => [
				'TYPE' => 'boolean',
				'TAB' => 'TRADING',
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_LOG_TRACING'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 'Y',
				],
			],
		];
	}

	protected function getTradingTaxSystemOptions()
	{
		return [
			'trading_use_tax_system' => [
				'TYPE' => 'boolean',
				'TAB' => 'TRADING',
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_USE_TAX_SYSTEM'),
			],
		];
	}

	protected function getTradingServerOptions()
	{
		return [
			'ddos_guard' => [
				'TYPE' => 'boolean',
				'TAB' => 'TRADING',
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_DDOS_GUARD'),
			],
		];
	}

	protected function getTradingStocksOptions()
	{
		return [
			'trading_auto_product_offer' => [
				'TYPE' => 'boolean',
				'TAB' => 'TRADING',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_TRADING_PRODUCT'),
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_AUTO_PRODUCT_OFFER'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_TRADING_AUTO_PRODUCT_OFFER_HELP'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 'Y',
				],
			],
			'trading_reserve_days' => [
				'TYPE' => 'number',
				'TAB' => 'TRADING',
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_RESERVE_DAYS'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 3,
					'MIN_VALUE' => 1,
					'UNIT' => Market\Config::getLang('UI_OPTION_DAYS_UNIT'),
				]
			],
			'experiment_trading_sibling_reserved_stop' => [
				'TYPE' => 'boolean',
				'TAB' => 'TRADING',
				'NAME' => Market\Config::getLang('UI_OPTION_EXPERIMENT_TRADING_SIBLING_RESERVED_STOP'),
			],
		];
	}

	protected function getTradingListenOptions()
	{
		return [
			'trading_pull_period' => [
				'TYPE' => 'number',
				'TAB' => 'TRADING',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_TRADING_LISTEN'),
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_PULL_PERIOD'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_TRADING_PULL_PERIOD_HELP'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 600,
				],
			],
			'trading_silent_basket' => [
				'TYPE' => 'boolean',
				'TAB' => 'TRADING',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_TRADING_LISTEN'),
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_SILENT_BASKET'),
			],
		];
	}

	protected function getTradingPushOptions()
	{
		$isAgentCli = Market\Utils::isAgentUseCron();

		return [
			Market\Trading\State\PushAgent::optionName('period_restart') => [
				'TYPE' => 'integer',
				'TAB' => 'TRADING',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_TRADING_PUSH'),
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_PERIOD_RESTART'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_PERIOD_RESTART_HELP'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 300,
					'MIN_VALUE' => 1,
				],
			],
			Market\Trading\State\PushAgent::optionName('period_refresh') => [
				'TYPE' => 'integer',
				'TAB' => 'TRADING',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_TRADING_PUSH'),
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_PERIOD_REFRESH'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_PERIOD_REFRESH_HELP'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 1800,
					'MIN_VALUE' => 1,
				],
			],
			Market\Trading\State\PushAgent::optionName('page_size') => [
				'TYPE' => 'integer',
				'TAB' => 'TRADING',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_TRADING_PUSH'),
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_PAGE_SIZE'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 500,
					'MIN_VALUE' => 1,
				],
			],
			Market\Trading\State\PushAgent::optionName('time_limit') => [
				'TYPE' => 'integer',
				'TAB' => 'TRADING',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_TRADING_PUSH'),
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_TIME_LIMIT'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_TIME_LIMIT_HINT'),
				'HIDDEN' => $isAgentCli,
				'SETTINGS' => [
					'DEFAULT_VALUE' => 5,
					'MIN_VALUE' => 1,
				],
			],
			Market\Trading\State\PushAgent::optionName('time_limit_cli') => [
				'TYPE' => 'integer',
				'TAB' => 'TRADING',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_TRADING_PUSH'),
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_TIME_LIMIT'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_TIME_LIMIT_HINT'),
				'HIDDEN' => !$isAgentCli,
				'SETTINGS' => [
					'DEFAULT_VALUE' => 30,
					'MIN_VALUE' => 1,
				],
			],
			Market\Trading\State\PushAgent::optionName('expire_days') => [
				'TYPE' => 'number',
				'TAB' => 'TRADING',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_TRADING_PUSH'),
				'NAME' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_EXPIRE_DAYS'),
				'HELP_MESSAGE' => Market\Config::getLang('UI_OPTION_TRADING_PUSH_EXPIRE_DAYS_HINT'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 1,
					'MIN_VALUE' => 1,
					'UNIT' => Market\Config::getLang('UI_OPTION_DAYS_UNIT'),
				],
			],
		];
	}

	protected function getServerStampOptions()
	{
		$result = [];
		$controller = new Market\Utils\ServerStamp\Controller();

		foreach ($controller->properties() as $property)
		{
			$name = $property->name();
			$title = $property->title();

			$result['server_stamp_disable_' . $name] = [
				'TYPE' => 'boolean',
				'TAB' => 'TRADING',
				'GROUP' => Market\Config::getLang('UI_OPTION_GROUP_SERVER_STAMP'),
				'NAME' => Market\Config::getLang('UI_OPTION_SERVER_STAMP_DISABLE_PROPERTY', [
					'#TITLE#' => $title,
				]),
			];
		}

		return $result;
	}

	protected function getSalesBoostRefreshOptions()
	{
		return [
			'sales_boost_auto_update' => [
				'TYPE' => 'boolean',
				'TAB' => 'SALES_BOOST',
				'NAME' => Market\Config::getLang('UI_OPTION_SALES_BOOST_AUTO_UPDATE'),
				'SETTINGS' => [
					'DEFAULT_VALUE' => 'Y',
				],
			],
			'sales_boost_refresh_period' => [
				'TYPE' => 'enumeration',
				'TAB' => 'SALES_BOOST',
				'EDIT_IN_LIST' => (Market\Utils::isAgentUseCron() ? 'Y' : 'N'),
				'NAME' => Market\Config::getLang('UI_OPTION_SALES_BOOST_REFRESH_PERIOD'),
				'NOTE' => Market\Utils::isAgentUseCron() ? null : Market\Config::getLang('UI_OPTION_SALES_BOOST_REFRESH_PERIOD_WARNING'),
				'VALUES' => array_reverse(array_map(static function($period) {
					return [
						'ID' => $period,
						'VALUE' => Market\Config::getLang('UI_OPTION_SALES_BOOST_REFRESH_PERIOD_' . $period),
					];
				}, [
					604800, // week
					259200, // three days
					86400, // one day
					43200, // half day
					21600, // six hours
					10800, // three hours
					7200, // two hours
					3600, // one hour
					1800, // half hour
				])),
				'SETTINGS' => [
					'DEFAULT_VALUE' => Market\Utils::isAgentUseCron() ? 86400 : null,
					'CAPTION_NO_VALUE' => Market\Config::getLang('UI_OPTION_SALES_BOOST_REFRESH_PERIOD_DISABLE'),
				],
			],
			'sales_boost_refresh_time' => [
				'TYPE' => 'time',
				'TAB' => 'SALES_BOOST',
				'NAME' => Market\Config::getLang('UI_OPTION_SALES_BOOST_REFRESH_TIME'),
				'DEPEND' => [
					'sales_boost_refresh_period' => [
						'RULE' => 'EMPTY',
						'VALUE' => false,
					],
				],
			],
		];
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit