• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_notify.php
  • Класс: CIMNotify
  • Вызов: CIMNotify::DeleteBySubTag
static function DeleteBySubTag($notifySubTag, $authorId = false, $pullActive = true)
{
	global $DB;

	$notifySubTag = (string)$notifySubTag;
	if ($notifySubTag == '')
		return false;

	$sqlUser = "";
	if ($authorId !== false)
	{
		$sqlUser = " AND M.AUTHOR_ID = ".intval($authorId);
	}

	$dbRes = $DB->Query("SELECT M.ID, M.NOTIFY_TYPE, R.USER_ID FROM b_im_relation R, b_im_message M WHERE M.CHAT_ID = R.CHAT_ID AND M.NOTIFY_SUB_TAG = '".$DB->ForSQL($notifySubTag)."'".$sqlUser, false, "File: ".__FILE__."
Line: ".__LINE__); $arUsers = Array(); $messages = Array(); while ($row = $dbRes->Fetch()) { $messages[$row['ID']] = $row['NOTIFY_TYPE']; $arUsers[$row['USER_ID']] = $row['USER_ID']; } $pullIncluded = $pullActive && CModule::IncludeModule("pull"); foreach ($arUsers as $userId => $count) { CIMMessenger::SpeedFileDelete($userId, IM_SPEED_NOTIFY); if ($pullIncluded) { CPushManager::DeleteFromQueueBySubTag($userId, $notifySubTag); } } if (count($messages) > 0) { self::deleteList(array_keys($messages)); } return true; }