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/campaign/ |
Upload File : |
<?php namespace Yandex\Market\Trading\Campaign; use Yandex\Market\Api; use Yandex\Market\Reference\Storage; /** * @method Model getItemById($id) * @property Model[] $collection */ class Collection extends Storage\Collection { public static function getItemReference() { return Model::class; } public static function fromApi( Api\Campaigns\Model\CampaignCollection $apiCampaigns, Api\Business\Warehouses\Model\WarehouseGroupCollection $warehouseGroupCollection ) { $collection = new static(); /** @var Api\Campaigns\Model\Campaign $apiCampaign */ foreach ($apiCampaigns as $apiCampaign) { if ($apiCampaign->getPlacementType() === null) { continue; } $campaign = Model::fromApi( $apiCampaign, $warehouseGroupCollection->getItemByCampaignId($apiCampaign->getId()) ); $collection->addItem($campaign); $campaign->setParentCollection($collection); } return $collection; } public function getFirstWithTrading() { foreach ($this->collection as $model) { if ($model->getTradingId() > 0) { return $model; } } return null; } public function getWarehouseGroupCampaignIds($primaryCampaignId) { $primaryCampaignId = (int)$primaryCampaignId; if ($primaryCampaignId <= 0) { return []; } $campaignIds = []; foreach ($this->collection as $model) { if ($model->getExternalSettings()->getWarehouseGroupPrimary() === $primaryCampaignId) { $campaignIds[] = $model->getId(); } } return $campaignIds; } }