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/sender/lib/message/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/sender/lib/message/factory.php
<?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);
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit