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/trading/ |
Upload File : |
<?php namespace Yandex\Market\Ui\Trading; use Bitrix\Main; use Yandex\Market\Data\Number; use Yandex\Market\Trading\Business; use Yandex\Market\Utils\PhpSerializer; class Menu { const OPTION_NAME = 'menu_business'; public static function stored() { $option = \CUserOptions::GetOption('yandex.market', self::OPTION_NAME, 'unknown'); if ($option === 'unknown') { return []; } $unserialized = PhpSerializer::decode($option); if (!is_array($unserialized)) { return []; } return $unserialized; } public static function store(array $items) { \CUserOptions::SetOption('yandex.market', self::OPTION_NAME, serialize($items)); } public static function extractBusinessId(Main\Request $request = null) { if ($request === null) { $request = Main\Application::getInstance()->getContext()->getRequest(); } return Number::castInteger($request->get('business')); } public static function compileQuery($businessId) { return [ 'business' => self::castQueryBusiness($businessId), ]; } public static function castQueryBusiness($businessId) { if ($businessId instanceof Business\Model) { $businessId = $businessId->getId(); } $businessId = (int)$businessId; return self::isKnown($businessId) ? $businessId : 0; } public static function baseQuery($businessId) { if ($businessId === null) { return []; } return [ 'business' => $businessId, ]; } public static function knownBusinessIds() { return array_column(array_filter(self::stored(), static function(array $business) { return $business['ID'] > 0; }), 'ID'); } public static function isKnown($businessId) { $businessId = Number::castInteger($businessId); if ($businessId === null || $businessId <= 0) { return false; } return in_array($businessId, self::knownBusinessIds(), true); } public static function businessFilter($businessId, $field = 'BUSINESS_ID') { if ((string)$businessId === '') { return []; } $businessId = (int)$businessId; $knownBusinessIds = self::knownBusinessIds(); if (empty($knownBusinessIds)) { return []; } if (!in_array($businessId, $knownBusinessIds, true)) { return [ '!=' . $field => $knownBusinessIds, ]; } return [ '=' . $field => $businessId ]; } }