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/trading/setup/ |
Upload File : |
<?php namespace Yandex\Market\Trading\Setup; use Yandex\Market\Trading\Campaign; class ModelPool { protected static $pool = []; public static function getById($id) { $id = (int)$id; $cacheKey = "id:{$id}"; if (!isset(static::$pool[$cacheKey])) { static::$pool[$cacheKey] = Model::loadById($id); } return static::$pool[$cacheKey]; } public static function getByTradingInfo(array $tradingInfo) { if (!empty($tradingInfo['CAMPAIGN_ID'])) { return Campaign\ModelPool::getById($tradingInfo['CAMPAIGN_ID'])->getTrading(); } if (!empty($tradingInfo['SETUP_ID'])) { return self::getById($tradingInfo['SETUP_ID']); } $cacheKey = static::tradingInfoCacheKey($tradingInfo); if (!isset(static::$pool[$cacheKey])) { static::$pool[$cacheKey] = Model::loadByTradingInfo($tradingInfo); } return static::$pool[$cacheKey]; } protected static function tradingInfoCacheKey(array $tradingInfo) { return 'platform:' . (int)$tradingInfo['TRADING_PLATFORM_ID'] . ':' . $tradingInfo['SITE_ID']; } }