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") && strlen($this->arPath["SEF_FOLDER"]) > 0 && 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 (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#" => "<a href=\"#URL#\" class=\"bx-notifier-item-action\">" . $arParams["ELEMENT"]["name"] . "</a>")), "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; }