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/integration/im/ |
Upload File : |
<?php /** * Bitrix Framework * @package bitrix * @subpackage sender * @copyright 2001-2012 Bitrix */ namespace Bitrix\Sender\Integration\Im; use Bitrix\Main\Localization\Loc; use Bitrix\Main\Result; use Bitrix\Sender\Message; use Bitrix\Sender\Entity; use Bitrix\Sender\Transport\TimeLimiter; Loc::loadMessages(__FILE__); /** * Class MessageIm * @package Bitrix\Sender\Integration\Im */ class MessageIm implements Message\iBase, Message\iMailable { const CODE = self::CODE_IM; /** @var Message\Configuration $configuration Configuration. */ protected $configuration; /** * MessageSms constructor. */ public function __construct() { $this->configuration = new Message\Configuration(); } /** * Get name. * @return string */ public function getName() { return Loc::getMessage('SENDER_INTEGRATION_IM_MESSAGE_NAME'); } public function getCode() { return static::CODE; } public function getSupportedTransports() { return array(TransportIm::CODE); } protected function setConfigurationOptions() { $this->configuration->setArrayOptions(array( array( 'type' => 'text', 'code' => 'MESSAGE_TEXT', 'name' => Loc::getMessage('SENDER_INTEGRATION_IM_MESSAGE_CONFIG_MESSAGE_TEXT'), 'required' => true, ), )); TimeLimiter::prepareMessageConfiguration($this->configuration); } /** * Load configuration. * * @param integer|null $id ID. * * @return Message\Configuration */ public function loadConfiguration($id = null) { if (!$this->configuration->hasOptions()) { $this->setConfigurationOptions(); } $configuration = $this->configuration; $this->configuration->setView( function () use ($configuration) { ob_start(); $GLOBALS['APPLICATION']->IncludeComponent( 'bitrix:sender.im.message', '', array( 'INPUT_NAME' => '%INPUT_NAME_MESSAGE_TEXT%', 'VALUE' => $configuration->get('MESSAGE_TEXT'), ) ); return ob_get_clean(); } ); Entity\Message::create() ->setCode($this->getCode()) ->loadConfiguration($id, $this->configuration); TimeLimiter::prepareMessageConfigurationView($this->configuration); return $this->configuration; } /** * Save configuration. * * @param Message\Configuration $configuration Configuration. * * @return Result */ public function saveConfiguration(Message\Configuration $configuration) { return Entity\Message::create() ->setCode($this->getCode()) ->saveConfiguration($this->configuration); } /** * Remove configuration. * * @param integer $id ID. * @return bool */ public function removeConfiguration($id) { $result = Entity\Message::removeById($id); return $result->isSuccess(); } /** * Copy configuration. * * @param integer|string|null $id ID. * @return Result|null */ public function copyConfiguration($id) { return Entity\Message::create() ->setCode($this->getCode()) ->copyConfiguration($id); } }