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/sender/lib/message/ |
Upload File : |
<?php /** * Bitrix Framework * * @package bitrix * @subpackage sender * @copyright 2001-2012 Bitrix */ namespace Bitrix\Sender\Message; use Bitrix\Sender\Integration; use Bitrix\Sender\Internals\CodeBasedFactory; /** * Class Factory * * @package Bitrix\Sender\Message */ class Factory extends CodeBasedFactory { /** * Get interface. * * @return string */ protected static function getInterface() { return iBase::class; } protected static function getClasses() { return [ iBase::EVENT_NAME => Integration\EventHandler::onSenderMessageList(), ]; } /** * Get ads message instances. * * @return iBase[] */ public static function getAdsMessages() { $list = []; foreach (static::getMessages() as $message) { if (!($message instanceof iAds)) { continue; } $list[] = $message; } return $list; } /** * Get ads message instances. * * @return iBase[] */ public static function getMarketingMessages() { $list = []; foreach (static::getMessages() as $message) { if (!($message instanceof iMarketing)) { continue; } $list[] = $message; } return $list; } /** * Get ads message instances. * * @return iBase[] */ public static function getTolokaMessages() { $list = []; foreach (static::getMessages() as $message) { if (!($message instanceof iToloka)) { continue; } $list[] = $message; } return $list; } /** * Get yandex messages. * * @return iYandex[] */ public static function getYandexMessages(bool $withToloka): array { $list = []; foreach (static::getMessages() as $message) { if (!$message instanceof iYandex) { continue; } if (!$withToloka && $message instanceof iToloka) { continue; } $list[] = $message; } return $list; } /** * Get non ads message instances. * * @return iBase[] */ public static function getMailingMessages() { $list = []; foreach (static::getMessages() as $message) { if (!($message instanceof iMailable)) { continue; } $list[] = $message; } return $list; } /** * Get non ads message instances. * * @return iBase[] */ public static function getReturnCustomerMessages() { $list = []; foreach (static::getMessages() as $message) { if (!($message instanceof iReturnCustomer)) { continue; } $list[] = $message; } return $list; } /** * Get ads message instances. * * @return iBase[] */ public static function getAdsMessageCodes() { return array_map( function ($message) { /** @var iBase $message */ return $message->getCode(); }, static::getAdsMessages() ); } /** * Get marketing message instances. * * @return iBase[] */ public static function getMarketingMessageCodes() { return array_map( function ($message) { /** @var iBase $message */ return $message->getCode(); }, static::getMarketingMessages() ); } /** * Get non ads message instances. * * @return iBase[] */ public static function getMailingMessageCodes() { return array_map( function ($message) { /** @var iBase $message */ return $message->getCode(); }, static::getMailingMessages() ); } /** * Get non ads message instances. * * @return iBase[] */ public static function getTolokaMessageCodes() { return array_map( function ($message) { /** @var iBase $message */ return $message->getCode(); }, static::getTolokaMessages() ); } /** * Get non ads message instances. * * @return string[] */ public static function getReturnCustomerMessageCodes() { return array_map( function ($message) { /** @var iBase $message */ return $message->getCode(); }, static::getReturnCustomerMessages() ); } /** * Get message instances. * * @return iBase[] */ public static function getMessages() { return static::getObjectInstances(static::getInterface()); } /** * Get transport instance by code. * * @param string $code Transport code. * * @return null|iBase */ public static function getMessage($code) { return static::getObjectInstance(static::getInterface(), $code); } }