13 static $arSiteWorkgroupsPage;
15 if (!CModule::IncludeModule(
"iblock"))
21 !array_key_exists(
"IS_SOCNET", $arComponentParams)
22 || $arComponentParams[
"IS_SOCNET"] !=
"Y"
29 $arComponentResult[
"SECTION"][
"PATH"] =
array();
31 $rsSectionAlbum = CIBlockSection::GetList(
34 "ID" => intval(
$arFields[
"IBLOCK_SECTION"])
37 array(
"ID",
"LEFT_MARGIN",
"RIGHT_MARGIN",
"DEPTH_LEVEL")
40 if ($arSectionAlbum = $rsSectionAlbum->Fetch())
42 $dbSection = CIBlockSection::GetList(
43 array(
"LEFT_MARGIN" =>
"ASC"),
45 "IBLOCK_ID" => intval($arComponentParams[
"IBLOCK_ID"]),
46 "<=LEFT_BORDER" => intval($arSectionAlbum[
"LEFT_MARGIN"]),
47 ">=RIGHT_BORDER" => intval($arSectionAlbum[
"RIGHT_MARGIN"]),
48 "<=DEPTH_LEVEL" => intval($arSectionAlbum[
"DEPTH_LEVEL"]),
51 array(
"ID",
"IBLOCK_ID",
"NAME",
"CREATED_BY",
"DEPTH_LEVEL",
"LEFT_MARGIN",
"RIGHT_MARGIN",
"UF_PASSWORD")
54 while (
$arPath = $dbSection->Fetch())
56 $arComponentResult[
"SECTION"][
"PATH"][] =
$arPath;
60 foreach($arComponentResult[
"SECTION"][
"PATH"] as $arPathSection)
62 if (trim($arPathSection[
"UF_PASSWORD"] ??
'') <>
'')
70 array_key_exists(
"USER_ALIAS", $arComponentParams)
71 && $arComponentParams[
"USER_ALIAS"] <>
''
74 $arTmp = explode(
"_", $arComponentParams[
"USER_ALIAS"]);
83 if ($entity_type ==
"group")
85 elseif ($entity_type ==
"user")
92 || intval($entity_id) <= 0
94 &&
count($arComponentResult[
"SECTION"][
"PATH"]) > 0
98 $entity_id = $arComponentResult[
"SECTION"][
"PATH"][0][
"CREATED_BY"];
104 || intval($entity_id) <= 0
110 $rsSite = CSite::GetList(
"sort",
"desc", Array(
"ACTIVE" =>
"Y"));
111 while($arSite = $rsSite->Fetch())
112 $arSiteWorkgroupsPage[$arSite[
"ID"]] = COption::GetOptionString(
"socialnetwork",
"workgroups_page", $arSite[
"DIR"].
"workgroups/", $arSite[
"ID"]);
115 if (
is_set($arComponentParams[
"DETAIL_URL"]) && is_array($arSiteWorkgroupsPage) && $entity_type ==
SONET_ENTITY_GROUP)
116 foreach($arSiteWorkgroupsPage as $groups_page)
117 if (mb_strpos($arComponentParams[
"DETAIL_URL"], $groups_page) === 0)
118 $arComponentParams[
"DETAIL_URL"] =
"#GROUPS_PATH#".mb_substr($arComponentParams[
"DETAIL_URL"], mb_strlen($groups_page), mb_strlen($arComponentParams[
"DETAIL_URL"]) - mb_strlen($groups_page));
123 "ENTITY_TYPE" => $entity_type,
124 "ENTITY_ID" => $entity_id,
125 "EVENT_ID" =>
"photo",
127 ">=LOG_UPDATE" => ConvertTimeStamp(
AddToTimeStamp(
array(
"MI" => -30))+CTimeZone::GetOffset(),
"FULL")
132 array_key_exists(
"SECTION", $arComponentResult)
133 && array_key_exists(
"NAME", $arComponentResult[
"SECTION"])
135 $strSectionName = $arComponentResult[
"SECTION"][
"NAME"];
137 $strSectionName = $arComponentResult[
"SECTION"][
"PATH"][
count($arComponentResult[
"SECTION"][
"PATH"])-1][
"NAME"] ??
'';
140 array_key_exists(
"URL", $arComponentResult)
141 && array_key_exists(
"SECTION_EMPTY", $arComponentResult[
"URL"])
143 $strSectionUrl = $arComponentResult[
"URL"][
"SECTION_EMPTY"];
145 $strSectionUrl = $arComponentResult[
"SECTION_URL"] ??
'';
147 $strSectionUrl = str_replace(
148 array(
"#SECTION_ID#",
"#section_id#"),
155 if (
$res[
"PARAMS"] <>
'')
157 $arResParams = unserialize(
$res[
"PARAMS"], [
'allowed_classes' =>
false ]);
158 array_push($arResParams[
"arItems"],
$arFields[
"ID"]);
163 $arLogParams =
array(
164 "COUNT" => $arResParams[
"COUNT"]+1,
165 "IBLOCK_TYPE" => $arComponentParams[
"IBLOCK_TYPE"],
166 "IBLOCK_ID" => $arComponentParams[
"IBLOCK_ID"],
167 "ALIAS" => $arComponentParams[
"USER_ALIAS"],
168 "DETAIL_URL" => $arResParams[
"DETAIL_URL"],
169 "arItems" => $arResParams[
"arItems"]
172 $arSonetFields =
array(
173 "=LOG_UPDATE" =>
$DB->CurrentTimeFunction(),
174 "PARAMS" => serialize($arLogParams)
187 $arLogParams =
array(
189 "IBLOCK_TYPE" => $arComponentParams[
"IBLOCK_TYPE"],
190 "IBLOCK_ID" => $arComponentParams[
"IBLOCK_ID"],
191 "DETAIL_URL" => $arComponentParams[
"DETAIL_URL"],
192 "ALIAS" => $arComponentParams[
"USER_ALIAS"],
196 $sAuthorName =
GetMessage(
"SONET_PHOTO_LOG_GUEST");
197 if (
$USER->IsAuthorized())
199 $sAuthorName = trim(
$USER->GetFullName());
200 $sAuthorName = (empty($sAuthorName) ?
$USER->GetLogin() : $sAuthorName);
203 $arSonetFields =
array(
204 "ENTITY_TYPE" => $entity_type,
205 "ENTITY_ID" => $entity_id,
206 "EVENT_ID" =>
"photo",
207 "=LOG_DATE" =>
$DB->CurrentTimeFunction(),
208 "TITLE_TEMPLATE" => str_replace(
"#AUTHOR_NAME#", $sAuthorName,
GetMessage(
"SONET_PHOTO_LOG_1")),
209 "TITLE" => str_replace(
"#COUNT#",
"1",
GetMessage(
"SONET_PHOTO_LOG_2")),
211 "URL" => $strSectionUrl,
212 "MODULE_ID" =>
false,
213 "CALLBACK_FUNC" =>
false,
215 "PARAMS" => serialize($arLogParams),
216 "SOURCE_ID" =>
$arFields[
"IBLOCK_SECTION"]
219 $arSonetFields[
"TEXT_MESSAGE"] = str_replace(
array(
"#TITLE#"),
220 array($strSectionName),
223 if (
$USER->IsAuthorized())
224 $arSonetFields[
"USER_ID"] =
$USER->GetID();
227 if (intval($logID) > 0)
229 $randomGenerator = new \Bitrix\Main\Type\RandomSequence(
'IBLOCK_SECTION' . $logID);
233 "RATING_TYPE_ID" =>
"IBLOCK_SECTION",
234 "RATING_ENTITY_ID" => $randomGenerator->rand(1, 2147483647)
254 while ($arRight = $dbRight->Fetch())
258 $title_tmp = str_replace(Array(
"\r\n",
"\n"),
" ", $strSectionName);
262 $arNotifyParams =
array(
264 "GROUP_ID" =>
array($entity_id),
265 "NOTIFY_MESSAGE" =>
"",
266 "FROM_USER_ID" =>
$arFields[
"MODIFIED_BY"],
267 "URL" => $strSectionUrl,
268 "MESSAGE" => fn (?
string $languageId =
null) => Loc::getMessage(
269 "SONET_IM_NEW_PHOTO",
270 Array(
"#title#" =>
"<a href=\"#URL#\" class=\"bx-notifier-item-action\">".
$title.
"</a>",),
273 "MESSAGE_OUT" => fn (?
string $languageId =
null) => Loc::getMessage(
274 "SONET_IM_NEW_PHOTO",
275 Array(
"#title#" => $title_out),
281 CSocNetSubscription::NotifyGroup($arNotifyParams);
291 array_key_exists(
"IS_SOCNET", $arComponentParams)
292 && $arComponentParams[
"IS_SOCNET"] ==
"Y"
293 && array_key_exists(
"USER_ALIAS", $arComponentParams)
294 && $arComponentParams[
"USER_ALIAS"] <>
''
297 $arTmp = explode(
"_", $arComponentParams[
"USER_ALIAS"]);
306 if ($entity_type ==
"group")
308 elseif ($entity_type ==
"user")
315 || intval($entity_id) <= 0
320 $rsPath = CIBlockSection::GetNavChain(intval(
$arFields[
"IBLOCK_ID"]),
$arFields[
"SECTION_ID"]);
324 $entity_id =
$arPath[
"CREATED_BY"];
330 || intval($entity_id) <= 0
340 "ENTITY_TYPE" => $entity_type,
341 "ENTITY_ID" => $entity_id,
342 "EVENT_ID" =>
"photo",
348 if (
$res[
"PARAMS"] <>
'')
350 $arResParams = unserialize(
$res[
"PARAMS"], [
'allowed_classes' =>
false ]);
357 if (is_array($arResParams) && in_array(
$arFields[
"ID"], $arResParams[
"arItems"]))
359 $arResParams[
"arItems"] = array_diff($arResParams[
"arItems"],
array(
$arFields[
"ID"]));
366 if (
count($arResParams[
"arItems"]) <= 0)
372 $arResParams[
"COUNT"]--;
373 $arSonetFields =
array(
374 "PARAMS" => serialize($arResParams),
375 "LOG_UPDATE" =>
$res[
"LOG_UPDATE"]
386 "ENTITY_TYPE" => $entity_type,
387 "ENTITY_ID" => $entity_id,
388 "EVENT_ID" =>
"photo_photo",
396 public static function OnBeforeSectionDrop($sectionID, $arComponentParams, $arComponentResult, &$arSectionID, &$arElementID)
398 if (!CModule::IncludeModule(
"iblock"))
402 array_key_exists(
"IS_SOCNET", $arComponentParams)
403 && $arComponentParams[
"IS_SOCNET"] ==
"Y"
404 && array_key_exists(
"USER_ALIAS", $arComponentParams)
405 && $arComponentParams[
"USER_ALIAS"] <>
''
406 && array_key_exists(
"IBLOCK_ID", $arComponentParams)
412 "IBLOCK_ID" => $arComponentParams[
"IBLOCK_ID"],
413 "SECTION_ID" => $sectionID,
414 "INCLUDE_SUBSECTIONS" =>
"Y"
421 $arElementID =
array();
423 $arElementID[] = $arElement[
"ID"];
425 $dbSection = CIBlockSection::GetList(
426 array(
"BS.LEFT_MARGIN" =>
"ASC"),
428 "IBLOCK_ID" => $arComponentParams[
"IBLOCK_ID"],
429 ">=LEFT_MARGIN" => $arComponentResult[
"SECTION"][
"LEFT_MARGIN"],
430 "<=RIGHT_MARGIN" => $arComponentResult[
"SECTION"][
"RIGHT_MARGIN"],
436 $arSectionID =
array();
437 while ($arSection = $dbSection->Fetch())
438 $arSectionID[] = $arSection[
"ID"];
449 array_key_exists(
"IS_SOCNET", $arComponentParams)
450 && $arComponentParams[
"IS_SOCNET"] ==
"Y"
451 && array_key_exists(
"USER_ALIAS", $arComponentParams)
452 && $arComponentParams[
"USER_ALIAS"] <>
''
455 $arTmp = explode(
"_", $arComponentParams[
"USER_ALIAS"]);
464 if ($entity_type ==
"group")
466 elseif ($entity_type ==
"user")
472 || intval($entity_id) <= 0
476 $entity_id = $arComponentResult[
"GALLERY"][
"CREATED_BY"];
481 || intval($entity_id) <= 0
489 if (array_key_exists(
"SECTIONS_IN_TREE",
$arFields))
491 foreach (
$arFields[
"SECTIONS_IN_TREE"] as $sectionID)
496 "ENTITY_TYPE" => $entity_type,
497 "ENTITY_ID" => $entity_id,
498 "EVENT_ID" =>
"photo",
499 "SOURCE_ID" => $sectionID
507 if (array_key_exists(
"ELEMENTS_IN_TREE",
$arFields))
514 "ENTITY_TYPE" => $entity_type,
515 "ENTITY_ID" => $entity_id,
516 "EVENT_ID" =>
"photo_photo",
528 if (!CModule::IncludeModule(
"iblock"))
532 array_key_exists(
"IS_SOCNET", $arComponentParams)
533 && $arComponentParams[
"IS_SOCNET"] ==
"Y"
534 && array_key_exists(
"USER_ALIAS", $arComponentParams)
535 && $arComponentParams[
"USER_ALIAS"] <>
''
538 $arTmp = explode(
"_", $arComponentParams[
"USER_ALIAS"]);
547 if ($entity_type ==
"group")
549 elseif ($entity_type ==
"user")
555 || intval($entity_id) <= 0
558 $rsPath = CIBlockSection::GetNavChain(intval(
$arFields[
"IBLOCK_ID"]), $arComponentResult[
"SECTION"][
"ID"]);
562 $entity_id =
$arPath[
"CREATED_BY"];
568 || intval($entity_id) <= 0
576 trim($arComponentResult[
"SECTION"][
"PASSWORD"] ??
'') ==
''
582 $dbSection = CIBlockSection::GetList(
583 array(
"BS.LEFT_MARGIN"=>
"ASC"),
586 ">=LEFT_MARGIN" => $arComponentResult[
"SECTION"][
"LEFT_MARGIN"],
587 "<=RIGHT_MARGIN" => $arComponentResult[
"SECTION"][
"RIGHT_MARGIN"],
590 array(
"ID",
"CREATED_BY")
593 while ($arSection = $dbSection->Fetch())
598 "ENTITY_TYPE" => $entity_type,
599 "ENTITY_ID" => $entity_id,
600 "EVENT_ID" =>
"photo",
601 "SOURCE_ID" => $arSection[
"ID"]
615 "SECTION_ID" => $arComponentResult[
"SECTION"][
"ID"],
616 "INCLUDE_SUBSECTIONS" =>
"Y"
620 array(
"ID",
"CREATED_BY")
628 "EVENT_ID" =>
"photo_photo",
629 "SOURCE_ID" => $arElement[
"ID"]
640 trim($arComponentResult[
"SECTION"][
"PASSWORD"] ??
'') <>
''
646 $dbSection = CIBlockSection::GetList(
647 array(
"BS.LEFT_MARGIN"=>
"ASC"),
650 ">=LEFT_MARGIN" => $arComponentResult[
"SECTION"][
"LEFT_MARGIN"],
651 "<=RIGHT_MARGIN" => $arComponentResult[
"SECTION"][
"RIGHT_MARGIN"],
654 array(
"ID",
"CREATED_BY")
657 while ($arSection = $dbSection->Fetch())
662 "ENTITY_TYPE" => $entity_type,
663 "ENTITY_ID" => $entity_id,
664 "EVENT_ID" =>
"photo",
665 "SOURCE_ID" => $arSection[
"ID"]
679 "SECTION_ID" => $arComponentResult[
"SECTION"][
"ID"],
680 "INCLUDE_SUBSECTIONS" =>
"Y"
684 array(
"ID",
"CREATED_BY")
692 "EVENT_ID" =>
"photo_photo",
693 "SOURCE_ID" => $arElement[
"ID"]
727 "EVENT_ID" =>
array(
"photo"),
732 array(
"ID",
"SOURCE_ID",
"USER_ID",
"TITLE",
"URL",
"PARAMS")
737 $sError =
GetMessage(
"SONET_PHOTO_ADD_COMMENT_SOURCE_ERROR");
741 && intval($arLog[
"USER_ID"]) > 0
742 && intval($arLog[
"SOURCE_ID"]) > 0
743 && $arLog[
"USER_ID"] !=
$USER->GetID()
744 && CModule::IncludeModule(
"im")
745 && CModule::IncludeModule(
"iblock")
748 $rsUnFollower = CSocNetLogFollow::GetList(
750 "USER_ID" => $arLog[
"USER_ID"],
751 "CODE" =>
"L".$arLog[
"ID"],
757 $arUnFollower = $rsUnFollower->Fetch();
760 $rsSection = CIBlockSection::GetByID($arLog[
"SOURCE_ID"]);
761 if ($arSection = $rsSection->GetNext())
763 $arMessageFields =
array(
765 "TO_USER_ID" => $arLog[
"USER_ID"],
766 "FROM_USER_ID" =>
$USER->GetID(),
768 "NOTIFY_MODULE" =>
"photogallery",
769 "NOTIFY_EVENT" =>
"comment",
770 "LOG_ID" => $arLog[
"ID"],
774 $serverName =
$arTmp[
"SERVER_NAME"];
775 $arLog[
"URL"] =
$arTmp[
"URLS"][
"SECTION_URL"];
777 $arMessageFields[
"NOTIFY_TAG"] =
"PHOTOALBUM|COMMENT|".$arLog[
"SOURCE_ID"];
779 "SONET_PHOTOALBUM_IM_COMMENT",
781 "#album_title#" =>
"<a href=\"".$arLog[
"URL"].
"\" class=\"bx-notifier-item-action\">".$arSection[
"NAME"].
"</a>"
785 $arMessageFields[
"NOTIFY_MESSAGE_OUT"] = fn (?
string $languageId =
null) =>
787 "SONET_PHOTOALBUM_IM_COMMENT",
789 "#album_title#" => $arSection[
"NAME"]
793 .
" (".$serverName.$arLog[
"URL"].
")#BR##BR#".
$arFields[
"TEXT_MESSAGE"]
796 $ID = CIMNotify::Add($arMessageFields);
817 array(
"ID" => $logID),
820 array(
"ID",
"SOURCE_ID",
"USER_ID",
"TITLE",
"URL",
"PARAMS")
825 if ($arLog[
"PARAMS"] <>
'')
830 $FORUM_ID =
$arTmp[
"FORUM_ID"];
831 $BLOG_ID =
$arTmp[
"BLOG_ID"];
834 array_key_exists(
"SECTION_NAME",
$arTmp)
835 &&
$arTmp[
"SECTION_NAME"] <>
''
838 $log_section_name =
$arTmp[
"SECTION_NAME"];
842 array_key_exists(
"SECTION_URL",
$arTmp)
843 &&
$arTmp[
"SECTION_URL"] <>
''
846 $log_section_url =
$arTmp[
"SECTION_URL"];
853 && intval($arLog[
"SOURCE_ID"]) > 0
860 && intval($arLog[
"SOURCE_ID"]) > 0
868 "TYPE" => ($bFoundForum ?
"FORUM" : ($bFoundBlog ?
"BLOG" :
false)),
869 "ENTITY_ID" => ($bFoundForum ? $FORUM_ID : ($bFoundBlog ? $BLOG_ID :
false)),
870 "SECTION_NAME" => $log_section_name,
871 "SECTION_URL" => $log_section_url,
882 if ($arLogType[
"TYPE"] ==
"FORUM")
886 elseif ($arLogType[
"TYPE"] ==
"BLOG")
893 "SOURCE_ID" =>
false,
894 "ERROR" =>
GetMessage(
"SONET_PHOTO_ADD_COMMENT_SOURCE_ERROR"),
901 && !empty($arReturn[
"IM_MESSAGE"])
906 "TITLE" => $arLogType[
"LOG"][
"TITLE"],
907 "MESSAGE" => $arReturn[
"IM_MESSAGE"],
908 "URL" => $arLogType[
"LOG"][
"URL"],
909 "ID" => $arLogType[
"LOG"][
"SOURCE_ID"],
910 "PHOTO_AUTHOR_ID" => $arLogType[
"LOG"][
"USER_ID"],
911 "COMMENT_AUTHOR_ID" =>
$USER->GetID(),
923 if (!CModule::IncludeModule(
"forum"))
926 if (!CModule::IncludeModule(
"iblock"))
933 $arFilteredText =
array();
936 $arSelectedFields =
array(
"IBLOCK_ID",
"ID",
"NAME",
"TAGS",
"CODE",
"IBLOCK_SECTION_ID",
"DETAIL_PAGE_URL",
937 "CREATED_BY",
"PREVIEW_PICTURE",
"PREVIEW_TEXT",
"PROPERTY_FORUM_TOPIC_ID",
"PROPERTY_FORUM_MESSAGE_CNT");
950 "PARAM2" => $arElement[
"ID"]
961 $TOPIC_ID = $arMessage[
"TOPIC_ID"];
963 if(intval($TOPIC_ID) > 0)
965 if (COption::GetOptionString(
"forum",
"FILTER",
"Y") ==
"Y")
973 $arFieldsMessage =
array(
974 "POST_MESSAGE" =>
$arFields[
"TEXT_MESSAGE"],
976 "PARAM2" => $arElement[
"ID"],
983 if (array_key_exists(
"UF_SONET_COM_DOC",
$arTmp))
987 $arFieldsMessage[
"FILES"] =
array();
988 foreach(
$arTmp[
"UF_SONET_COM_FILE"] as $file_id)
989 $arFieldsMessage[
"FILES"][] =
array(
"FILE_ID" => $file_id);
993 $messageID =
ForumAddMessage(
"REPLY", $FORUM_ID, $TOPIC_ID, 0, $arFieldsMessage, $sError, $sNote);
1001 while ($arAddedMessageFiles = $dbAddedMessageFiles->Fetch())
1002 $ufFileID[] = $arAddedMessageFiles[
"FILE_ID"];
1004 $ufDocID =
$USER_FIELD_MANAGER->GetUserFieldValue(
"FORUM_MESSAGE",
"UF_FORUM_MESSAGE_DOC", $messageID, LANGUAGE_ID);
1018 "SOURCE_ID" => $messageID,
1019 "RATING_TYPE_ID" =>
"FORUM_POST",
1020 "RATING_ENTITY_ID" => $messageID,
1024 "FILE" => $ufFileID,
1027 "IM_MESSAGE" => ($messageID ?
$arFields[
"TEXT_MESSAGE"] :
false)
1036 if (!CModule::IncludeModule(
"blog"))
1039 if (!CModule::IncludeModule(
"iblock"))
1045 $arSelectedFields =
array(
"IBLOCK_ID",
"ID",
"NAME",
"TAGS",
"CODE",
"IBLOCK_SECTION_ID",
"DETAIL_PAGE_URL",
1046 "CREATED_BY",
"PREVIEW_PICTURE",
"PREVIEW_TEXT",
"PROPERTY_BLOG_POST_ID",
"PROPERTY_BLOG_COMMENT_CNT",
"PROPERTY_REAL_PICTURE");
1056 if ($ELEMENT_BLOG_POST_ID <= 0)
1063 $POST_ID = $ELEMENT_BLOG_POST_ID;
1065 if(intval($POST_ID) > 0)
1071 $arFieldsComment = Array(
1072 "POST_ID" => $POST_ID,
1073 "BLOG_ID" => $BLOG_ID,
1074 "POST_TEXT" => trim(
$arFields[
"TEXT_MESSAGE"]),
1075 "DATE_CREATE" => ConvertTimeStamp(time()+CTimeZone::GetOffset(),
"FULL"),
1076 "AUTHOR_IP" => $UserIP[0],
1077 "AUTHOR_IP1" => $UserIP[1],
1078 "PARENT_ID" =>
false
1081 if(
$USER->IsAuthorized())
1082 $arFieldsComment[
"AUTHOR_ID"] =
$USER->GetID();
1097 "SOURCE_ID" => $commentID,
1098 "RATING_TYPE_ID" =>
"BLOG_COMMENT",
1099 "RATING_ENTITY_ID" => $commentID,
1102 "IM_MESSAGE" => ($arFieldsComment ? $arFieldsComment[
"POST_TEXT"] :
false)
1110 if ($arLogType[
"TYPE"] ==
"FORUM")
1114 elseif ($arLogType[
"TYPE"] ==
"BLOG")
1121 "SOURCE_ID" =>
false,
1122 "ERROR" =>
GetMessage(
"SONET_PHOTO_UPDATE_COMMENT_SOURCE_ERROR"),
1134 if ($arLogType[
"TYPE"] ==
"FORUM")
1138 elseif ($arLogType[
"TYPE"] ==
"BLOG")
1145 "ERROR" =>
GetMessage(
"SONET_PHOTO_DELETE_COMMENT_SOURCE_ERROR"),
1156 !array_key_exists(
"IS_SOCNET",
$arParams)
1161 $this->IsSocnet =
true;
1163 $this->arPath[
"PATH_TO_SMILE"] =
$arParams[
"PATH_TO_SMILE"];
1164 $this->arPath[
"DETAIL_URL"] =
$arParams[
"~DETAIL_URL"];
1165 $this->arPath[
"SECTION_URL"] =
$arParams[
"~SECTION_URL"];
1167 if (mb_strtolower(
$arParams[
"COMMENTS_TYPE"]) ==
"forum")
1171 $this->PhotoElementID =
$arParams[
"ELEMENT_ID"];
1172 $this->PostID =
$arResult[
"COMMENT_ID"];
1174 if (CModule::IncludeModule(
"blog"))
1176 $this->BlogID = $arBlog[
"ID"];
1179 $this->bIsGroup =
false;
1180 $this->entity_type =
false;
1181 $this->entity_id =
false;
1183 array_key_exists(
"USER_ALIAS",
$arParams)
1194 $this->entity_id =
$arTmp[1];
1208 static $arSiteWorkgroupsPage;
1210 if (!CModule::IncludeModule(
'iblock'))
1213 if (!$this->IsSocnet)
1221 && array_key_exists(
"PARAM2",
$arFields)
1225 $bSocNetLogRecordExists =
false;
1228 array(
"ID" =>
"DESC"),
1230 "EVENT_ID" =>
"photo_photo",
1235 array(
"ID",
"ENTITY_TYPE",
"ENTITY_ID",
"TMP_ID",
"USER_ID",
"TITLE",
"URL",
"PARAMS")
1243 $log_title =
$arRes[
"TITLE"];
1244 $log_url =
$arRes[
"URL"];
1245 $log_user_id =
$arRes[
"USER_ID"];
1247 if (
$arRes[
"PARAMS"] <>
'')
1249 $arTmp = unserialize(
$arRes[
"PARAMS"], [
'allowed_classes' =>
false ]);
1253 array_key_exists(
"SECTION_NAME",
$arTmp)
1254 &&
$arTmp[
"SECTION_NAME"] <>
''
1256 $log_section_name =
$arTmp[
"SECTION_NAME"];
1259 array_key_exists(
"SECTION_URL",
$arTmp)
1260 &&
$arTmp[
"SECTION_URL"] <>
''
1262 $log_section_url =
$arTmp[
"SECTION_URL"];
1266 $bSocNetLogRecordExists =
true;
1270 $rsElement = CIBlockElement::GetByID(
$arFields[
"PARAM2"]);
1271 if ($arElement = $rsElement->Fetch())
1273 $url = $this->arPath[
"DETAIL_URL"];
1275 $sAuthorName =
GetMessage(
"SONET_PHOTO_LOG_GUEST");
1276 if (intval($arElement[
"CREATED_BY"]) > 0)
1278 $rsUser = CUser::GetByID($arElement[
"CREATED_BY"]);
1279 if ($arUser = $rsUser->Fetch())
1280 $sAuthorName = CUser::FormatName(CSite::GetNameFormat(
false), $arUser,
true,
false);
1285 && intval($this->entity_id) > 0
1290 $alias = ($this->entity_type ==
SONET_ENTITY_GROUP ?
"group" :
"user").
"_".$this->entity_id;
1293 $arLogParams =
array(
1294 "FORUM_ID" => intval($this->ForumID)
1297 $rsIBlock = CIBlock::GetByID($arElement[
"IBLOCK_ID"]);
1300 $arLogParams[
"IBLOCK_ID"] =
$arIBlock[
"ID"];
1301 $arLogParams[
"IBLOCK_TYPE"] =
$arIBlock[
"IBLOCK_TYPE_ID"];
1304 $rsSection = CIBlockSection::GetByID($arElement[
"IBLOCK_SECTION_ID"]);
1305 if ($arSection = $rsSection->Fetch())
1307 $arLogParams[
"SECTION_ID"] = $arSection[
"ID"];
1308 $arLogParams[
"SECTION_NAME"] = $arSection[
"NAME"];
1309 $arLogParams[
"SECTION_URL"] = str_replace(
"#SECTION_ID#", $arSection[
"ID"], $this->arPath[
"SECTION_URL"]);
1311 $arSectionPath =
array();
1314 $dbSection = CIBlockSection::GetList(
1315 array(
"LEFT_MARGIN" =>
"ASC"),
1317 "IBLOCK_ID" => intval($arLogParams[
"IBLOCK_ID"]),
1318 "<=LEFT_BORDER" => intval($arSection[
"LEFT_MARGIN"]),
1319 ">=RIGHT_BORDER" => intval($arSection[
"RIGHT_MARGIN"]),
1320 "<=DEPTH_LEVEL" => intval($arSection[
"DEPTH_LEVEL"]),
1323 array(
"ID",
"IBLOCK_ID",
"NAME",
"CODE",
"CREATED_BY",
"DEPTH_LEVEL",
"LEFT_MARGIN",
"RIGHT_MARGIN",
"UF_PASSWORD")
1326 while (
$arPath = $dbSection->Fetch())
1329 if (trim(
$arPath[
"UF_PASSWORD"]) <>
'')
1339 $entity_id = $arSectionPath[0][
"CREATED_BY"];
1340 $alias = $arSectionPath[0][
"CODE"];
1345 $rsSite = CSite::GetList(
"sort",
"desc", Array(
"ACTIVE" =>
"Y"));
1346 while($arSite = $rsSite->Fetch())
1347 $arSiteWorkgroupsPage[$arSite[
"ID"]] = COption::GetOptionString(
"socialnetwork",
"workgroups_page", $arSite[
"DIR"].
"workgroups/", $arSite[
"ID"]);
1351 foreach($arSiteWorkgroupsPage as $groups_page)
1352 if (mb_strpos($arLogParams[
"SECTION_URL"], $groups_page) === 0)
1353 $arLogParams[
"SECTION_URL"] =
"#GROUPS_PATH#".mb_substr($arLogParams[
"SECTION_URL"], mb_strlen($groups_page), mb_strlen($arLogParams[
"SECTION_URL"]) - mb_strlen($groups_page));
1356 $arLogParams[
"ALIAS"] = $alias;
1358 $arSonetFields =
array(
1361 "EVENT_ID" =>
"photo_photo",
1362 "LOG_DATE" => $arElement[
"TIMESTAMP_X"],
1363 "TITLE_TEMPLATE" => str_replace(
"#AUTHOR_NAME#", $sAuthorName,
GetMessage(
"SONET_PHOTOPHOTO_LOG_1")),
1364 "TITLE" => $arElement[
"NAME"],
1366 "TEXT_MESSAGE" =>
"",
1367 "URL" => CComponentEngine::MakePathFromTemplate(
$url,
array(
1368 "ELEMENT_ID" => $arElement[
"ID"],
1369 "element_id" => $arElement[
"ID"],
1370 "SECTION_ID" => $arElement[
"IBLOCK_SECTION_ID"],
1371 "section_id" => $arElement[
"IBLOCK_SECTION_ID"]
1373 "MODULE_ID" =>
false,
1374 "CALLBACK_FUNC" =>
false,
1375 "SOURCE_ID" => $arElement[
"ID"],
1376 "PARAMS" => serialize($arLogParams),
1377 "RATING_TYPE_ID" =>
"IBLOCK_ELEMENT",
1378 "RATING_ENTITY_ID"=> $arElement[
"ID"],
1381 if (intval($arElement[
"CREATED_BY"]) > 0)
1382 $arSonetFields[
"USER_ID"] = $arElement[
"CREATED_BY"];
1385 if (intval($log_id) > 0)
1387 $log_title = $arSonetFields[
"TITLE"];
1388 $log_url = $arSonetFields[
"URL"];
1389 $log_section_name = $arLogParams[
"SECTION_NAME"];
1390 $log_section_url = $arLogParams[
"SECTION_URL"];
1391 $log_user_id = $arSonetFields[
"USER_ID"];
1407 if (intval($log_id) > 0)
1411 $parser =
new forumTextParser(LANGUAGE_ID, $this->arPath[
"PATH_TO_SMILE"]);
1412 $parser->imageWidth =
false;
1413 $parser->imageHeight =
false;
1424 "UPLOAD" => $arForum[
"ALLOW_UPLOAD"],
1430 $url = $this->arPath[
"DETAIL_URL"];
1432 if ($bSocNetLogRecordExists)
1436 $arFieldsForSocnet =
array(
1439 "EVENT_ID" =>
"photo_comment",
1440 "=LOG_DATE" =>
$DB->CurrentTimeFunction(),
1441 "MESSAGE" => $parser->convert(empty(
$arFields[
"POST_MESSAGE_FILTER"]) ?
$arFields[
"POST_MESSAGE"] :
$arFields[
"POST_MESSAGE_FILTER"], $arAllow),
1442 "TEXT_MESSAGE" => $parser->convert4mail(empty(
$arFields[
"POST_MESSAGE_FILTER"]) ?
$arFields[
"POST_MESSAGE"] :
$arFields[
"POST_MESSAGE_FILTER"]),
1443 "MODULE_ID" =>
false,
1445 "LOG_ID" => $log_id,
1446 "RATING_TYPE_ID" =>
"FORUM_POST",
1447 "RATING_ENTITY_ID" =>
$ID,
1450 if (intval($arMessage[
"AUTHOR_ID"]) > 0)
1451 $arFieldsForSocnet[
"USER_ID"] = $arMessage[
"AUTHOR_ID"];
1458 $arFieldsIM = Array(
1459 "TYPE" =>
"COMMENT",
1460 "TITLE" => $log_title,
1461 "MESSAGE" => $arFieldsForSocnet[
"MESSAGE"],
1463 "SECTION_NAME" => $log_section_name,
1464 "SECTION_URL" => $log_section_url,
1466 "PHOTO_AUTHOR_ID" => $log_user_id,
1467 "COMMENT_AUTHOR_ID" => $arMessage[
"AUTHOR_ID"],
1479 while ($arComment = $dbComments->GetNext())
1481 $arFieldsForSocnet =
array(
1484 "EVENT_ID" =>
"photo_comment",
1485 "=LOG_DATE" =>
$DB->CharToDateFunction($arComment[
"POST_DATE"],
"FULL",
SITE_ID),
1486 "MESSAGE" => $parser->convert(empty($arComment[
"POST_MESSAGE_FILTER"]) ? $arComment[
"POST_MESSAGE"] : $arComment[
"POST_MESSAGE_FILTER"], $arAllow),
1487 "TEXT_MESSAGE" => $parser->convert4mail(empty($arComment[
"POST_MESSAGE_FILTER"]) ? $arComment[
"POST_MESSAGE"] : $arComment[
"POST_MESSAGE_FILTER"]),
1488 "MODULE_ID" =>
false,
1489 "SOURCE_ID" => $arComment[
"ID"],
1490 "LOG_ID" => $log_id,
1491 "RATING_TYPE_ID" =>
"FORUM_POST",
1492 "RATING_ENTITY_ID" => $arComment[
"ID"],
1495 if (intval($arComment[
"AUTHOR_ID"]) > 0)
1497 $arFieldsForSocnet[
"USER_ID"] = $arComment[
"AUTHOR_ID"];
1505 $arFieldsIM = Array(
1506 "TYPE" =>
"COMMENT",
1507 "TITLE" => $log_title,
1508 "MESSAGE" => $arFieldsForSocnet[
"MESSAGE"],
1510 "SECTION_NAME" => $log_section_name,
1511 "SECTION_URL" => $log_section_url,
1513 "PHOTO_AUTHOR_ID" => $log_user_id,
1514 "COMMENT_AUTHOR_ID" => $arComment[
"AUTHOR_ID"],
1522 self::InheriteAlbumFollow($arElement[
"IBLOCK_SECTION_ID"], $log_id, (intval($arElement[
"CREATED_BY"]) > 0 ? $arElement[
"CREATED_BY"] :
false));
1533 if (!CModule::IncludeModule(
'iblock'))
1536 if (!$this->IsSocnet)
1539 if (intval($this->PhotoElementID) > 0)
1542 array(
"ID" =>
"DESC"),
1544 "EVENT_ID" =>
"photo_photo",
1545 "SOURCE_ID" => $this->PhotoElementID
1549 array(
"ID",
"ENTITY_TYPE",
"ENTITY_ID",
"TMP_ID",
"TITLE",
"URL",
"USER_ID",
"PARAMS")
1552 $bSocNetLogRecordExists =
false;
1558 $log_title =
$arRes[
"TITLE"];
1559 $log_url =
$arRes[
"URL"];
1560 $log_user_id =
$arRes[
"USER_ID"];
1561 $bSocNetLogRecordExists =
true;
1563 if (
$arRes[
"PARAMS"] <>
'')
1565 $arTmp = unserialize(
$arRes[
"PARAMS"], [
'allowed_classes' =>
false ]);
1569 array_key_exists(
"SECTION_NAME",
$arTmp)
1570 &&
$arTmp[
"SECTION_NAME"] <>
''
1572 $log_section_name =
$arTmp[
"SECTION_NAME"];
1575 array_key_exists(
"SECTION_URL",
$arTmp)
1576 &&
$arTmp[
"SECTION_URL"] <>
''
1578 $log_section_url =
$arTmp[
"SECTION_URL"];
1584 $rsElement = CIBlockElement::GetByID($this->PhotoElementID);
1585 if ($arElement = $rsElement->Fetch())
1587 $url = $this->arPath[
"DETAIL_URL"];
1589 $sAuthorName =
GetMessage(
"SONET_PHOTO_LOG_GUEST");
1590 if (intval($arElement[
"CREATED_BY"]) > 0)
1592 $rsUser = CUser::GetByID($arElement[
"CREATED_BY"]);
1593 if ($arUser = $rsUser->Fetch())
1594 $sAuthorName = CUser::FormatName(CSite::GetNameFormat(
false), $arUser,
true,
false);
1599 && intval($this->entity_id) > 0
1604 $alias = ($this->entity_type ==
SONET_ENTITY_GROUP ?
"group" :
"user").
"_".$this->entity_id;
1607 $arLogParams =
array(
1608 "BLOG_ID" => intval($this->BlogID)
1611 $rsIBlock = CIBlock::GetByID($arElement[
"IBLOCK_ID"]);
1614 $arLogParams[
"IBLOCK_ID"] =
$arIBlock[
"ID"];
1615 $arLogParams[
"IBLOCK_TYPE"] =
$arIBlock[
"IBLOCK_TYPE_ID"];
1618 $rsSection = CIBlockSection::GetByID($arElement[
"IBLOCK_SECTION_ID"]);
1619 if ($arSection = $rsSection->Fetch())
1621 $arLogParams[
"SECTION_ID"] = $arSection[
"ID"];
1622 $arLogParams[
"SECTION_NAME"] = $arSection[
"NAME"];
1623 $arLogParams[
"SECTION_URL"] = str_replace(
"#SECTION_ID#", $arSection[
"ID"], $this->arPath[
"SECTION_URL"]);
1625 $arSectionPath =
array();
1628 $dbSectionPath = CIBlockSection::GetList(
1629 array(
"LEFT_MARGIN" =>
"ASC"),
1631 "IBLOCK_ID" => intval($arLogParams[
"IBLOCK_ID"]),
1632 "<=LEFT_BORDER" => intval($arSection[
"LEFT_MARGIN"]),
1633 ">=RIGHT_BORDER" => intval($arSection[
"RIGHT_MARGIN"]),
1634 "<=DEPTH_LEVEL" => intval($arSection[
"DEPTH_LEVEL"]),
1637 array(
"ID",
"IBLOCK_ID",
"NAME",
"CREATED_BY",
"DEPTH_LEVEL",
"LEFT_MARGIN",
"RIGHT_MARGIN",
"UF_PASSWORD")
1640 while (
$arPath = $dbSectionPath->Fetch())
1643 if (trim(
$arPath[
"UF_PASSWORD"]) <>
'')
1653 $entity_id = $arSectionPath[0][
"CREATED_BY"];
1654 $alias = $arSectionPath[0][
"CODE"];
1658 $arLogParams[
"ALIAS"] = $alias;
1660 $arSonetFields =
array(
1663 "EVENT_ID" =>
"photo_photo",
1664 "LOG_DATE" => $arElement[
"TIMESTAMP_X"],
1665 "TITLE_TEMPLATE" => str_replace(
"#AUTHOR_NAME#", $sAuthorName,
GetMessage(
"SONET_PHOTOPHOTO_LOG_1")),
1666 "TITLE" => $arElement[
"NAME"],
1668 "TEXT_MESSAGE" =>
"",
1669 "URL" => CComponentEngine::MakePathFromTemplate(
$url,
array(
1670 "ELEMENT_ID" => $arElement[
"ID"],
1671 "element_id" => $arElement[
"ID"],
1672 "SECTION_ID" => $arElement[
"IBLOCK_SECTION_ID"],
1673 "section_id" => $arElement[
"IBLOCK_SECTION_ID"]
1675 "MODULE_ID" =>
false,
1676 "CALLBACK_FUNC" =>
false,
1677 "SOURCE_ID" => $arElement[
"ID"],
1678 "PARAMS" => serialize($arLogParams),
1679 "RATING_TYPE_ID" =>
"IBLOCK_ELEMENT",
1680 "RATING_ENTITY_ID"=> $arElement[
"ID"],
1683 if (intval($arElement[
"CREATED_BY"]) > 0)
1684 $arSonetFields[
"USER_ID"] = $arElement[
"CREATED_BY"];
1687 if (intval($log_id) > 0)
1689 $log_title = $arSonetFields[
"TITLE"];
1690 $log_url = $arSonetFields[
"URL"];
1691 $log_section_name = $arLogParams[
"SECTION_NAME"];
1692 $log_section_url = $arLogParams[
"SECTION_URL"];
1693 $log_user_id = $arSonetFields[
"USER_ID"];
1709 if (intval($log_id) > 0)
1711 $parserBlog =
new blogTextParser(
false, $this->arPath[
"PATH_TO_SMILE"]);
1712 $arAllow =
array(
"HTML" =>
"N",
"ANCHOR" =>
"N",
"BIU" =>
"N",
"IMG" =>
"N",
"QUOTE" =>
"N",
"CODE" =>
"N",
"FONT" =>
"N",
"LIST" =>
"N",
"SMILES" =>
"N",
"NL2BR" =>
"N",
"VIDEO" =>
"N");
1714 if ($bSocNetLogRecordExists)
1716 $text4message = $parserBlog->convert(
$arFields[
"POST_TEXT"],
true,
array(), $arAllow);
1717 $text4mail = $parserBlog->convert4mail(
$arFields[
"POST_TEXT"]);
1719 $arFieldsForSocnet =
array(
1722 "EVENT_ID" =>
"photo_comment",
1723 "=LOG_DATE" =>
$DB->CurrentTimeFunction(),
1724 "MESSAGE" => $text4message,
1725 "TEXT_MESSAGE" => $text4mail,
1726 "MODULE_ID" =>
false,
1728 "LOG_ID" => $log_id,
1729 "RATING_TYPE_ID" =>
"BLOG_COMMENT",
1730 "RATING_ENTITY_ID" =>
$ID,
1734 $arFieldsForSocnet[
"USER_ID"] =
$arFields[
"AUTHOR_ID"];
1741 $arFieldsIM = Array(
1742 "TYPE" =>
"COMMENT",
1743 "TITLE" => $log_title,
1744 "MESSAGE" => $arFieldsForSocnet[
"MESSAGE"],
1746 "SECTION_NAME" => $log_section_name,
1747 "SECTION_URL" => $log_section_url,
1748 "ID" => $this->PhotoElementID,
1749 "PHOTO_AUTHOR_ID" => $log_user_id,
1750 "COMMENT_AUTHOR_ID" =>
$arFields[
"AUTHOR_ID"],
1759 "BLOG_ID" => intval($this->BlogID),
1760 "POST_ID" => intval($this->PostID)
1764 array(
"ID",
"BLOG_ID",
"POST_ID",
"AUTHOR_ID",
"POST_TEXT",
"DATE_CREATE")
1767 while ($arComment = $dbComments->GetNext())
1769 $text4message = $parserBlog->convert($arComment[
"POST_TEXT"],
true,
array(), $arAllow);
1770 $text4mail = $parserBlog->convert4mail($arComment[
"POST_TEXT"]);
1772 $arFieldsForSocnet =
array(
1775 "EVENT_ID" =>
"photo_comment",
1776 "=LOG_DATE" =>
$DB->CharToDateFunction($arComment[
"DATE_CREATE"],
"FULL",
SITE_ID),
1777 "MESSAGE" => $text4message,
1778 "TEXT_MESSAGE" => $text4mail,
1779 "MODULE_ID" =>
false,
1780 "SOURCE_ID" => intval($arComment[
"ID"]),
1781 "LOG_ID" => $log_id,
1782 "RATING_TYPE_ID" =>
"BLOG_COMMENT",
1783 "RATING_ENTITY_ID" => intval($arComment[
"ID"]),
1787 $arFieldsForSocnet[
"USER_ID"] =
$arFields[
"AUTHOR_ID"];
1794 $arFieldsIM = Array(
1795 "TYPE" =>
"COMMENT",
1796 "TITLE" => $log_title,
1797 "MESSAGE" => $arFieldsForSocnet[
"MESSAGE"],
1799 "SECTION_NAME" => $log_section_name,
1800 "SECTION_URL" => $log_section_url,
1801 "ID" => $this->PhotoElementID,
1802 "PHOTO_AUTHOR_ID" => $log_user_id,
1803 "COMMENT_AUTHOR_ID" =>
$arFields[
"AUTHOR_ID"],
1811 self::InheriteAlbumFollow($arElement[
"IBLOCK_SECTION_ID"], $log_id, (intval($arElement[
"CREATED_BY"]) > 0 ? $arElement[
"CREATED_BY"] :
false));
1820 $albumId = intval($albumId);
1821 $logId = intval($logId);
1832 array(
"ID" =>
"DESC"),
1834 "EVENT_ID" =>
"photo",
1835 "SOURCE_ID" => $albumId
1842 if ($arAlbumLogEntry = $dbAlbumLogEntry->Fetch())
1844 $rsFollower = CSocNetLogFollow::GetList(
1846 "CODE" =>
"L".$arAlbumLogEntry[
"ID"],
1848 array(
"USER_ID",
"TYPE")
1851 while ($arFollower = $rsFollower->Fetch())
1853 if ($arFollower[
"TYPE"] ==
'Y')
1855 $subscribeTypeList =
array(
1856 'COUNTER_COMMENT_PUSH'
1861 || intval($authorId) != $arFollower[
"USER_ID"]
1864 $subscribeTypeList[] =
'FOLLOW';
1869 'userId' => $arFollower[
"USER_ID"],
1870 'typeList' => $subscribeTypeList,
1871 'followDate' =>
'CURRENT'
1876 || intval($authorId) != $arFollower[
"USER_ID"]
1879 CSocNetLogFollow::Set($arFollower[
"USER_ID"],
"L".$logId,
'N', ConvertTimeStamp(time() + CTimeZone::GetOffset(),
"FULL",
SITE_ID));
1887 if (!$this->IsSocnet)
1890 if (intval(
$ID) > 0)
1893 array(
"ID" =>
"DESC"),
1895 "EVENT_ID" =>
"photo_comment",
1900 array(
"ID",
"LOG_ID")
1914 array(
"ID",
"COMMENTS_COUNT")
1919 if ($arLog[
"COMMENTS_COUNT"] == 0)
1930 !CModule::IncludeModule(
"im")
1931 || intval(
$arParams[
"PHOTO_AUTHOR_ID"]) <= 0
1936 if (!array_key_exists(
"SECTION_NAME",
$arParams))
1938 if (!array_key_exists(
"SECTION_URL",
$arParams))
1941 $arMessageFields =
array(
1943 "TO_USER_ID" =>
$arParams[
"PHOTO_AUTHOR_ID"],
1944 "FROM_USER_ID" =>
$arParams[
"COMMENT_AUTHOR_ID"],
1946 "NOTIFY_MODULE" =>
"photogallery",
1947 "NOTIFY_EVENT" =>
"comment",
1953 "EVENT_ID" =>
array(
"photo_photo"),
1960 if ($arLog = $rsLog->Fetch())
1962 $rsUnFollower = CSocNetLogFollow::GetList(
1964 "USER_ID" =>
$arParams[
"PHOTO_AUTHOR_ID"],
1965 "CODE" =>
"L".$arLog[
"ID"],
1970 if ($arUnFollower = $rsUnFollower->Fetch())
1973 $arMessageFields[
"LOG_ID"] = $arLog[
"ID"];
1981 $serverName =
$arTmp[
"SERVER_NAME"];
1985 $arMessageFields[
"NOTIFY_TAG"] =
"PHOTO|COMMENT|".$arParams[
"ID"];
1987 "SONET_PHOTO_IM_COMMENT",
1994 $arMessageFields[
"NOTIFY_MESSAGE_OUT"] = fn (?
string $languageId =
null) =>
1996 "SONET_PHOTO_IM_COMMENT",
2003 .
" (".$serverName.$arParams[
"URL"].
")#BR##BR#".
$arParams[
"MESSAGE"];
2005 $ID = CIMNotify::Add($arMessageFields);
2007 if(!empty(
$arParams[
"COMMENT_MENTION_ID"]))
static getMessage($code, $replace=null, $language=null)
static userLogSubscribe($params=array())
static GetByUrl($BLOG_URL, $arGroup=Array())
static GetByIDEx($ID, $arAddParams=array())
static CounterIncrement( $entityId, $eventId='', $entitiesList=false, $type=CSocNetLogCounter::TYPE_LOG_ENTRY, $forAllAccess=false, $userIdToPushList=[])
static GetList($arOrder=Array("ID"=>"ASC"), $arFilter=Array(), $iNum=0, $arAddParams=array())
static GetList($arOrder=Array("ID"=>"ASC"), $arFilter=Array(), $bCount=false, $iNum=0, $arAddParams=array())
static GetListEx($arOrder=Array("ID"=>"ASC"), $arFilter=Array(), $bCount=false, $iNum=0, $arAddParams=array())
static Add($arFields, $bSendEvent=true)
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array(), $arParams=array())
static Update($ID, $arFields)
static SetForSonet($logID, $entity_type, $entity_id, $feature, $operation, $bNew=false)
static DeleteByLogID($LOG_ID)
static GetList($aSort=array(), $aFilter=array())
static Add($LOG_ID, $GROUP_CODE, $bShare=false, $followSet=true)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
ForumAddMessage( $MESSAGE_TYPE, $FID, $TID, $MID, $arFieldsG, &$strErrorMessage, &$strOKMessage, $iFileSize=false, $captcha_word="", $captcha_sid=0, $captcha_code="")
global $USER_FIELD_MANAGER
htmlspecialcharsback($str)
IsModuleInstalled($module_id)
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
GetMessage($name, $aReplace=null)
AddToTimeStamp($arrAdd, $stmp=false)
TruncateText($strText, $intLen)
if(intval($iTestTransaction) > 0) $arTmp
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
$GLOBALS['_____370096793']