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/landing/lib/chat/ |
Upload File : |
<?php namespace Bitrix\Landing\Chat; use \Bitrix\Landing\Block\Cache; class Binding extends \Bitrix\Landing\Internals\BaseTable { /** * Block binding type. */ const BINDING_TYPE_BLOCK = 'B'; /** * Internal class. * @var string */ public static $internalClass = 'ChatBindingTable'; /** * Clears all cache by chat id. * @param int $chatId Internal chat id. * @return void */ public static function clearCache(int $chatId): void { $res = self::getList([ 'select' => [ 'ENTITY_ID' ], 'filter' => [ 'INTERNAL_CHAT_ID' => $chatId, '=ENTITY_TYPE' => self::BINDING_TYPE_BLOCK ] ]); while ($row = $res->fetch()) { Cache::clear($row['ENTITY_ID']); } } /** * Binds block with chat. * @param int $chatId Internal chat id. * @param int $blockId Block id. * @return void */ public static function bindingBlock(int $chatId, int $blockId): void { $res = self::getList([ 'select' => [ 'ID' ], 'filter' => [ 'INTERNAL_CHAT_ID' => $chatId, 'ENTITY_ID' => $blockId, '=ENTITY_TYPE' => self::BINDING_TYPE_BLOCK ] ]); if (!$res->fetch()) { self::add([ 'INTERNAL_CHAT_ID' => $chatId, 'ENTITY_ID' => $blockId, 'ENTITY_TYPE' => self::BINDING_TYPE_BLOCK ]); } } /** * Unbinds block from chat. * @param int $blockId Block id. * @return void */ public static function unbindingBlock(int $blockId): void { $res = self::getList([ 'select' => [ 'ID' ], 'filter' => [ 'ENTITY_ID' => $blockId, '=ENTITY_TYPE' => self::BINDING_TYPE_BLOCK ] ]); while ($row = $res->fetch()) { self::delete($row['ID']); } } }