- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/iblocksocnetevent.php
- Класс: CWebDavSocNetEvent
- Вызов: CWebDavSocNetEvent::SocnetNotify
public function SocnetNotify($arParams, $file = null)
{
if(!class_exists('CSocNetSubscription'))
return;
if (
!array_key_exists("group_id", $arParams["OBJECT"]["ATTRIBUTES"])
|| intval($arParams["OBJECT"]["ATTRIBUTES"]["group_id"]) <= 0
)
return;
if (
array_key_exists("dropped", $arParams["ELEMENT"])
&& $arParams["ELEMENT"]["dropped"]
)
return;
$arReaders = CWebDavIblock::GetReaders($arParams["ELEMENT"]["id"], $arParams["OBJECT"]["IBLOCK_ID"]);
if (!in_array("SG".intval($arParams["OBJECT"]["ATTRIBUTES"]["group_id"])."_".SONET_ROLES_USER, $arReaders))
return;
$url = $this->arPath["PATH_TO_GROUP_FILES_ELEMENT"];
if (IsModuleInstalled("extranet") && $this->arPath["SEF_FOLDER"] <> '' && mb_strpos($url, $this->arPath["SEF_FOLDER"]) === 0)
$url = str_replace($this->arPath["SEF_FOLDER"], "#GROUPS_PATH#", $url);
$urlParams = array(
"SECTION_ID" => isset($arParams["OBJECT"]["SECTION_ID"])? $arParams["OBJECT"]["SECTION_ID"]: $arParams["section_id"],
"ELEMENT_ID" => $arParams["ELEMENT"]["id"],
"element_id" => $arParams["ELEMENT"]["id"],
"ID" => $arParams["ELEMENT"]["id"],
"group_id" => intval($arParams["OBJECT"]["ATTRIBUTES"]["group_id"]),
"GROUP_ID" => intval($arParams["OBJECT"]["ATTRIBUTES"]["group_id"])
);
if (
(mb_strpos($url, "#PATH#") !== false)
&& ($this->object != null)
)
$urlParams["PATH"] = $this->object->GetObjectPath($this->object->GetObject(array("element_id" => $arParams["ELEMENT"]["id"])));
$arNotifyParams = array(
"LOG_ID" => false,
"GROUP_ID" => array(intval($arParams["OBJECT"]["ATTRIBUTES"]["group_id"])),
"NOTIFY_MESSAGE" => "",
"FROM_USER_ID" => intval($arParams["ELEMENT"]["element"]["element_array"]["CREATED_BY"]),
"URL" => str_replace(array('///','//'), '/', CComponentEngine::MakePathFromTemplate($url, $urlParams)),
"MESSAGE" => GetMessage("SONET_IM_NEW_FILE", Array(
"#title#" => "".$arParams["ELEMENT"]["name"]."",
)),
"MESSAGE_OUT" => GetMessage("SONET_IM_NEW_FILE", Array(
"#title#" => $arParams["ELEMENT"]["name"]
))." (#URL#)",
"EXCLUDE_USERS" => array(intval($arParams["ELEMENT"]["element"]["element_array"]["CREATED_BY"]))
);
CSocNetSubscription::NotifyGroup($arNotifyParams);
return true;
}