• Модуль: pull
  • Путь к файлу: ~/bitrix/modules/pull/classes/general/pull_channel.php
  • Класс: CPullChannel
  • Вызов: CPullChannel::Delete
static function Delete($channelId)
{
	global $DB, $CACHE_MANAGER;

	$strSql = "SELECT ID, USER_ID, CHANNEL_TYPE FROM b_pull_channel WHERE CHANNEL_ID = '".$DB->ForSQL($channelId)."'";
	$res = $DB->Query($strSql);
	if ($arRes = $res->Fetch())
	{
		$strSql = "DELETE FROM b_pull_channel WHERE USER_ID = ".$arRes['USER_ID']." AND CHANNEL_TYPE = '".$DB->ForSql($arRes['CHANNEL_TYPE'])."'";
		$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); $CACHE_MANAGER->Clean("b_pchc_".$arRes['USER_ID']."_".$arRes['CHANNEL_TYPE'], self::CACHE_TABLE); $channelType = $arRes['CHANNEL_TYPE']; $params = Array( 'action' => $channelType != self::TYPE_PRIVATE? 'reconnect': 'get_config', 'channel' => Array( 'id' => self::SignChannel($channelId), 'type' => $channelType, ), ); if ($channelType != self::TYPE_PRIVATE) { $result = self::GetShared(false); if (!$result) { return true; } $params['new_channel'] = Array( 'id' => self::SignChannel($result['CHANNEL_ID']), 'start' => $result['CHANNEL_DT'], 'end' => date('c', $result['CHANNEL_DT']+ self::CHANNEL_TTL), 'type' => $channelType, ); } $arMessage = Array( 'module_id' => 'pull', 'command' => 'channel_expire', 'params' => $params ); CPullStack::AddByChannel($channelId, $arMessage); } return true; }