22 if (array_key_exists(
"subscribe_events", $arFeature))
24 if (array_key_exists($event_id, $arFeature[
"subscribe_events"]))
26 $feature = $feature_tmp;
30 foreach ($arFeature[
"subscribe_events"] as $event_id_tmp => $arEventTmp)
33 array_key_exists(
"COMMENT_EVENT", $arEventTmp)
34 && array_key_exists(
"EVENT_ID", $arEventTmp[
"COMMENT_EVENT"])
35 && $arEventTmp[
"COMMENT_EVENT"][
"EVENT_ID"] == $event_id
38 $feature = $feature_tmp;
54 $arSocNetLogEvents = CSocNetAllowed::GetAllowedLogEvents();
57 array_key_exists($event_id, $arSocNetLogEvents)
58 && array_key_exists(
"ENTITIES", $arSocNetLogEvents[$event_id])
63 || ($entity_type && array_key_exists($entity_type, $arSocNetLogEvents[$event_id][
"ENTITIES"]))
66 $arEvent = $arSocNetLogEvents[$event_id];
76 array_key_exists(
"subscribe_events", $arFeature)
77 && array_key_exists($event_id, $arFeature[
"subscribe_events"])
78 && array_key_exists(
"ENTITIES", $arFeature[
"subscribe_events"][$event_id])
84 || ($entity_type && array_key_exists($entity_type, $arFeature[
"subscribe_events"][$event_id][
"ENTITIES"]))
86 $arEvent = $arFeature[
"subscribe_events"][$event_id];
98 $arSocNetLogEvents = CSocNetAllowed::GetAllowedLogEvents();
100 foreach($arSocNetLogEvents as $event_id_tmp => $arEventTmp)
103 array_key_exists(
"COMMENT_EVENT", $arEventTmp)
104 && array_key_exists(
"EVENT_ID", $arEventTmp[
"COMMENT_EVENT"])
105 && $event_id == $arEventTmp[
"COMMENT_EVENT"][
"EVENT_ID"]
108 $arEvent = $arEventTmp[
"COMMENT_EVENT"];
118 if (array_key_exists(
"subscribe_events", $arFeature))
120 foreach( $arFeature[
"subscribe_events"] as $event_id_tmp => $arEventTmp)
123 array_key_exists(
"COMMENT_EVENT", $arEventTmp)
124 && array_key_exists(
"EVENT_ID", $arEventTmp[
"COMMENT_EVENT"])
125 && $event_id == $arEventTmp[
"COMMENT_EVENT"][
"EVENT_ID"]
128 $arEvent = $arEventTmp[
"COMMENT_EVENT"];
145 $arSocNetLogEvents = CSocNetAllowed::GetAllowedLogEvents();
148 array_key_exists($log_event_id, $arSocNetLogEvents)
149 && array_key_exists(
"COMMENT_EVENT", $arSocNetLogEvents[$log_event_id])
152 $arEvent = $arSocNetLogEvents[$log_event_id][
"COMMENT_EVENT"];
160 array_key_exists(
"subscribe_events", $arFeatureTmp)
161 && array_key_exists($log_event_id, $arFeatureTmp[
"subscribe_events"])
162 && array_key_exists(
"COMMENT_EVENT", $arFeatureTmp[
"subscribe_events"][$log_event_id])
165 $arEvent = $arFeatureTmp[
"subscribe_events"][$log_event_id][
"COMMENT_EVENT"];
177 $arSocNetLogEvents = CSocNetAllowed::GetAllowedLogEvents();
179 foreach ($arSocNetLogEvents as $event_id_tmp => $arEventTmp)
182 array_key_exists(
"COMMENT_EVENT", $arEventTmp)
183 && isset($arEventTmp[
"COMMENT_EVENT"][
"EVENT_ID"])
184 && $arEventTmp[
"COMMENT_EVENT"][
"EVENT_ID"] == $event_id
187 $arEvent = $arEventTmp;
188 $arEvent[
"EVENT_ID"] = $event_id_tmp;
198 if (array_key_exists(
"subscribe_events", $arFeatureTmp))
200 foreach ($arFeatureTmp[
"subscribe_events"] as $event_id_tmp => $arEventTmp)
203 array_key_exists(
"COMMENT_EVENT", $arEventTmp)
204 && isset($arEventTmp[
"COMMENT_EVENT"][
"EVENT_ID"])
205 && $arEventTmp[
"COMMENT_EVENT"][
"EVENT_ID"] == $event_id
208 $arEvent = $arEventTmp;
209 $arEvent[
"EVENT_ID"] = $event_id_tmp;
226 $arSocNetLogEvents = CSocNetAllowed::GetAllowedLogEvents();
228 foreach ($arSocNetLogEvents as $event_id_tmp => $arEventTmp)
231 array_key_exists(
"FULL_SET", $arEventTmp)
232 && in_array($event_id, $arEventTmp[
"FULL_SET"])
235 $arFullSet = $arEventTmp[
"FULL_SET"];
246 if (array_key_exists(
"subscribe_events", $arFeatureTmp))
248 foreach($arFeatureTmp[
"subscribe_events"] as $event_id_tmp => $arEventTmp)
251 array_key_exists(
"FULL_SET", $arEventTmp)
252 && in_array($event_id, $arEventTmp[
"FULL_SET"])
255 $arFullSet = $arEventTmp[
"FULL_SET"];
268 $arFullSet =
array($event_id);
276 $event_id_fullset =
false;
277 $arSocNetLogEvents = CSocNetAllowed::GetAllowedLogEvents();
279 foreach ($arSocNetLogEvents as $event_id_tmp => $arEventTmp)
282 array_key_exists(
"FULL_SET", $arEventTmp)
283 && is_array($arEventTmp[
"FULL_SET"])
284 && in_array($event_id, $arEventTmp[
"FULL_SET"])
287 $event_id_fullset = $event_id_tmp;
292 if (!$event_id_fullset)
297 if (array_key_exists(
"subscribe_events", $arFeatureTmp))
299 foreach ($arFeatureTmp[
"subscribe_events"] as $event_id_tmp => $arEventTmp)
302 array_key_exists(
"FULL_SET", $arEventTmp)
303 && is_array($arEventTmp[
"FULL_SET"])
304 && in_array($event_id, $arEventTmp[
"FULL_SET"])
307 $event_id_fullset = $event_id_tmp;
312 if ($event_id_fullset)
317 return $event_id_fullset;
322 if ($strEntityURL <>
'')
323 $name =
"<a href=\"".$strEntityURL.
"\">".$arEntityDesc[
"NAME"].
"</a>";
325 $name = $arEntityDesc[
"NAME"];
337 "ID" => $arEntityDesc[
"ID"],
338 "HTML_ID" =>
"subscribe_list_".$arEntityDesc[
"ID"],
339 "NAME" => $arEntityDesc[
"~NAME"],
340 "LAST_NAME" => $arEntityDesc[
"~LAST_NAME"],
341 "SECOND_NAME" => $arEntityDesc[
"~SECOND_NAME"],
342 "LOGIN" => $arEntityDesc[
"~LOGIN"],
343 "USE_THUMBNAIL_LIST" =>
"N",
344 "PROFILE_URL" => $strEntityURL,
345 "PATH_TO_SONET_MESSAGES_CHAT" =>
$arParams[
"~PATH_TO_MESSAGES_CHAT"],
346 "PATH_TO_SONET_USER_PROFILE" =>
$arParams[
"~PATH_TO_USER"],
347 "PATH_TO_VIDEO_CALL" =>
$arParams[
"~PATH_TO_VIDEO_CALL"],
348 "SHOW_FIELDS" =>
$arParams[
"SHOW_FIELDS_TOOLTIP"],
349 "USER_PROPERTY" =>
$arParams[
"USER_PROPERTY_TOOLTIP"],
350 "DATE_TIME_FORMAT" =>
$arParams[
"DATE_TIME_FORMAT"],
354 "NAME_TEMPLATE" =>
$arParams[
"NAME_TEMPLATE"],
356 "PATH_TO_CONPANY_DEPARTMENT" =>
$arParams[
"~PATH_TO_CONPANY_DEPARTMENT"],
361 array(
"HIDE_ICONS" =>
"Y")
375 isset($arEvent[
"HAS_CB"])
376 && $arEvent[
"HAS_CB"] ===
"Y"
399 "LAST_NAME" =>
$arFields[
"LAST_NAME"] ??
null,
400 "SECOND_NAME" =>
$arFields[
"SECOND_NAME"] ??
null,
402 "PERSONAL_GENDER" =>
$arFields[
"PERSONAL_GENDER"] ??
'',
403 "USE_THUMBNAIL_LIST" =>
"N",
404 "PATH_TO_SONET_MESSAGES_CHAT" =>
$arParams[
"PATH_TO_MESSAGES_CHAT"] ??
null,
405 "PATH_TO_SONET_USER_PROFILE" =>
$arParams[
"PATH_TO_USER"] ??
null,
406 "PATH_TO_VIDEO_CALL" =>
$arParams[
"PATH_TO_VIDEO_CALL"] ??
null,
407 "DATE_TIME_FORMAT" =>
$arParams[
"DATE_TIME_FORMAT"] ??
null,
408 "SHOW_YEAR" =>
$arParams[
"SHOW_YEAR"] ??
null,
409 "CACHE_TYPE" =>
$arParams[
"CACHE_TYPE"] ??
null,
410 "CACHE_TIME" =>
$arParams[
"CACHE_TIME"] ??
null,
411 "NAME_TEMPLATE" =>
$arParams[
"NAME_TEMPLATE"] ??
null,
412 "SHOW_LOGIN" =>
$arParams[
"SHOW_LOGIN"] ??
null,
413 "PATH_TO_CONPANY_DEPARTMENT" =>
$arParams[
"PATH_TO_CONPANY_DEPARTMENT"] ??
null,
422 && (
int)
$arParams[
"AVATAR_SIZE_COMMON"] > 0
432 if ($source <>
'' && mb_substr($source, -1) !==
"_")
439 if ((
int) (
$arFields[$source .
"PERSONAL_PHOTO"] ??
null) <= 0)
441 switch (
$arFields[$source.
"PERSONAL_GENDER"] ??
null)
452 $arFields[$source.
"PERSONAL_PHOTO"] = COption::GetOptionInt(
"socialnetwork",
"default_user_picture_".$suffix,
false,
$site_id);
455 if ((
int)
$arFields[$source .
"PERSONAL_PHOTO"] > 0)
457 static $cachedAvatars =
array();
458 if (empty($cachedAvatars[
$arParams[
"AVATAR_SIZE"]][
$arFields[$source.
"PERSONAL_PHOTO"]]))
460 $imageFile = CFile::GetFileArray($arFields[$source.
"PERSONAL_PHOTO"]);
461 if ($imageFile !== false)
463 $arFileTmp = CFile::ResizeImageGet(
465 array(
"width" => $arParams[
"AVATAR_SIZE"],
"height" => $arParams[
"AVATAR_SIZE"]),
466 BX_RESIZE_IMAGE_EXACT,
469 $AvatarPath = $arFileTmp[
"src"];
470 $cachedAvatars[$arParams[
"AVATAR_SIZE"]][$arFields[$source.
"PERSONAL_PHOTO"]] = $AvatarPath;
475 $AvatarPath = $cachedAvatars[
$arParams[
"AVATAR_SIZE"]][
$arFields[$source.
"PERSONAL_PHOTO"]];
493 $arFields[
"IMAGE_ID"] = COption::GetOptionInt(
"socialnetwork",
"default_group_picture",
false,
SITE_ID);
498 $imageFile = CFile::GetFileArray(
$arFields[
"IMAGE_ID"]);
499 if ($imageFile !==
false)
501 $arFileTmp = CFile::ResizeImageGet(
507 $AvatarPath = $arFileTmp[
"src"];
527 mb_strlen($short_message) < 1000
540 $arCreatedBy =
array();
542 is_array(
$GLOBALS[
"arExtranetUserID"] ??
null)
546 $arCreatedBy[
"IS_EXTRANET"] =
"Y";
547 $arCreatedBy[
"IS_COLLAB"] = User::isCollaber((
int)
$arFields[
"USER_ID"]) ?
"Y" :
"N";
548 $suffix = (SITE_TEMPLATE_ID !==
"bitrix24" && SITE_TEMPLATE_ID !==
'air' ?
GetMessage(
"SONET_LOG_EXTRANET_SUFFIX") :
"");
552 $arCreatedBy[
"IS_EXTRANET"] =
"N";
557 $arCreatedBy[
"FORMATTED"] = (
559 ||
$arFields[
"CREATED_BY_LAST_NAME"] <>
''
560 ?
GetMessage(
"SONET_GL_EVENT_USER".($bFirstCaps ?
"_CAPS" :
"")).
" ".
$arFields[
"CREATED_BY_NAME"].
" ".
$arFields[
"CREATED_BY_LAST_NAME"].$suffix
561 :
GetMessage(
"SONET_GL_EVENT_USER".($bFirstCaps ?
"_CAPS" :
"")).
" ".
$arFields[
"CREATED_BY_LOGIN"].$suffix
566 $arFieldsTooltip =
array(
568 "NAME" =>
$arFields[
"~CREATED_BY_NAME"] ??
null,
569 "LAST_NAME" =>
$arFields[
"~CREATED_BY_LAST_NAME"] ??
null,
570 "SECOND_NAME" =>
$arFields[
"~CREATED_BY_SECOND_NAME"] ??
null,
571 "LOGIN" =>
$arFields[
"~CREATED_BY_LOGIN"] ??
null,
572 "PERSONAL_GENDER" => (!empty(
$arFields[
"~CREATED_BY_PERSONAL_GENDER"]) ?
$arFields[
"~CREATED_BY_PERSONAL_GENDER"] :
'')
580 $arCreatedBy[
"FORMATTED"] =
GetMessage(
"SONET_GL_EVENT_ANONYMOUS_USER".($bFirstCaps ?
"_CAPS" :
""));
596 is_array(
$GLOBALS[
"arExtranetUserID"] ??
null)
608 $arEntity[
"FORMATTED"] =
$arFields[
"USER_NAME"].
" ".
$arFields[
"USER_LAST_NAME"].$suffix;
610 $arEntity[
"FORMATTED"] =
$arFields[
"USER_LOGIN"].$suffix;
611 $arEntity[
"TYPE_MAIL"] =
GetMessage(
"SONET_GL_EVENT_ENTITY_U");
615 $arFieldsTooltip =
array(
617 "NAME" =>
$arFields[
"~USER_NAME"] ??
null,
618 "LAST_NAME" =>
$arFields[
"~USER_LAST_NAME"] ??
null,
619 "SECOND_NAME" =>
$arFields[
"~USER_SECOND_NAME"] ??
null,
620 "LOGIN" =>
$arFields[
"~USER_LOGIN"] ??
null,
624 $arEntity[
"FORMATTED"] =
"";
634 is_array(
$GLOBALS[
"arExtranetGroupID"] ??
null)
643 $arEntity[
"FORMATTED"] =
$arFields[
"GROUP_NAME"].$suffix;
644 $arEntity[
"TYPE_MAIL"] =
GetMessage(
"SONET_GL_EVENT_ENTITY_G");
650 $arSocNetAllowedSubscribeEntityTypesDesc = CSocNetAllowed::GetAllowedEntityTypesDesc();
651 $arEntity[
"FORMATTED"][
"TYPE_NAME"] = $arSocNetAllowedSubscribeEntityTypesDesc[
$arFields[
"ENTITY_TYPE"]][
"TITLE_ENTITY"];
653 $arEntity[
"FORMATTED"][
"URL"] =
$url;
654 $arEntity[
"FORMATTED"][
"NAME"] =
$arFields[
"GROUP_NAME"];
664 static $arSiteServerName;
666 if (!$arSiteServerName)
668 $arSiteServerName =
array();
676 mb_strpos(
$arFields[
"URL"],
"http://") === 0
677 || mb_strpos(
$arFields[
"URL"],
"https://") === 0
688 && CModule::IncludeModule(
"extranet")
691 $server_name =
"#SERVER_NAME#";
697 if($arLogSite = $rsLogSite->Fetch())
702 if (in_array(
$siteID, $arSiteServerName))
704 $server_name = $arSiteServerName[
$siteID];
710 $server_name = ($arSite[
"SERVER_NAME"] <>
'' ? $arSite[
"SERVER_NAME"] : COption::GetOptionString(
"main",
"server_name",
$GLOBALS[
"SERVER_NAME"]));
711 $arSiteServerName[
$siteID] = $server_name;
715 $protocol = (CMain::IsHTTPS() ?
"https" :
"http");
741 "EVENT_FORMATTED" =>
array()
743 $arResult[
"CREATED_BY"][
"ACTION_TYPE"] =
"wrote";
758 :
' "'.$arFields[
"TITLE"].
'"'
763 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_BLOG_POST");
770 ?
'<a href="'.$arFields[
"URL"].
'">'.
$arFields[
"TITLE"].
'</a>'
775 array(
"#TITLE#",
"#ENTITY#",
"#CREATED_BY#"),
784 "TITLE_24" =>
GetMessage(
"SONET_GL_EVENT_TITLE_BLOG_POST_24"),
792 (
$arParams[
"NEW_TEMPLATE"] ??
null) !=
"Y"
796 if (CModule::IncludeModule(
"blog"))
802 if($arBlogPost[
"HAS_IMAGES"] !=
"N")
805 while ($arImage =
$res->Fetch())
807 $arImages[$arImage[
'ID']] = $arImage[
'FILE_ID'];
817 "HTML" =>
"N",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
819 "QUOTE" =>
"Y",
"CODE" =>
"Y",
"FONT" =>
"Y",
"LIST" =>
"Y",
"SMILES" =>
"Y",
"NL2BR" =>
"N",
"MULTIPLE_BR" =>
"N",
"VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N",
"SHORT_ANCHOR" =>
"Y"
822 if (get_class($parserLog) ==
"blogTextParser")
824 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"] = $parserLog->html_cut(
846 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"] = str_replace(
853 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"] ??
null,
854 $arResult[
"EVENT_FORMATTED"][
"SHORT_MESSAGE"] ??
null
860 "STYLE" =>
"sonetgroups",
861 "TITLE" =>
$arResult[
"ENTITY"][
"FORMATTED"][
"NAME"],
862 "URL" =>
$arResult[
"ENTITY"][
"FORMATTED"][
"URL"],
868 while ($arRight = $dbRight->Fetch())
870 $arRights[] = $arRight[
"GROUP_CODE"];
873 if ((
$arParams[
"MOBILE"] ??
null) ==
"Y")
876 if (intval($iMoreCount) > 0)
878 $arResult[
"EVENT_FORMATTED"][
"DESTINATION_MORE"] = $iMoreCount;
919 "EVENT_FORMATTED" =>
array(),
925 $arResult[
"CREATED_BY"][
"ACTION_TYPE"] =
"wrote";
934 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_BLOG_COMMENT");
938 && array_key_exists(
"URL", $arLog)
939 && $arLog[
"URL"] <>
''
941 $post_tmp =
'<a href="'.$arLog[
"URL"].
'">'.$arLog[
"TITLE"].
'</a>';
943 $post_tmp = $arLog[
"TITLE"] ??
'';
946 array(
"#TITLE#",
"#ENTITY#",
"#CREATED_BY#"),
966 "HTML" =>
"N",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
967 "IMG" =>
"Y",
"LOG_IMG" =>
"N",
968 "QUOTE" =>
"Y",
"LOG_QUOTE" =>
"N",
969 "CODE" =>
"Y",
"LOG_CODE" =>
"N",
970 "FONT" =>
"Y",
"LOG_FONT" =>
"N",
974 "MULTIPLE_BR" =>
"N",
975 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N"
978 $arResult[
"EVENT_FORMATTED"][
"SHORT_MESSAGE"] = $parserLog->html_cut(
984 "HTML" =>
"N",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
1004 $parserLog->pathToUser =
$arParams[
"PATH_TO_USER"];
1007 "HTML" =>
"N",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
1046 "EVENT_FORMATTED" =>
array(),
1048 $arResult[
"CREATED_BY"][
"ACTION_TYPE"] =
"wrote";
1058 $title_tmp =
"<a href=\"".$arFields[
"URL"].
"\">".
GetMessage(
"SONET_GL_EVENT_TITLE_BLOG_POST_MICRO").
"</a>";
1060 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_BLOG_POST_MICRO");
1068 $post_tmp =
'<a href="'.$arFields[
"URL"].
'">'.
$arFields[
"TITLE"].
'</a>';
1073 array(
"#TITLE#",
"#ENTITY#",
"#CREATED_BY#"),
1089 "HTML" =>
"Y",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
1090 "IMG" =>
"Y",
"LOG_IMG" =>
"N",
1091 "QUOTE" =>
"Y",
"LOG_QUOTE" =>
"N",
1092 "CODE" =>
"Y",
"LOG_CODE" =>
"N",
1093 "FONT" =>
"Y",
"LOG_FONT" =>
"N",
1097 "MULTIPLE_BR" =>
"N",
1098 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N"
1101 $arResult[
"EVENT_FORMATTED"][
"SHORT_MESSAGE"] = $parserLog->html_cut(
1106 $arAllow =
array(
"HTML" =>
"Y",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
"IMG" =>
"Y",
"QUOTE" =>
"Y",
"CODE" =>
"Y",
"FONT" =>
"Y",
"LIST" =>
"Y",
"SMILES" =>
"Y",
"NL2BR" =>
"N",
"MULTIPLE_BR" =>
"N",
"VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N");
1109 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"] = str_replace(
1145 "EVENT_FORMATTED" =>
array(),
1151 $arResult[
"CREATED_BY"][
"ACTION_TYPE"] =
"wrote";
1160 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_BLOG_COMMENT_MICRO");
1164 && array_key_exists(
"URL", $arLog)
1165 && $arLog[
"URL"] <>
''
1167 $post_tmp =
'<a href="'.$arLog[
"URL"].
'">'.$arLog[
"TITLE"].
'</a>';
1169 $post_tmp = $arLog[
"TITLE"];
1172 array(
"#TITLE#",
"#ENTITY#",
"#CREATED_BY#"),
1192 "HTML" =>
"Y",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
1193 "IMG" =>
"Y",
"LOG_IMG" =>
"N",
1194 "QUOTE" =>
"Y",
"LOG_QUOTE" =>
"N",
1195 "CODE" =>
"Y",
"LOG_CODE" =>
"N",
1196 "FONT" =>
"Y",
"LOG_FONT" =>
"N",
1200 "MULTIPLE_BR" =>
"N",
1201 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N"
1204 $arResult[
"EVENT_FORMATTED"][
"SHORT_MESSAGE"] = $parserLog->html_cut(
1209 $arAllow =
array(
"HTML" =>
"Y",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
"IMG" =>
"Y",
"QUOTE" =>
"Y",
"CODE" =>
"Y",
"FONT" =>
"Y",
"LIST" =>
"Y",
"SMILES" =>
"Y",
"NL2BR" =>
"N",
"VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N");
1238 "EVENT_FORMATTED" =>
array(),
1251 :
GetMessage(
"SONET_GL_EVENT_TITLE_FORUM_MESSAGE")
1259 :
GetMessage(
"SONET_GL_EVENT_TITLE_FORUM_TOPIC")
1267 ?
'<a href="'.$arFields[
"URL"].
'">'.
$arFields[
"TITLE"].
'</a>'
1279 (is_string(
$arResult[
"ENTITY"][
"FORMATTED"]) ?
$arResult[
"ENTITY"][
"FORMATTED"] :
''),
1280 ($bMail ?
$arResult[
"CREATED_BY"][
"FORMATTED"] :
"")
1285 static $parser =
false;
1286 if (CModule::IncludeModule(
"forum"))
1293 $parser->pathToUser =
$arParams[
"PATH_TO_USER"];
1294 $parser->LAZYLOAD = (isset(
$arParams[
"LAZYLOAD"]) &&
$arParams[
"LAZYLOAD"] ==
"Y" ?
"Y" :
"N");
1295 $parser->bMobile = ((
$arParams[
"MOBILE"] ??
null) ==
"Y");
1302 "TITLE_24" =>
GetMessage(
"SONET_GL_EVENT_TITLE_FORUM_TOPIC_24"),
1310 static $parserLog =
false;
1311 if ((
$arParams[
"MOBILE"] ??
null) !=
"Y")
1318 $arResult[
"EVENT_FORMATTED"][
"SHORT_MESSAGE"] = $parserLog->html_cut(
1319 $parserLog->convert(
1320 str_replace(
"#CUT#",
"",
$arResult[
"EVENT_FORMATTED"][
"MESSAGE"]),
1325 "ANCHOR" =>
"Y",
"BIU" =>
"Y",
1326 "IMG" =>
"Y",
"LOG_IMG" =>
"N",
1327 "QUOTE" =>
"Y",
"LOG_QUOTE" =>
"N",
1328 "CODE" =>
"Y",
"LOG_CODE" =>
"N",
1329 "FONT" =>
"Y",
"LOG_FONT" =>
"N",
1333 && !empty(
$arFields[
"ADDITIONAL_DATA"][
"USE_SMILES"])
1334 ?
$arFields[
"ADDITIONAL_DATA"][
"USE_SMILES"]
1337 "NL2BR" =>
"N",
"MULTIPLE_BR" =>
"N",
1338 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N"
1344 $parser = (is_object($parser) ? $parser : (is_object($parserLog) ? $parserLog :
new logTextParser(
false,
$arParams[
"PATH_TO_SMILE"])));
1345 if (get_class($parser) ===
"forumTextParser")
1347 $parser->arUserfields =
$arFields[
"UF"];
1348 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"] = $parser->convert(
1349 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"],
1353 "ANCHOR" =>
"Y",
"BIU" =>
"Y",
1354 "IMG" =>
"Y",
"QUOTE" =>
"Y",
1355 "CODE" =>
"Y",
"FONT" =>
"Y",
1359 && !empty(
$arFields[
"ADDITIONAL_DATA"][
"USE_SMILES"])
1360 ?
$arFields[
"ADDITIONAL_DATA"][
"USE_SMILES"]
1363 "NL2BR" =>
"Y",
"MULTIPLE_BR" =>
"N",
1364 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N",
1365 "SHORT_ANCHOR" =>
"Y",
1370 $arResult[
"EVENT_FORMATTED"][
"PARSED_FILES"] = $parser->arFilesParsed;
1374 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"] = $parser->convert(
1375 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"],
1380 "ANCHOR" =>
"Y",
"BIU" =>
"Y",
1381 "IMG" =>
"Y",
"QUOTE" =>
"Y",
1382 "CODE" =>
"Y",
"FONT" =>
"Y",
1383 "LIST" =>
"Y",
"SMILES" =>
"Y",
1384 "NL2BR" =>
"Y",
"MULTIPLE_BR" =>
"N",
1385 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N",
1386 "SHORT_ANCHOR" =>
"Y",
1392 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"] = str_replace(
1400 && (
$arParams[
"NEW_TEMPLATE"] ??
null) !==
"Y"
1404 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"],
1405 $arResult[
"EVENT_FORMATTED"][
"SHORT_MESSAGE"]
1413 "STYLE" =>
"sonetgroups",
1414 "TITLE" =>
$arResult[
"ENTITY"][
"FORMATTED"][
"NAME"],
1415 "URL" =>
$arResult[
"ENTITY"][
"FORMATTED"][
"URL"],
1417 is_array(
$GLOBALS[
"arExtranetGroupID"] ??
null)
1457 "EVENT_FORMATTED" =>
array(),
1473 :
GetMessage(
"SONET_GL_EVENT_TITLE_FORUM_MESSAGE")
1478 && array_key_exists(
"URL", $arLog)
1479 && !empty($arLog[
"URL"])
1480 ?
'<a href="'.$arLog[
"URL"].
'">'.($arLog[
"TITLE"] ??
'').
'</a>'
1481 : ($arLog[
"TITLE"] ??
'')
1492 is_string(
$arResult[
"ENTITY"][
"FORMATTED"] ??
null) ?
$arResult[
"ENTITY"][
"FORMATTED"] :
'',
1493 ($bMail ?
$arResult[
"CREATED_BY"][
"FORMATTED"] :
"")
1498 static $parser =
false;
1499 if (CModule::IncludeModule(
"forum"))
1506 $parser->pathToUser = $parser->userPath =
$arParams[
"PATH_TO_USER"];
1507 $parser->bMobile = ((
$arParams[
"MOBILE"] ??
null) ===
"Y");
1508 $parser->LAZYLOAD = (isset(
$arParams[
"LAZYLOAD"]) &&
$arParams[
"LAZYLOAD"] ===
"Y" ?
"Y" :
"N");
1511 if ((
$arParams[
'MOBILE'] ??
null) !==
'Y')
1513 if (!empty(
$arParams[
'IMAGE_MAX_WIDTH']))
1515 $parser->imageWidth = (int)
$arParams[
'IMAGE_MAX_WIDTH'];
1517 if (!empty(
$arParams[
'IMAGE_MAX_HEIGHT']))
1519 $parser->imageHeight = (int)
$arParams[
'IMAGE_MAX_HEIGHT'];
1526 "MESSAGE" => ($bMail ?
$arFields[
"TEXT_MESSAGE"] : htmlspecialcharsBack(
$arFields[
"MESSAGE"])),
1532 if ((
$arParams[
"MOBILE"] ??
null) !==
"Y")
1534 static $parserLog =
false;
1539 $arResult[
"EVENT_FORMATTED"][
"SHORT_MESSAGE"] = $parserLog->html_cut(
1540 $parserLog->convert(
1541 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"],
1546 "ANCHOR" =>
"Y",
"BIU" =>
"Y",
1547 "IMG" =>
"Y",
"LOG_IMG" =>
"N",
1548 "QUOTE" =>
"Y",
"LOG_QUOTE" =>
"N",
1549 "CODE" =>
"Y",
"LOG_CODE" =>
"N",
1550 "FONT" =>
"Y",
"LOG_FONT" =>
"N",
1554 && !empty(
$arFields[
"ADDITIONAL_DATA"][
"USE_SMILES"])
1555 ?
$arFields[
"ADDITIONAL_DATA"][
"USE_SMILES"]
1558 "NL2BR" =>
"Y",
"MULTIPLE_BR" =>
"N",
1559 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N",
1567 $parser = (is_object($parser) ? $parser : (is_object($parserLog) ? $parserLog :
new logTextParser(
false,
$arParams[
"PATH_TO_SMILE"])));
1568 if (get_class($parser) ===
"forumTextParser")
1570 $parser->arUserfields =
$arFields[
"UF"] ?? [];
1572 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"],
1576 "ANCHOR" =>
"Y",
"BIU" =>
"Y",
1577 "IMG" =>
"Y",
"QUOTE" =>
"Y",
1578 "CODE" =>
"Y",
"FONT" =>
"Y",
1582 && !empty(
$arFields[
"ADDITIONAL_DATA"][
"USE_SMILES"])
1583 ?
$arFields[
"ADDITIONAL_DATA"][
"USE_SMILES"]
1586 "NL2BR" =>
"Y",
"VIDEO" =>
"Y",
1587 "LOG_VIDEO" =>
"N",
"SHORT_ANCHOR" =>
"Y",
1595 $arResult[
"EVENT_FORMATTED"][
"PARSED_FILES"] = $parser->arFilesIDParsed;
1600 $arResult[
"EVENT_FORMATTED"][
"MESSAGE"],
1605 "ANCHOR" =>
"Y",
"BIU" =>
"Y",
1606 "IMG" =>
"Y",
"QUOTE" =>
"Y",
1607 "CODE" =>
"Y",
"FONT" =>
"Y",
1611 && !empty(
$arFields[
"ADDITIONAL_DATA"][
"USE_SMILES"])
1612 ?
$arFields[
"ADDITIONAL_DATA"][
"USE_SMILES"]
1615 "NL2BR" =>
"Y",
"VIDEO" =>
"Y",
1616 "LOG_VIDEO" =>
"N",
"SHORT_ANCHOR" =>
"Y",
1638 $arLog[
"PARAMS"] <>
''
1639 && unserialize($arLog[
"PARAMS"], [
'allowed_classes' =>
false ])
1642 $arTmp = unserialize($arLog[
"PARAMS"], [
'allowed_classes' =>
false ]);
1644 array_key_exists(
"PATH_TO_MESSAGE",
$arTmp)
1645 &&
$arTmp[
"PATH_TO_MESSAGE"] <>
''
1679 static $arAlbumName =
array();
1691 "EVENT_FORMATTED" =>
array(),
1707 $arFieldsParams = explode(
"&",
$arFields[
"PARAMS"]);
1708 if (is_array($arFieldsParams) &&
count($arFieldsParams) > 0)
1710 foreach ($arFieldsParams as
$tmp)
1712 list(
$key, $value) = explode(
"=",
$tmp);
1713 if (
$key ===
"count")
1726 $count_tmp = intval(
$count);
1728 $album_default =
GetMessage(
"SONET_GL_EVENT_TITLE_PHOTO_ALBUM");
1729 $album_default_24 =
GetMessage(
"SONET_GL_EVENT_TITLE_PHOTO_ALBUM_24");
1730 $album_default_24_mobile =
GetMessage(
"SONET_GL_EVENT_TITLE_PHOTO_ALBUM_24_MOBILE");
1732 $section_name =
false;
1735 && CModule::IncludeModule(
'iblock')
1738 if (array_key_exists(
$arFields[
"SOURCE_ID"], $arAlbumName))
1739 $section_name = $arAlbumName[
$arFields[
"SOURCE_ID"]];
1742 $rsSection = CIBlockSection::GetByID(
$arFields[
"SOURCE_ID"]);
1743 if ($arSection = $rsSection->GetNext())
1745 $section_name = $arSection[
"NAME"];
1746 $arAlbumName[
$arFields[
"SOURCE_ID"]] = $arSection[
"NAME"];
1748 if(defined(
"BX_COMP_MANAGED_CACHE"))
1750 $CACHE_MANAGER->RegisterTag(
"iblock_id_".$arSection[
"IBLOCK_ID"]);
1762 $album_tmp = ($section_name ? $album_default.
' <a href="'.
$arFields[
"URL"].
'">'.$section_name.
'</a>' :
'<a href="'.$arFields[
"URL"].
'">'.$album_default.
'</a>');
1763 $album_tmp_24 = ($section_name ? $album_default_24.
': <a href="'.
$arFields[
"URL"].
'">'.$section_name.
'</a>' :
'<a href="'.$arFields[
"URL"].
'">'.$album_default_24.
'</a>');
1764 $album_tmp_24_mobile = ($section_name ? $album_default_24_mobile.
': '.$section_name : $album_default_24_mobile);
1768 $album_tmp = ($section_name ? $album_default.
' '.$section_name : $album_default);
1769 $album_tmp_24 = ($section_name ? $album_default_24.
': ' . $section_name : $album_default_24);
1770 $album_tmp_24_mobile = ($section_name ? $album_default_24_mobile.
': '.$section_name : $album_default_24_mobile);
1777 $title_tmp_24 =
GetMessage(
"SONET_GL_EVENT_TITLE_PHOTO_24_MOBILE");
1780 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_PHOTO");
1781 switch (
$arFields[
"CREATED_BY_PERSONAL_GENDER"])
1792 $title_tmp_24 =
GetMessage(
"SONET_GL_EVENT_TITLE_PHOTO_24".$suffix);
1805 (is_string(
$arResult[
"ENTITY"][
"FORMATTED"]) ?
$arResult[
"ENTITY"][
"FORMATTED"] :
''),
1806 ($bMail ?
$arResult[
"CREATED_BY"][
"FORMATTED"] :
"")
1813 $title_24 = str_replace(
1821 ((
$arParams[
"MOBILE"] ??
null) ===
"Y" ? $album_tmp_24_mobile : $album_tmp_24),
1823 (is_string(
$arResult[
"ENTITY"][
"FORMATTED"]) ?
$arResult[
"ENTITY"][
"FORMATTED"] :
''),
1824 ($bMail ?
$arResult[
"CREATED_BY"][
"FORMATTED"] :
"")
1833 "TITLE_24" => $title_24,
1838 "TITLE_24" => $title_24,
1840 "IS_MESSAGE_SHORT" =>
true,
1855 while ($arRight = $dbRight->Fetch())
1857 $arRights[] = $arRight[
"GROUP_CODE"];
1861 if (intval($iMoreCount) > 0)
1863 $arResult[
"EVENT_FORMATTED"][
"DESTINATION_MORE"] = $iMoreCount;
1890 "EVENT_FORMATTED" =>
array(),
1895 $album_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_PHOTO_ALBUM");
1899 if (
$arTmp && array_key_exists(
"SECTION_NAME",
$arTmp))
1903 && array_key_exists(
"SECTION_URL",
$arTmp)
1904 &&
$arTmp[
"SECTION_URL"] <>
''
1910 ModuleManager::isModuleInstalled(
'extranet')
1911 || (mb_strpos(
$arTmp[
"SECTION_URL"],
"#GROUPS_PATH#") !==
false)
1915 $arTmp[
"SECTION_URL"] = str_replace(
"#GROUPS_PATH#", COption::GetOptionString(
"socialnetwork",
"workgroups_page",
"/workgroups/",
SITE_ID),
$arTmp[
"SECTION_URL"]);
1920 ?
' '.htmlspecialcharsbx(
$arTmp[
"SECTION_NAME"])
1926 $album_tmp .=
' '.htmlspecialcharsbx(
$arTmp[
"SECTION_NAME"]);
1932 array(
"#ALBUM#",
"#ENTITY#",
"#CREATED_BY#"),
1936 ?
GetMessage(
"SONET_GL_EVENT_TITLE_PHOTOPHOTO_MOBILE")
1937 :
GetMessage(
"SONET_GL_EVENT_TITLE_PHOTOPHOTO")
1950 "IS_MESSAGE_SHORT" =>
"Y",
1957 while ($arRight = $dbRight->Fetch())
1959 $arRights[] = $arRight[
"GROUP_CODE"];
1963 if ((
int)$iMoreCount > 0)
1965 $arResult[
"EVENT_FORMATTED"][
"DESTINATION_MORE"] = $iMoreCount;
1987 "EVENT_FORMATTED" => [],
2002 && array_key_exists(
"URL", $arLog)
2003 && $arLog[
"URL"] <>
''
2004 ?
'<a href="'.$arLog[
"URL"].
'">'.$arLog[
"TITLE"].
'</a>'
2010 array_key_exists(
"PARAMS", $arLog)
2011 && $arLog[
"PARAMS"] <>
''
2014 $arTmp = unserialize($arLog[
"PARAMS"], [
'allowed_classes' =>
false ]);
2015 if (
$arTmp && array_key_exists(
"SECTION_NAME",
$arTmp))
2016 $album_name =
$arTmp[
"SECTION_NAME"];
2022 :
GetMessage(
"SONET_GL_EVENT_TITLE_PHOTO_COMMENT")
2026 array(
"#TITLE#",
"#ENTITY#",
"#CREATED_BY#",
"#ALBUM#"),
2027 array($photo_tmp,
$arResult[
"ENTITY"][
"FORMATTED"], ($bMail ?
$arResult[
"CREATED_BY"][
"FORMATTED"] :
""), $album_name),
2032 "TITLE" => ($bMail ||
$arParams[
"USE_COMMENT"] !==
"Y" ?
$title :
""),
2044 static $parserLog =
false;
2045 if (CModule::IncludeModule(
"forum"))
2048 "HTML" =>
"Y",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
2049 "IMG" =>
"Y",
"LOG_IMG" =>
"N",
2050 "QUOTE" =>
"Y",
"LOG_QUOTE" =>
"N",
2051 "CODE" =>
"Y",
"LOG_CODE" =>
"N",
2052 "FONT" =>
"Y",
"LOG_FONT" =>
"N",
2056 "MULTIPLE_BR" =>
"N",
2057 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N",
2059 "USER" => (
$arParams[
"IM"] ==
"Y" ?
"N" :
"Y")
2065 $parserLog->arUserfields =
$arFields[
"UF"] ?? [];
2066 $parserLog->pathToUser = $parserLog->userPath =
$arParams[
"PATH_TO_USER"];
2067 $parserLog->bMobile = ((
$arParams[
"MOBILE"] ??
null) ===
"Y");
2069 $arResult[
'EVENT_FORMATTED'][
'MESSAGE'] = Mention::clear(
$arResult[
'EVENT_FORMATTED'][
'MESSAGE']);
2074 "HTML" =>
"Y",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
2075 "IMG" =>
"Y",
"LOG_IMG" =>
"N",
2076 "QUOTE" =>
"Y",
"LOG_QUOTE" =>
"N",
2077 "CODE" =>
"Y",
"LOG_CODE" =>
"N",
2078 "FONT" =>
"Y",
"LOG_FONT" =>
"N",
2082 "MULTIPLE_BR" =>
"N",
2083 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N"
2097 if (CModule::IncludeModule(
"forum"))
2098 $arResult[
"EVENT_FORMATTED"][
"SHORT_MESSAGE"] = $parserLog->html_cut(
2103 $arResult[
"EVENT_FORMATTED"][
"SHORT_MESSAGE"] = $parserLog->html_cut(
2125 "EVENT_FORMATTED" =>
array(
2128 || (
$arParams[
"USE_COMMENT"] ??
null) !==
"Y"
2129 ?
GetMessage(
"SONET_GL_COMMENT_TITLE_PHOTO_ALBUM")
2138 && (
$arParams[
"USE_COMMENT"] ??
null) !==
"Y"
2146 static $parserLog =
false;
2147 if (CModule::IncludeModule(
"forum"))
2150 "HTML" =>
"N",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
2151 "IMG" =>
"Y",
"LOG_IMG" =>
"N",
2152 "QUOTE" =>
"Y",
"LOG_QUOTE" =>
"N",
2153 "CODE" =>
"Y",
"LOG_CODE" =>
"N",
2154 "FONT" =>
"Y",
"LOG_FONT" =>
"N",
2158 "MULTIPLE_BR" =>
"N",
2159 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N",
2161 "USER" => ((
$arParams[
"IM"] ??
null) ===
"Y" ?
"N" :
"Y")
2167 $parserLog->arUserfields =
$arFields[
"UF"] ?? [];
2168 $parserLog->pathToUser = $parserLog->userPath =
$arParams[
"PATH_TO_USER"];
2169 $parserLog->bMobile = ((
$arParams[
"MOBILE"] ??
null) ===
"Y");
2171 $arResult[
'EVENT_FORMATTED'][
'MESSAGE'] = Mention::clear(
$arResult[
'EVENT_FORMATTED'][
'MESSAGE']);
2176 "HTML" =>
"Y",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
2177 "IMG" =>
"Y",
"LOG_IMG" =>
"N",
2178 "QUOTE" =>
"Y",
"LOG_QUOTE" =>
"N",
2179 "CODE" =>
"Y",
"LOG_CODE" =>
"N",
2180 "FONT" =>
"Y",
"LOG_FONT" =>
"N",
2184 "MULTIPLE_BR" =>
"N",
2185 "VIDEO" =>
"Y",
"LOG_VIDEO" =>
"N"
2212 "EVENT_FORMATTED" =>
array(),
2227 ModuleManager::isModuleInstalled(
'extranet')
2228 || (mb_strpos(
$arFields[
"URL"],
"#GROUPS_PATH#") !==
false)
2232 $arFields[
"URL"] = str_replace(
"#GROUPS_PATH#", COption::GetOptionString(
"socialnetwork",
"workgroups_page",
"/workgroups/",
SITE_ID),
$arFields[
"URL"]);
2235 $file_tmp =
'<a href="'.$arFields[
"URL"].
'">'.
$arFields[
"TITLE"].
'</a>';
2244 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_FILE");
2246 switch (
$arFields[
"CREATED_BY_PERSONAL_GENDER"])
2257 $title_tmp_24 =
GetMessage(
"SONET_GL_EVENT_TITLE_FILE_24".$suffix);
2261 array(
"#TITLE#",
"#ENTITY#",
"#CREATED_BY#"),
2266 if ((
$arParams[
"MOBILE"] ??
null) ==
"Y")
2268 "TITLE_24" =>
GetMessage(
"SONET_GL_EVENT_TITLE_FILE_24_MOBILE"),
2273 "TITLE" => ($bMail ?
$title :
""),
2274 "MESSAGE_TITLE_24" => $title_tmp_24,
2279 $arResult[
"EVENT_FORMATTED"][
"IS_MESSAGE_SHORT"] =
true;
2284 && array_key_exists(
"PARAMS",
$arFields)
2288 $arFieldsParams = explode(
"&",
$arFields[
"PARAMS"]);
2289 if (is_array($arFieldsParams) &&
count($arFieldsParams) > 0)
2291 foreach ($arFieldsParams as
$tmp)
2293 list(
$key, $value) = explode(
"=",
$tmp);
2294 if (
$key ==
"forum_id")
2313 while ($arRight = $dbRight->Fetch())
2314 $arRights[] = $arRight[
"GROUP_CODE"];
2317 if (intval($iMoreCount) > 0)
2318 $arResult[
"EVENT_FORMATTED"][
"DESTINATION_MORE"] = $iMoreCount;
2339 "EVENT_FORMATTED" =>
array(),
2352 && array_key_exists(
"URL", $arLog)
2353 && $arLog[
"URL"] <>
''
2355 $file_tmp =
'<a href="'.$arLog[
"URL"].
'">'.$arLog[
"TITLE"].
'</a>';
2357 $file_tmp = $arLog[
"TITLE"];
2362 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_FILE_COMMENT");
2365 array(
"#TITLE#",
"#ENTITY#",
"#CREATED_BY#"),
2391 "SHORT_ANCHOR" =>
"Y"
2424 "EVENT_FORMATTED" =>
array(),
2435 $task_tmp =
'<a href="'.$arFields[
"URL"].
'">'.
$arFields[
"TITLE"].
'</a>';
2439 $title_tmp = str_replace(
2447 array(
"#TASK#",
"#ENTITY#",
"#CREATED_BY#"),
2477 if (CModule::IncludeModule(
'tasks'))
2479 return \Bitrix\Tasks\Integration\SocialNetwork\UI\Task::formatFeedEntry(
$arFields,
$arParams);
2497 "CREATED_BY" =>
array(),
2498 "ENTITY" =>
array(),
2499 "EVENT_FORMATTED" =>
array(),
2523 $arFieldsTooltip =
array(
2526 "LAST_NAME" =>
$arFields[
"~USER_LAST_NAME"],
2527 "SECOND_NAME" =>
$arFields[
"~USER_SECOND_NAME"],
2542 if (!is_array($arSocNetLogGroups))
2544 $arSocNetLogGroups =
array();
2547 if (array_key_exists(
$arFields[
"MESSAGE"], $arSocNetLogGroups))
2549 $arGroup = $arSocNetLogGroups[
$arFields[
"MESSAGE"]];
2553 $rsGroup = CSocNetGroup::GetList(
2554 array(
"ID" =>
"DESC"),
2560 if ($arGroup = $rsGroup->GetNext())
2562 if (!empty($arGroup[
'NAME']))
2564 $arGroup[
'NAME'] = Emoji::decode($arGroup[
'NAME']);
2566 if (!empty($arGroup[
'DESCRIPTION']))
2568 $arGroup[
'DESCRIPTION'] = Emoji::decode($arGroup[
'DESCRIPTION']);
2575 if (!array_key_exists($arGroup[
"ID"], $arSocNetLogGroups))
2577 $arSocNetLogGroups[$arGroup[
"ID"]] = $arGroup;
2578 if(defined(
"BX_COMP_MANAGED_CACHE"))
2588 $group_tmp = $arGroup[
"NAME"].$suffix;
2593 $group_tmp =
'<a href="'.$url.
'">'.$arGroup[
"NAME"].$suffix.
'</a>';
2598 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_SYSTEM_GROUPS_".mb_strtoupper(
$arFields[
"TITLE"]).
"_MAIL");
2602 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_SYSTEM_GROUPS_".mb_strtoupper(
$arFields[
"TITLE"]).(trim(
$arFields[
"USER_PERSONAL_GENDER"]) <>
'' ?
"_".
$arFields[
"USER_PERSONAL_GENDER"] :
""));
2603 $title_tmp_24 =
GetMessage(
"SONET_GL_EVENT_TITLE_SYSTEM_GROUPS_".mb_strtoupper(
$arFields[
"TITLE"]).
"_24".(trim(
$arFields[
"USER_PERSONAL_GENDER"]) <>
'' ?
"_".
$arFields[
"USER_PERSONAL_GENDER"] :
""));
2607 array(
"#GROUP_NAME#",
"#ENTITY#"),
2624 $classname =
"join-group";
2626 case "exclude_user":
2628 $classname =
"leave-group";
2636 "TITLE_24" => $title_tmp_24,
2638 "IS_MESSAGE_SHORT" =>
true,
2639 "DESTINATION" =>
array(
2641 "STYLE" =>
"sonetgroups",
2642 "TITLE" => $group_tmp
2645 "STYLE" => $classname
2675 $bActiveUsers =
false;
2679 $dbUser = CUser::GetByID(
$arFields[
"MESSAGE"]);
2680 if ($arUser = $dbUser->Fetch())
2682 if(defined(
"BX_COMP_MANAGED_CACHE"))
2694 $dbUser2 = CUser::GetByID(
$arFields[
"ENTITY_ID"]);
2695 if ($arUser2 = $dbUser2->Fetch())
2697 if(defined(
"BX_COMP_MANAGED_CACHE"))
2699 $CACHE_MANAGER->RegisterTag(
"USER_NAME_".intval($arUser2[
"ID"]));
2703 $bActiveUsers =
true;
2713 "CREATED_BY" =>
array(),
2714 "ENTITY" =>
array(),
2715 "EVENT_FORMATTED" =>
array(),
2718 $suffix = (is_array(
$GLOBALS[
"arExtranetUserID"]) && in_array($secondUserID,
$GLOBALS[
"arExtranetUserID"]) ?
GetMessage(
"SONET_LOG_EXTRANET_SUFFIX") :
"");
2731 $arFieldsTooltip =
array(
2732 "ID" => $secondUserID,
2734 "LAST_NAME" =>
$arFields[
"~USER_LAST_NAME"],
2735 "SECOND_NAME" =>
$arFields[
"~USER_SECOND_NAME"],
2738 $oldNameTemplate =
$arParams[
"NAME_TEMPLATE"];
2741 $arParams[
"NAME_TEMPLATE"] = $oldNameTemplate;
2747 $suffix = (is_array(
$GLOBALS[
"arExtranetUserID"]) && in_array($messageUserID,
$GLOBALS[
"arExtranetUserID"]) ?
GetMessage(
"SONET_LOG_EXTRANET_SUFFIX") :
"");
2753 $arUser[
"NAME"] <>
''
2754 || $arUser[
"LAST_NAME"] <>
''
2755 ? $arUser[
"NAME"].
" ".$arUser[
"LAST_NAME"].$suffix
2756 : $arUser[
"LOGIN"].$suffix
2761 $suffix = (is_array(
$GLOBALS[
"arExtranetUserID"]) && in_array($messageUserID,
$GLOBALS[
"arExtranetUserID"]) ?
GetMessage(
"SONET_LOG_EXTRANET_SUFFIX") :
"");
2763 $oldNameTemplate =
$arParams[
"NAME_TEMPLATE"];
2766 $anchor_id = RandString(8);
2768 $user_tmp .=
'<span id="anchor_'.$anchor_id.
'" bx-tooltip-user-id="'.$arUser[
"ID"].
'">'.CUser::FormatName(
$arParams[
"NAME_TEMPLATE"], $arUser, (
$arParams[
"SHOW_LOGIN"] !==
"N" ?
true :
false)).
'</span>';
2769 $arParams[
"NAME_TEMPLATE"] = $oldNameTemplate;
2774 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_SYSTEM_FRIENDS_".mb_strtoupper(
$arFields[
"TITLE"]).
"_MAIL");
2778 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_SYSTEM_FRIENDS_".mb_strtoupper(
$arFields[
"TITLE"]).(trim(
$arFields[
"USER_PERSONAL_GENDER"]) <>
'' ?
"_".
$arFields[
"USER_PERSONAL_GENDER"]:
""));
2779 $title_tmp_24 =
GetMessage(
"SONET_GL_EVENT_TITLE_SYSTEM_FRIENDS_".mb_strtoupper(
$arFields[
"TITLE"]).
"_24".(trim(
$arFields[
"USER_PERSONAL_GENDER"]) <>
'' ?
"_".
$arFields[
"USER_PERSONAL_GENDER"] :
""));
2783 array(
"#USER_NAME#",
"#ENTITY#"),
2795 $friends_page = COption::GetOptionString(
"socialnetwork",
"friends_page",
false,
SITE_ID);
2796 if ($friends_page <>
'')
2798 $arFields[
"URL"] = str_replace(
array(
"#user_id#",
"#USER_ID#"), $secondUserID, $friends_page);
2807 $classname =
"join-group";
2810 $classname =
"leave-group";
2818 "TITLE_24" => $title_tmp_24,
2820 "IS_MESSAGE_SHORT" =>
true,
2821 "DESTINATION" =>
array(
2824 "TITLE" => $user_tmp,
2825 "URL" => str_replace(
array(
"#user_id#",
"#USER_ID#",
"#id#",
"#ID#"),
$arFields[
"MESSAGE"],
$arParams[
"~PATH_TO_USER"])
2828 "STYLE" => $classname
2854 "CREATED_BY" =>
array(),
2855 "ENTITY" =>
array(),
2856 "EVENT_FORMATTED" =>
array(),
2871 if (in_array(
$arFields[
"TITLE"],
array(
"moderate",
"unmoderate",
"join",
"unjoin")))
2873 if (mb_strpos(
$arFields[
"MESSAGE"],
",") !==
false)
2877 "IMAGE_ID" =>
$arFields[
"GROUP_IMAGE_ID"]
2885 $dbUser = CUser::GetByID(
$arFields[
"MESSAGE"]);
2886 if ($arUser = $dbUser->Fetch())
2888 $arFieldsTooltip =
array(
2889 "ID" => $arUser[
"ID"],
2890 "NAME" => $arUser[
"NAME"],
2891 "LAST_NAME" => $arUser[
"LAST_NAME"],
2892 "SECOND_NAME" => $arUser[
"SECOND_NAME"],
2893 "LOGIN" => $arUser[
"LOGIN"],
2895 $oldNameTemplate =
$arParams[
"NAME_TEMPLATE"];
2898 $arParams[
"NAME_TEMPLATE"] = $oldNameTemplate;
2909 $arFieldsTooltip =
array(
2911 "NAME" =>
$arFields[
"~CREATED_BY_NAME"],
2912 "LAST_NAME" =>
$arFields[
"~CREATED_BY_LAST_NAME"],
2913 "SECOND_NAME" =>
$arFields[
"~CREATED_BY_SECOND_NAME"],
2914 "LOGIN" =>
$arFields[
"~CREATED_BY_LOGIN"],
2916 $oldNameTemplate =
$arParams[
"NAME_TEMPLATE"];
2919 $arParams[
"NAME_TEMPLATE"] = $oldNameTemplate;
2927 $arUsersID = explode(
",",
$arFields[
"MESSAGE"]);
2935 $dbUser = CUser::GetList(
2939 "ID" => implode(
" | ", $arUsersID)
2942 while($arUser = $dbUser->Fetch())
2944 $suffix = (is_array(
$GLOBALS[
"arExtranetUserID"]) && in_array($arUser[
"ID"],
$GLOBALS[
"arExtranetUserID"]) ?
GetMessage(
"SONET_LOG_EXTRANET_SUFFIX") :
"");
2951 $arUser[
"NAME"] <>
''
2952 || $arUser[
"LAST_NAME"] <>
''
2954 $user_tmp .= $arUser[
"NAME"].
" ".$arUser[
"LAST_NAME"].$suffix;
2956 $user_tmp .= $arUser[
"LOGIN"].$suffix;
2963 $dbUser = CUser::GetList(
2967 "ID" => implode(
" | ", $arUsersID)
2969 array(
"FIELDS" =>
array(
"ID",
"NAME",
"LAST_NAME",
"SECOND_NAME",
"LOGIN",
"PERSONAL_GENDER"))
2971 while($arUser = $dbUser->Fetch())
2973 if (defined(
"BX_COMP_MANAGED_CACHE"))
2978 $suffix = (is_array(
$GLOBALS[
"arExtranetUserID"]) && in_array($arUser[
"ID"],
$GLOBALS[
"arExtranetUserID"]) ?
GetMessage(
"SONET_LOG_EXTRANET_SUFFIX") :
"");
2984 $oldNameTemplate =
$arParams[
"NAME_TEMPLATE"];
2987 $anchor_id = RandString(8);
2989 $user_tmp .=
'<a class="" id="anchor_'.$anchor_id.
'" href="'.str_replace(
array(
"#user_id#",
"#USER_ID#",
"#id#",
"#ID#"), $arUser[
"ID"],
$arParams[
"~PATH_TO_USER"]).
'" bx-tooltip-user-id="'.$arUser[
"ID"].
'">'.CUser::FormatName(
$arParams[
"NAME_TEMPLATE"], $arUser, (
$arParams[
"SHOW_LOGIN"] !=
"N" ?
true :
false)).
'</a>';
2991 $arParams[
"NAME_TEMPLATE"] = $oldNameTemplate;
2994 $arLastUser = $arUser;
3000 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_SYSTEM_".mb_strtoupper(
$arFields[
"TITLE"]).
"_".(
$count > 1 ?
"2" :
"1").
"_MAIL");
3003 if (in_array(
$arFields[
"TITLE"],
array(
"moderate",
"unmoderate",
"join",
"unjoin")))
3009 $suffix = $arLastUser[
"PERSONAL_GENDER"];
3014 $suffix =
$arFields[
"CREATED_BY_PERSONAL_GENDER"];
3016 $title_tmp =
GetMessage(
"SONET_GL_EVENT_TITLE_SYSTEM_".mb_strtoupper(
$arFields[
"TITLE"]).
"_".(
$count > 1 ?
"2" :
"1".(trim($suffix) <>
'' ?
"_".$suffix :
"")));
3018 $title_tmp_24 =
GetMessage(
"SONET_GL_EVENT_TITLE_SYSTEM_".mb_strtoupper(
$arFields[
"TITLE"]).
"_".(
$count > 1 ?
"2_24" :
"1_24".(trim($suffix) <>
'' ?
"_".$suffix :
"")));
3025 $group_tmp =
'<a href="'.$url.
'">'.
$arFields[
"GROUP_NAME"].
'</a>'.$suffix;
3027 $group_tmp =
$arFields[
"GROUP_NAME"].$suffix;
3030 array(
"#USER_NAME#",
"#ENTITY#",
"#GROUP_NAME#"),
3035 $title_tmp_24 = str_replace(
3036 array(
"#USER_NAME#"),
3053 $classname =
"join-group";
3056 case "exclude_group":
3058 $classname =
"leave-group";
3064 if ((
$arParams[
"MOBILE"] ??
null) ==
"Y")
3066 "TITLE_24" => $title_tmp_24,
3067 "DESTINATION" =>
array(
3070 "TITLE" =>
$arFields[
"GROUP_NAME"].$suffix,
3074 "STYLE" => $classname
3080 "IS_MESSAGE_SHORT" =>
true,
3081 "TITLE_24" => $title_tmp_24,
3082 "DESTINATION" =>
array(
3084 "STYLE" =>
"sonetgroups",
3085 "TITLE" =>
$arFields[
"GROUP_NAME"].$suffix,
3089 "STYLE" => $classname
3117 if (
$CACHE_MANAGER->Read(86400*365,
"socnet_log_".$type.
"_id",
"log"))
3127 $max_viewed_id =
null,
3129 $bSetViewTime =
false,
3135 $user_id = intval($user_id);
3143 "UserID" => $user_id,
3144 "MaxID" => intval($max_id),
3145 "MaxViewedID" => intval($max_viewed_id),
3146 "Count" => intval(
$count),
3147 "LastVisitTS" => time(),
3148 "LastViewTS" => ($bSetViewTime ? time() : intval($LastViewTS))
3156 if (
$CACHE_MANAGER->Read(86400*365,
"socnet_log_user_".$type.
"_".intval($user_id)))
3174 if (!CModule::IncludeModule(
"forum"))
3179 $ufFileID =
array();
3189 array(
"ID",
"SOURCE_ID",
"SITE_ID",
"TITLE",
"PARAMS")
3197 $userID =
$USER->GetID();
3198 $notificationSiteId =
false;
3200 $arLogSites =
array();
3202 while ($arLogSite = $rsLogSite->Fetch())
3204 $arLogSites[] = $arLogSite[
"LID"];
3206 !$notificationSiteId
3208 !CModule::IncludeModule(
'extranet')
3209 || $arLogSite[
"LID"] != CExtranet::GetExtranetSiteID()
3213 $notificationSiteId = $arLogSite[
"LID"];
3217 $bCurrentUserIsAdmin = CSocNetUser::IsCurrentUserModuleAdmin($arLogSites);
3221 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_GROUP,
$arFields[
"ENTITY_ID"],
"forum",
"full", $bCurrentUserIsAdmin))
3222 $strPermission =
"Y";
3224 $strPermission =
"M";
3226 $strPermission =
"I";
3228 $strPermission =
"E";
3232 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_USER,
$arFields[
"ENTITY_ID"],
"forum",
"full", $bCurrentUserIsAdmin))
3233 $strPermission =
"Y";
3235 $strPermission =
"M";
3237 $strPermission =
"I";
3239 $strPermission =
"E";
3242 $arFieldsMessage =
array(
3243 "POST_MESSAGE" =>
$arFields[
"TEXT_MESSAGE"],
3244 "USE_SMILES" =>
"Y",
3245 "PERMISSION_EXTERNAL" =>
"Q",
3246 "PERMISSION" => $strPermission,
3254 if (array_key_exists(
"UF_SONET_COM_DOC",
$arTmp))
3260 $arFieldsMessage[
"FILES"] =
array();
3261 foreach(
$arTmp[
"UF_SONET_COM_FILE"] as $file_id)
3263 $arFieldsMessage[
"FILES"][$file_id] =
array(
"FILE_ID" => $file_id);
3266 if (!empty($arFieldsMessage[
"FILES"]))
3268 $arFileParams =
array(
"FORUM_ID" => $arMessage[
"FORUM_ID"],
"TOPIC_ID" => $arMessage[
"TOPIC_ID"]);
3269 if (CForumFiles::CheckFields($arFieldsMessage[
"FILES"], $arFileParams,
"NOT_CHECK_DB"))
3271 CForumFiles::Add(array_keys($arFieldsMessage[
"FILES"]), $arFileParams);
3277 $messageID =
ForumAddMessage(
"REPLY", $arMessage[
"FORUM_ID"], $arMessage[
"TOPIC_ID"], 0, $arFieldsMessage, $sError, $sNote);
3278 unset(
$GLOBALS[
"UF_FORUM_MESSAGE_DOC"]);
3284 while ($arAddedMessageFiles = $dbAddedMessageFiles->Fetch())
3286 $ufFileID[] = $arAddedMessageFiles[
"FILE_ID"];
3289 $ufDocID =
$USER_FIELD_MANAGER->GetUserFieldValue(
"FORUM_MESSAGE",
"UF_FORUM_MESSAGE_DOC", $messageID, LANGUAGE_ID);
3294 && CModule::IncludeModule(
"im")
3295 && intval($arMessage[
"AUTHOR_ID"]) > 0
3296 && $arMessage[
"AUTHOR_ID"] != $userID
3299 $rsUnFollower = CSocNetLogFollow::GetList(
3301 "USER_ID" => $arMessage[
"AUTHOR_ID"],
3302 "CODE" =>
"L".$arLog[
"ID"],
3308 $arUnFollower = $rsUnFollower->Fetch();
3311 $arMessageFields =
array(
3313 "TO_USER_ID" => $arMessage[
"AUTHOR_ID"],
3314 "FROM_USER_ID" => $userID,
3315 "LOG_ID" => $arLog[
"ID"],
3317 "NOTIFY_MODULE" =>
"forum",
3318 "NOTIFY_EVENT" =>
"comment",
3321 $arParams[
"TITLE"] = str_replace(Array(
"\r\n",
"\n"),
" ", $arLog[
"TITLE"]);
3326 if ($arLog[
"PARAMS"] <>
'')
3331 && array_key_exists(
"PATH_TO_MESSAGE",
$arTmp)
3333 $arParams[
"URL"] = CComponentEngine::MakePathFromTemplate(
3334 $arTmp[
"PATH_TO_MESSAGE"],
3335 array(
"MID" => $messageID)
3340 $serverName =
$arTmp[
"SERVER_NAME"];
3343 $arMessageFields[
"NOTIFY_TAG"] =
"FORUM|COMMENT|".$messageID;
3344 $arMessageFields[
"NOTIFY_MESSAGE"] = fn (?
string $languageId =
null) =>
3346 "SONET_FORUM_IM_COMMENT",
3358 $arMessageFields[
"NOTIFY_MESSAGE_OUT"] = fn (?
string $languageId =
null) =>
3360 "SONET_FORUM_IM_COMMENT",
3366 . (
$url <> '' ?
" (".$serverName.$url.
")" :
"")
3370 CIMNotify::Add($arMessageFields);
3376 $sError =
GetMessage(
"SONET_ADD_COMMENT_SOURCE_ERROR");
3381 $sError =
GetMessage(
"SONET_ADD_COMMENT_SOURCE_ERROR");
3385 "SOURCE_ID" => $messageID,
3386 "RATING_TYPE_ID" =>
"FORUM_POST",
3387 "RATING_ENTITY_ID" => $messageID,
3391 "FILE" => $ufFileID,
3401 if (!CModule::IncludeModule(
"forum"))
3416 $ufFileID =
array();
3422 $arFieldsMessage =
array(
3423 "POST_MESSAGE" =>
$arFields[
"TEXT_MESSAGE"],
3424 "USE_SMILES" =>
"Y",
3426 "SONET_PERMS" =>
array(
"bCanFull" =>
true)
3432 if (array_key_exists(
"UF_SONET_COM_DOC",
$arTmp))
3438 $arFieldsMessage[
"FILES"] =
array();
3439 foreach(
$arTmp[
"UF_SONET_COM_FILE"] as $file_id)
3441 $arFieldsMessage[
"FILES"][$file_id] =
array(
"FILE_ID" => $file_id);
3443 if (!empty($arFieldsMessage[
"FILES"]))
3445 $arFileParams =
array(
"FORUM_ID" => $arForumMessage[
"FORUM_ID"],
"TOPIC_ID" => $arForumMessage[
"TOPIC_ID"]);
3446 if(CForumFiles::CheckFields($arFieldsMessage[
"FILES"], $arFileParams,
"NOT_CHECK_DB"))
3448 CForumFiles::Add(array_keys($arFieldsMessage[
"FILES"]), $arFileParams);
3454 $messageID =
ForumAddMessage(
"EDIT", $arForumMessage[
"FORUM_ID"], $arForumMessage[
"TOPIC_ID"],
$messageId, $arFieldsMessage, $sError, $sNote);
3455 unset(
$GLOBALS[
"UF_FORUM_MESSAGE_DOC"]);
3461 while ($arAddedMessageFiles = $dbAddedMessageFiles->Fetch())
3463 $ufFileID[] = $arAddedMessageFiles[
"FILE_ID"];
3466 $ufDocID =
$USER_FIELD_MANAGER->GetUserFieldValue(
"FORUM_MESSAGE",
"UF_FORUM_MESSAGE_DOC", $messageID, LANGUAGE_ID);
3471 $sError =
GetMessage(
"SONET_UPDATE_COMMENT_SOURCE_ERROR");
3478 "FILE" => $ufFileID,
3489 CModule::IncludeModule(
"forum")
3502 $logEventMeta[
"EVENT_ID"] ==
"forum"
3505 if (CModule::IncludeModule(
"forum"))
3513 $arRes[
"NOTES"] = $strOKMessage;
3523 if ($arForumMetaData)
3533 "SELECT" =>
array(
"FORUM_ID")
3536 if ($arMessage = $rsMessage->Fetch())
3538 $forumId = (int)$arMessage[
"FORUM_ID"];
3543 && intval($forumId) > 0
3548 $arForumMetaData[0] ==
'WF'
3549 || $arForumMetaData[0] ==
'FORUM'
3560 array(
"MESSAGE",
"RATING_ENTITY_ID")
3562 if ($arLog = $rsLog->Fetch())
3564 if ($arForumMetaData[0] ===
'WF')
3568 elseif ($arForumMetaData[0] ===
'FORUM')
3575 $arForumMetaData[0] ===
'FORUM'
3587 if ($arLog = $rsLog->Fetch())
3597 $feed = new \Bitrix\Forum\Comments\Feed(
3600 "type" => $arForumMetaData[1],
3601 "id" => intval(
$arFields[
"LOG_SOURCE_ID"]),
3602 "xml_id" => $arForumMetaData[0].
"_".
$entityId
3609 foreach($feed->getErrors() as
$error)
3623 if (!isset(
$arRes[
"NOTES"]))
3635 if (!CModule::IncludeModule(
"blog"))
3643 array(
"ID",
"SOURCE_ID",
"SITE_ID")
3652 $userID =
$USER->GetID();
3654 $arLogSites =
array();
3656 while ($arLogSite = $rsLogSite->Fetch())
3657 $arLogSites[] = $arLogSite[
"LID"];
3659 $bCurrentUserIsAdmin = CSocNetUser::IsCurrentUserModuleAdmin($arLogSites);
3665 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_GROUP,
$arFields[
"ENTITY_ID"],
"blog",
"full_post", $bCurrentUserIsAdmin))
3678 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_GROUP,
$arFields[
"ENTITY_ID"],
"blog",
"full_comment", $bCurrentUserIsAdmin))
3692 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_USER,
$arFields[
"ENTITY_ID"],
"blog",
"full_post", $bCurrentUserIsAdmin) || CMain::GetGroupRight(
"blog") >=
"W" ||
$arFields[
"USER_ID"] == $userID)
3705 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_USER,
$arFields[
"ENTITY_ID"],
"blog",
"full_comment", $bCurrentUserIsAdmin) || CMain::GetGroupRight(
"blog") >=
"W" ||
$arFields[
"USER_ID"] == $userID)
3721 $arFieldsComment = Array(
3722 "POST_ID" => $arPost[
"ID"],
3723 "BLOG_ID" => $arBlog[
"ID"],
3724 "POST_TEXT" =>
$arFields[
"TEXT_MESSAGE"],
3725 "DATE_CREATE" => ConvertTimeStamp(time()+CTimeZone::GetOffset(),
"FULL"),
3726 "AUTHOR_IP" => $UserIP[0],
3727 "AUTHOR_IP1" => $UserIP[1],
3728 "AUTHOR_ID" => $userID,
3729 "PARENT_ID" =>
false
3735 $strNotes =
GetMessage(
"SONET_GL_ADD_COMMENT_BLOG_PREMODERATE");
3738 $commentUrl = CComponentEngine::MakePathFromTemplate(
3739 htmlspecialcharsBack($path_to_post),
3741 "blog" => $arBlog[
"URL"],
3743 "user_id" => $arBlog[
"OWNER_ID"],
3748 $arFieldsComment[
"PATH"] = $commentUrl.(mb_strpos($arFieldsComment[
"PATH"],
"?") !==
false ?
"&" :
"?").
"commentId=#comment_id##com#comment_id#";
3758 BXClearCache(True,
"/".
SITE_ID.
"/blog/".$arBlog[
"URL"].
"/rss_out/".$arPost[
"POST_ID"].
"/C/");
3762 'TYPE' =>
'posts_popular',
3771 "SOURCE_ID" => $commentId,
3772 "RATING_TYPE_ID" =>
"BLOG_COMMENT",
3773 "RATING_ENTITY_ID" => $commentId,
3775 "NOTES" => $strNotes
3783 if (!CModule::IncludeModule(
"blog"))
3791 array(
"ID",
"SOURCE_ID",
"SITE_ID")
3800 $userID =
$USER->GetID();
3802 $arLogSites =
array();
3804 while ($arLogSite = $rsLogSite->Fetch())
3805 $arLogSites[] = $arLogSite[
"LID"];
3807 $bCurrentUserIsAdmin = CSocNetUser::IsCurrentUserModuleAdmin($arLogSites);
3813 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_GROUP,
$arFields[
"ENTITY_ID"],
"blog",
"full_post", $bCurrentUserIsAdmin))
3826 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_GROUP,
$arFields[
"ENTITY_ID"],
"blog",
"full_comment", $bCurrentUserIsAdmin))
3840 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_USER,
$arFields[
"ENTITY_ID"],
"blog",
"full_post", $bCurrentUserIsAdmin) || CMain::GetGroupRight(
"blog") >=
"W" ||
$arFields[
"USER_ID"] == $userID)
3853 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_USER,
$arFields[
"ENTITY_ID"],
"blog",
"full_comment", $bCurrentUserIsAdmin) || CMain::GetGroupRight(
"blog") >=
"W" ||
$arFields[
"USER_ID"] == $userID)
3869 $arFieldsComment = Array(
3870 "POST_ID" => $arPost[
"ID"],
3871 "BLOG_ID" => $arBlog[
"ID"],
3872 "POST_TEXT" =>
$arFields[
"TEXT_MESSAGE"],
3873 "DATE_CREATE" => ConvertTimeStamp(time()+CTimeZone::GetOffset(),
"FULL"),
3874 "AUTHOR_IP" => $UserIP[0],
3875 "AUTHOR_IP1" => $UserIP[1],
3876 "AUTHOR_ID" => $userID,
3877 "PARENT_ID" =>
false
3883 $strNotes =
GetMessage(
"SONET_GL_ADD_COMMENT_BLOG_PREMODERATE");
3886 $commentUrl = CComponentEngine::MakePathFromTemplate(
3887 htmlspecialcharsBack($path_to_post),
3889 "blog" => $arBlog[
"URL"],
3891 "user_id" => $arBlog[
"OWNER_ID"],
3896 $arFieldsComment[
"PATH"] = $commentUrl.(mb_strpos($arFieldsComment[
"PATH"],
"?") !==
false ?
"&" :
"?").
"commentId=#comment_id##com#comment_id#";
3906 BXClearCache(True,
"/".
SITE_ID.
"/blog/".$arBlog[
"URL"].
"/rss_out/".$arPost[
"POST_ID"].
"/C/");
3910 'TYPE' =>
'posts_popular',
3919 "SOURCE_ID" => $commentId,
3920 "RATING_TYPE_ID" =>
"BLOG_COMMENT",
3921 "RATING_ENTITY_ID" => $commentId,
3923 "NOTES" => $strNotes
3929 if (!CModule::IncludeModule(
"forum"))
3932 if (!CModule::IncludeModule(
"iblock"))
3940 array(
"ID",
"SOURCE_ID",
"PARAMS")
3946 if ($arLog[
"PARAMS"] <>
'')
3948 $arFieldsParams = explode(
"&", $arLog[
"PARAMS"]);
3949 if (is_array($arFieldsParams) &&
count($arFieldsParams) > 0)
3951 foreach ($arFieldsParams as
$tmp)
3953 list(
$key, $value) = explode(
"=",
$tmp);
3954 if (
$key ==
"forum_id")
3956 $FORUM_ID = intval($value);
3962 if ($FORUM_ID > 0 && intval($arLog[
"SOURCE_ID"]) > 0)
3971 $arSelectedFields =
array(
"IBLOCK_ID",
"ID",
"NAME",
"TAGS",
"CODE",
"IBLOCK_SECTION_ID",
"DETAIL_PAGE_URL",
3972 "CREATED_BY",
"PREVIEW_PICTURE",
"PREVIEW_TEXT",
"PROPERTY_FORUM_TOPIC_ID",
"PROPERTY_FORUM_MESSAGE_CNT");
3986 "PARAM2" => $arElement[
"ID"]
3995 if (intval($arElement[
"PREVIEW_PICTURE"]) > 0):
3996 $arImage = CFile::GetFileArray($arElement[
"PREVIEW_PICTURE"]);
3997 if (!empty($arImage))
3998 $sImage = ($arForum[
"ALLOW_IMG"] ==
"Y" ?
"[IMG]".$arImage[
"SRC"].
"[/IMG]" :
'');
4000 $sElementPreview = $arElement[
"~PREVIEW_TEXT"];
4001 if ($arForum[
"ALLOW_HTML"] !=
"Y")
4002 $sElementPreview = strip_tags($sElementPreview);
4004 $strFirstMessage = str_replace(
array(
"#IMAGE#",
"#TITLE#",
"#BODY#"),
4005 array($sImage, $arElement[
"~NAME"], $sElementPreview),
4012 $TOPIC_ID = $arMessage[
"TOPIC_ID"];
4014 if(intval($TOPIC_ID) > 0)
4018 $arFieldsMessage =
array(
4019 "POST_MESSAGE" =>
$arFields[
"TEXT_MESSAGE"],
4020 "USE_SMILES" =>
"Y",
4021 "PARAM2" => $arElement[
"ID"],
4024 $messageID =
ForumAddMessage(
"REPLY", $FORUM_ID, $TOPIC_ID, 0, $arFieldsMessage, $sError, $sNote);
4041 "SOURCE_ID" => $messageID,
4042 "RATING_TYPE_ID" =>
"FORUM_POST",
4043 "RATING_ENTITY_ID" => $messageID,
4056 if (!CModule::IncludeModule(
"iblock"))
4059 if (!CModule::IncludeModule(
"forum"))
4062 $needProperty =
array();
4063 $ELEMENT_IBLOCK_ID = intval($arElement[
"IBLOCK_ID"]);
4064 $ELEMENT_FORUM_TOPIC_ID = intval($arElement[
"PROPERTY_FORUM_TOPIC_ID_VALUE"]);
4065 $ELEMENT_FORUM_MESSAGE_CNT = intval($arElement[
"PROPERTY_FORUM_MESSAGE_CNT_VALUE"]);
4067 if ($ELEMENT_FORUM_TOPIC_ID <= 0):
4068 $db_res = CIBlockElement::GetProperty($ELEMENT_IBLOCK_ID, $arElement[
"ID"],
false,
false,
array(
"CODE" =>
"FORUM_TOPIC_ID"));
4070 $needProperty[] =
"FORUM_TOPIC_ID";
4072 if ($ELEMENT_FORUM_MESSAGE_CNT <= 0):
4073 $db_res = CIBlockElement::GetProperty($ELEMENT_IBLOCK_ID, $arElement[
"ID"],
false,
false,
array(
"CODE" =>
"FORUM_MESSAGE_CNT"));
4075 $needProperty[] =
"FORUM_MESSAGE_CNT";
4077 if (!empty($needProperty)):
4080 foreach ($needProperty as $nameProperty)
4082 $sName = trim($nameProperty ==
"FORUM_TOPIC_ID" ?
GetMessage(
"F_FORUM_TOPIC_ID") :
GetMessage(
"F_FORUM_MESSAGE_CNT"));
4083 $sName = (empty($sName) ? $nameProperty : $sName);
4085 "IBLOCK_ID" => $ELEMENT_IBLOCK_ID,
4087 "PROPERTY_TYPE" =>
"N",
4090 "CODE" => $nameProperty
4097 if ($ELEMENT_FORUM_TOPIC_ID > 0):
4099 if (!$arTopic || !is_array($arTopic) ||
count($arTopic) <= 0)
4101 CIBlockElement::SetPropertyValues($arElement[
"ID"], $ELEMENT_IBLOCK_ID, 0,
"FORUM_TOPIC_ID");
4102 $ELEMENT_FORUM_TOPIC_ID = 0;
4111 if (!CModule::IncludeModule(
"iblock"))
4114 if (!CModule::IncludeModule(
"blog"))
4117 $needProperty =
array();
4118 $ELEMENT_IBLOCK_ID = intval($arElement[
"IBLOCK_ID"]);
4119 $ELEMENT_BLOG_POST_ID = intval($arElement[
"PROPERTY_BLOG_POST_ID_VALUE"]);
4120 $ELEMENT_BLOG_COMMENT_CNT = intval($arElement[
"PROPERTY_BLOG_COMMENT_CNT_VALUE"]);
4122 if ($ELEMENT_BLOG_POST_ID <= 0):
4123 $db_res = CIBlockElement::GetProperty($ELEMENT_IBLOCK_ID, $arElement[
"ID"],
false,
false,
array(
"CODE" =>
"BLOG_POST_ID"));
4125 $needProperty[] =
"BLOG_POST_ID";
4127 if ($ELEMENT_BLOG_COMMENT_CNT <= 0):
4128 $db_res = CIBlockElement::GetProperty($ELEMENT_IBLOCK_ID, $arElement[
"ID"],
false,
false,
array(
"CODE" =>
"BLOG_COMMENT_CNT"));
4130 $needProperty[] =
"BLOG_COMMENT_CNT";
4132 if (!empty($needProperty)):
4135 foreach ($needProperty as $nameProperty)
4137 $sName = trim($nameProperty ==
"BLOG_POST_ID" ?
GetMessage(
"P_BLOG_POST_ID") :
GetMessage(
"P_BLOG_COMMENTS_CNT"));
4138 $sName = (empty($sName) ? $nameProperty : $sName);
4140 "IBLOCK_ID" => $ELEMENT_IBLOCK_ID,
4142 "PROPERTY_TYPE" =>
"N",
4145 "CODE" => $nameProperty
4152 if ($ELEMENT_BLOG_POST_ID > 0):
4154 if (!$arTopic || !is_array($arTopic) ||
count($arTopic) <= 0)
4156 CIBlockElement::SetPropertyValues($arElement[
"ID"], $ELEMENT_IBLOCK_ID, 0,
"BLOG_POST_ID");
4157 $ELEMENT_BLOG_POST_ID = 0;
4161 return $ELEMENT_BLOG_POST_ID;
4173 if (!CModule::IncludeModule(
"forum"))
4176 if ($bPostFirstMessage && $strFirstMessage ==
'')
4180 $arUserStart =
array(
4181 "ID" => intval($arElement[
"~CREATED_BY"]),
4182 "NAME" =>
$GLOBALS[
"FORUM_STATUS_NAME"][
"guest"]
4184 if ($arUserStart[
"ID"] > 0)
4189 $res[
"FORUM_USER_ID"] = intval(
$res[
"ID"]);
4192 $db_res = CUser::GetByID($arElement[
"~CREATED_BY"]);
4194 $res[
"SHOW_NAME"] = COption::GetOptionString(
"forum",
"USER_SHOW_NAME",
"Y");
4195 $res[
"USER_PROFILE"] =
"N";
4199 $arUserStart =
$res;
4200 $sName = (
$res[
"SHOW_NAME"] ==
"Y" ? trim(
$res[
"NAME"].
" ".
$res[
"LAST_NAME"]) :
"");
4201 $arUserStart[
"NAME"] = (empty($sName) ? trim(
$res[
"LOGIN"]) : $sName);
4204 $arUserStart[
"NAME"] = (empty($arUserStart[
"NAME"]) ?
$GLOBALS[
"FORUM_STATUS_NAME"][
"guest"] : $arUserStart[
"NAME"]);
4206 $DB->StartTransaction();
4208 "TITLE" => $arElement[
"~NAME"],
4209 "TAGS" => $arElement[
"~TAGS"],
4210 "FORUM_ID" => $forumID,
4211 "USER_START_ID" => $arUserStart[
"ID"],
4212 "USER_START_NAME" => $arUserStart[
"NAME"],
4213 "LAST_POSTER_NAME" => $arUserStart[
"NAME"],
4215 "XML_ID" =>
"IBLOCK_".$arElement[
"ID"]
4219 isset($arElement[
"ENTITY_TYPE"])
4221 && isset($arElement[
"ENTITY_ID"])
4222 && intval($arElement[
"ENTITY_ID"]) > 0
4225 $arFields[
"SOCNET_GROUP_ID"] = intval($arElement[
"ENTITY_ID"]);
4230 if ($bPostFirstMessage && intval($TOPIC_ID) > 0)
4232 if (COption::GetOptionString(
"forum",
"FILTER",
"Y") ==
"Y")
4237 "POST_MESSAGE" => $strFirstMessage,
4238 "AUTHOR_ID" => $arUserStart[
"ID"],
4239 "AUTHOR_NAME" => $arUserStart[
"NAME"],
4240 "FORUM_ID" => $forumID,
4241 "TOPIC_ID" => $TOPIC_ID,
4245 "PARAM2" => intval($arElement[
"ID"])
4249 if (intval($MID) <= 0)
4252 "code" =>
"message is not added 1",
4258 elseif (intval($TOPIC_ID) <= 0)
4273 if (!CModule::IncludeModule(
"blog"))
4278 $arElement[
"DETAIL_PICTURE"] = CFile::GetFileArray($arElement[
"DETAIL_PICTURE"]);
4279 $arElement[
"REAL_PICTURE"] = CFile::GetFileArray($arElement[
"PROPERTY_REAL_PICTURE_VALUE"]);
4281 if (!empty($arElement[
"TAGS"]))
4283 $arCategoryVal = explode(
",", $arElement[
"TAGS"]);
4284 foreach($arCategoryVal as
$k => $v)
4287 $arCategory[] = $id;
4292 "TITLE" => $arElement[
"NAME"],
4294 "[IMG]http://".
$_SERVER[
'HTTP_HOST'].$arElement[
"DETAIL_PICTURE"][
"SRC"].
"[/IMG]\n".
4295 "[URL=http://".
$_SERVER[
'HTTP_HOST'].$arElement[
"~DETAIL_PAGE_URL"].
"]".$arElement[
"NAME"].
"[/URL]\n".
4296 (!empty($arElement[
"TAGS"]) ? $arElement[
"TAGS"].
"\n" :
"").
4297 $arElement[
"~DETAIL_TEXT"].
"\n".
4298 "[URL=http://".
$_SERVER[
'HTTP_HOST'].$arElement[
"REAL_PICTURE"][
"SRC"].
"]".
GetMessage(
"P_ORIGINAL").
"[/URL]",
4299 "CATEGORY_ID" => implode(
",", $arCategory),
4300 "PUBLISH_STATUS" =>
"P",
4301 "PERMS_POST" =>
array(),
4302 "PERMS_COMMENT" =>
array(),
4303 "=DATE_CREATE" =>
$DB->GetNowFunction(),
4304 "=DATE_PUBLISH" =>
$DB->GetNowFunction(),
4305 "AUTHOR_ID" => (!empty($arElement[
"CREATED_BY"]) ? $arElement[
"CREATED_BY"] : 1),
4306 "BLOG_ID" => $arBlog[
"ID"],
4307 "ENABLE_TRACKBACK" =>
"N"
4322 if (!CModule::IncludeModule(
"forum"))
4326 CIBlockElement::SetPropertyValues($arElement[
"ID"], $arElement[
"IBLOCK_ID"], intval($topicID),
"FORUM_TOPIC_ID");
4327 $FORUM_MESSAGE_CNT = 1;
4331 CIBlockElement::SetPropertyValues($arElement[
"ID"], $arElement[
"IBLOCK_ID"], intval($FORUM_MESSAGE_CNT),
"FORUM_MESSAGE_CNT");
4337 if (!CModule::IncludeModule(
"blog"))
4341 CIBlockElement::SetPropertyValues($arElement[
"ID"], $arElement[
"IBLOCK_ID"], intval($postID),
"BLOG_POST_ID");
4342 $BLOG_COMMENT_CNT = 1;
4347 CIBlockElement::SetPropertyValues($arElement[
"ID"], $arElement[
"IBLOCK_ID"], intval($BLOG_COMMENT_CNT),
"BLOG_COMMENT_CNT");
4359 'TYPE' =>
'posts_popular',
4374 public static function OnBeforeSectionDrop($sectionID, $arComponentParams, $arComponentResult, &$arSectionID, &$arElementID)
4391 static $arDepartmentsStaticCache =
array();
4393 if (empty($arRights))
4398 $arDestination =
array();
4399 $arSonetGroups =
array();
4401 $bCheckPermissions = (
4402 !array_key_exists(
"CHECK_PERMISSIONS_DEST",
$arParams)
4403 ||
$arParams[
"CHECK_PERMISSIONS_DEST"] !==
"N"
4407 !array_key_exists(
"HTML_ENCODE",
$arParams)
4411 if (!function_exists(
"__DestinationRightsSort"))
4413 function __DestinationRightsSort(
$a, $b)
4420 if (preg_match(
'/^US\d+$/',
$a))
4426 if (in_array($b,
array(
"G2",
"AU")))
4431 if (preg_match(
'/^US\d+$/', $b))
4438 elseif (preg_match(
'/^CRMDEAL\d+$/',
$a))
4440 if (preg_match(
'/^CRMDEAL\d+$/', $b))
4446 preg_match(
'/^US\d+$/', $b)
4447 || in_array($b,
array(
"G2",
"AU"))
4455 elseif (preg_match(
'/^CRMCONTACT\d+$/',
$a))
4457 if (preg_match(
'/^CRMCONTACT\d+$/', $b))
4463 preg_match(
'/^US\d+$/', $b)
4464 || in_array($b,
array(
"G2",
"AU"))
4465 || preg_match(
'/^CRMDEAL\d+$/', $b)
4473 elseif (preg_match(
'/^CRMCOMPANY\d+$/',
$a))
4475 if (preg_match(
'/^CRMCOMPANY\d+$/', $b))
4481 preg_match(
'/^US\d+$/', $b)
4482 || in_array($b,
array(
"G2",
"AU"))
4483 || preg_match(
'/^CRMDEAL\d+$/', $b)
4484 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4492 elseif (preg_match(
'/^CRMLEAD\d+$/',
$a))
4494 if (preg_match(
'/^CRMLEAD\d+$/', $b))
4500 preg_match(
'/^US\d+$/', $b)
4501 || in_array($b,
array(
"G2",
"AU"))
4502 || preg_match(
'/^CRMDEAL\d+$/', $b)
4503 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4504 || preg_match(
'/^CRMCOMPANY\d+$/', $b)
4512 elseif (preg_match(
'/^CRMDYNAMIC\d+ENTITY\d+$/',
$a))
4514 if (preg_match(
'/^CRMDYNAMIC\d+ENTITY\d+$/', $b))
4520 preg_match(
'/^US\d+$/', $b)
4521 || in_array($b,
array(
"G2",
"AU"))
4522 || preg_match(
'/^CRMDEAL\d+$/', $b)
4523 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4524 || preg_match(
'/^CRMCOMPANY\d+$/', $b)
4525 || preg_match(
'/^CRMLEAD\d+$/', $b)
4533 elseif (preg_match(
'/^CRMSUSDYNAMIC\d+ENTITY\d+$/',
$a))
4535 if (preg_match(
'/^CRMSUSDYNAMIC\d+ENTITY\d+$/', $b))
4541 preg_match(
'/^US\d+$/', $b)
4542 || in_array($b,
array(
"G2",
"AU"))
4543 || preg_match(
'/^CRMDEAL\d+$/', $b)
4544 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4545 || preg_match(
'/^CRMCOMPANY\d+$/', $b)
4546 || preg_match(
'/^CRMLEAD\d+$/', $b)
4547 || preg_match(
'/^CRMDYNAMIC\d+ENTITY\d+$/', $b)
4563 preg_match(
'/^US\d+$/', $b)
4564 || in_array($b,
array(
"G2",
"AU"))
4565 || preg_match(
'/^CRMDEAL\d+$/', $b)
4566 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4567 || preg_match(
'/^CRMCOMPANY\d+$/', $b)
4568 || preg_match(
'/^CRMLEAD\d+$/', $b)
4569 || preg_match(
'/^CRMDYNAMIC\d+ENTITY\d+$/', $b)
4570 || preg_match(
'/^CRMSUSDYNAMIC\d+ENTITY\d+$/', $b)
4586 preg_match(
'/^US\d+$/', $b)
4587 || in_array($b,
array(
"G2",
"AU"))
4589 || preg_match(
'/^CRMDEAL\d+$/', $b)
4590 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4591 || preg_match(
'/^CRMCOMPANY\d+$/', $b)
4592 || preg_match(
'/^CRMLEAD\d+$/', $b)
4593 || preg_match(
'/^CRMDYNAMIC\d+ENTITY\d+$/', $b)
4594 || preg_match(
'/^CRMSUSDYNAMIC\d+ENTITY\d+$/', $b)
4610 preg_match(
'/^US\d+$/', $b)
4611 || in_array($b,
array(
"G2",
"AU"))
4614 || preg_match(
'/^CRMDEAL\d+$/', $b)
4615 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4616 || preg_match(
'/^CRMCOMPANY\d+$/', $b)
4617 || preg_match(
'/^CRMLEAD\d+$/', $b)
4618 || preg_match(
'/^CRMDYNAMIC\d+ENTITY\d+$/', $b)
4619 || preg_match(
'/^CRMSUSDYNAMIC\d+ENTITY\d+$/', $b)
4627 elseif (preg_match(
'/^D\d+$/',
$a))
4629 if (preg_match(
'/^D\d+$/', $b))
4635 preg_match(
'/^US\d+$/', $b)
4636 || in_array($b,
array(
"G2",
"AU"))
4640 || preg_match(
'/^CRMDEAL\d+$/', $b)
4641 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4642 || preg_match(
'/^CRMCOMPANY\d+$/', $b)
4643 || preg_match(
'/^CRMLEAD\d+$/', $b)
4644 || preg_match(
'/^CRMDYNAMIC\d+ENTITY\d+$/', $b)
4645 || preg_match(
'/^CRMSUSDYNAMIC\d+ENTITY\d+$/', $b)
4653 elseif (preg_match(
'/^DR\d+$/',
$a))
4655 if (preg_match(
'/^DR\d+$/', $b))
4661 preg_match(
'/^US\d+$/', $b)
4662 || in_array($b,
array(
"G2",
"AU"))
4666 || preg_match(
'/^D\d+$/', $b)
4667 || preg_match(
'/^CRMDEAL\d+$/', $b)
4668 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4669 || preg_match(
'/^CRMCOMPANY\d+$/', $b)
4670 || preg_match(
'/^CRMLEAD\d+$/', $b)
4671 || preg_match(
'/^CRMDYNAMIC\d+ENTITY\d+$/', $b)
4672 || preg_match(
'/^CRMSUSDYNAMIC\d+ENTITY\d+$/', $b)
4682 if (preg_match(
'/^U\d+$/', $b))
4688 preg_match(
'/^US\d+$/', $b)
4689 || in_array($b, [
"G2",
"AU" ])
4693 || preg_match(
'/^D\d+$/', $b)
4694 || preg_match(
'/^DR\d+$/', $b)
4695 || preg_match(
'/^CRMDEAL\d+$/', $b)
4696 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4697 || preg_match(
'/^CRMCOMPANY\d+$/', $b)
4698 || preg_match(
'/^CRMLEAD\d+$/', $b)
4699 || preg_match(
'/^CRMDYNAMIC\d+ENTITY\d+$/', $b)
4700 || preg_match(
'/^CRMSUSDYNAMIC\d+ENTITY\d+$/', $b)
4710 if (preg_match(
'/^G\d+$/', $b))
4716 preg_match(
'/^US\d+$/', $b)
4717 || in_array($b, [
"G2",
"AU" ])
4721 || preg_match(
'/^D\d+$/', $b)
4722 || preg_match(
'/^DR\d+$/', $b)
4723 || preg_match(
'/^U\d+$/', $b)
4724 || preg_match(
'/^CRMDEAL\d+$/', $b)
4725 || preg_match(
'/^CRMCONTACT\d+$/', $b)
4726 || preg_match(
'/^CRMCOMPANY\d+$/', $b)
4727 || preg_match(
'/^CRMLEAD\d+$/', $b)
4728 || preg_match(
'/^CRMDYNAMIC\d+ENTITY\d+$/', $b)
4729 || preg_match(
'/^CRMSUSDYNAMIC\d+ENTITY\d+$/', $b)
4744 $arRights = array_unique($arRights);
4745 usort($arRights,
"__DestinationRightsSort");
4749 $bJustCount =
false;
4751 $arGroupIdToGet =
array();
4752 $arUserIdToGet =
array();
4753 $arDepartmentIdToGet =
array();
4754 $arSonetGroupIdToGet =
array();
4756 $avatarSize = (isset(
$arParams[
'AVATAR_SIZE']) ? (int)
$arParams[
'AVATAR_SIZE'] : 100);
4760 $arModuleEvents =
array();
4761 $db_events =
GetModuleEvents(
"socialnetwork",
"OnSocNetLogFormatDestination");
4762 while ($arEvent = $db_events->Fetch())
4764 $arModuleEvents[] = $arEvent;
4767 foreach ($arRights as $right_tmp)
4769 if ($cnt >=
$arParams[
"DESTINATION_LIMIT"])
4776 &&
count($arRights) > 1
4783 preg_match(
'/^US\d+$/', $right_tmp,
$matches)
4784 || in_array($right_tmp,
array(
"G2",
"AU"))
4795 && in_array($right_tmp,
array(
"G2",
"AU"))
4803 $destinationTitle = (
4804 ModuleManager::isModuleInstalled(
'intranet')
4808 $arDestination[] =
array(
4809 "STYLE" =>
"all-users",
4828 array_key_exists(
"CREATED_BY",
$arParams)
4844 preg_match(
'/^D(\d+)$/', $right_tmp,
$matches)
4845 || preg_match(
'/^DR(\d+)$/', $right_tmp,
$matches)
4847 && CModule::IncludeModule(
"iblock")
4853 $arDepartmentIdToGet[] =
$matches[1];
4858 || preg_match(
'/^SG(\d+)$/', $right_tmp,
$matches)
4862 array_key_exists(
$matches[1], $arSonetGroups)
4863 && is_array($arSonetGroups[
$matches[1]])
4874 $workgroupFields = \CSocNetGroup::getById(
$matches[1], $bCheckPermissions);
4875 if ($workgroupFields)
4879 ? self::getResizedAvatarUrl([
4880 'fileId' => (
int)$workgroupFields[
'IMAGE_ID'],
4881 'avatarSize' => $avatarSize,
4885 $arDestination[] =
array(
4887 "ID" => $workgroupFields[
"ID"],
4888 "STYLE" =>
"sonetgroups",
4889 "TITLE" => ($htmlEncode ?
4890 $workgroupFields[
"NAME"]
4893 "URL" => \
Bitrix\Socialnetwork\Site\GroupUrl::get((
int)$workgroupFields[
"ID"]),
4895 is_array(
$GLOBALS[
"arExtranetGroupID"] ??
null)
4896 && in_array($workgroupFields[
"ID"],
$GLOBALS[
"arExtranetGroupID"])
4900 'AVATAR' => $avatarUrl,
4903 if (!array_key_exists($workgroupFields[
"ID"], $arSonetGroups))
4905 $arSonetGroups[$workgroupFields[
"ID"]] =
array();
4918 $workgroupFields = \CSocNetGroup::getById(
$matches[1], $bCheckPermissions);
4919 if ($workgroupFields)
4923 ? self::getResizedAvatarUrl([
4924 'fileId' => (
int)$workgroupFields[
'IMAGE_ID'],
4925 'avatarSize' => $avatarSize,
4930 $arDestination[] =
array(
4932 "ID" => $workgroupFields[
"ID"],
4933 "STYLE" =>
"sonetgroups",
4934 "TITLE" => ($htmlEncode ? $workgroupFields[
"NAME"] :
htmlspecialcharsback($workgroupFields[
"NAME"])).
GetMessage(
"SONET_GL_DESTINATION_SG_MODERATOR"),
4935 "URL" => str_replace(
"#group_id#", $workgroupFields[
"ID"],
$arParams[
"PATH_TO_GROUP"]),
4937 is_array(
$GLOBALS[
"arExtranetGroupID"] ??
null)
4938 && in_array($workgroupFields[
"ID"],
$GLOBALS[
"arExtranetGroupID"])
4942 'AVATAR' => $avatarUrl,
4945 if (!array_key_exists($workgroupFields[
"ID"], $arSonetGroups))
4947 $arSonetGroups[$workgroupFields[
"ID"]] =
array();
4961 $workgroupFields = \CSocNetGroup::getById(
$matches[1], $bCheckPermissions);
4962 if ($workgroupFields)
4966 ? self::getResizedAvatarUrl([
4967 'fileId' => (
int)$workgroupFields[
'IMAGE_ID'],
4968 'avatarSize' => $avatarSize,
4973 $arDestination[] =
array(
4975 "ID" => $workgroupFields[
"ID"],
4976 "STYLE" =>
"sonetgroups",
4977 "TITLE" => ($htmlEncode ? $workgroupFields[
"NAME"] :
htmlspecialcharsback($workgroupFields[
"NAME"])).
GetMessage(
"SONET_GL_DESTINATION_SG_OWNER"),
4978 "URL" => str_replace(
4980 $workgroupFields[
"ID"],
4984 is_array(
$GLOBALS[
"arExtranetGroupID"] ??
null)
4985 && in_array($workgroupFields[
"ID"],
$GLOBALS[
"arExtranetGroupID"])
4989 'AVATAR' => $avatarUrl,
4992 if (!array_key_exists($workgroupFields[
"ID"], $arSonetGroups))
4994 $arSonetGroups[$workgroupFields[
"ID"]] =
array();
5006 foreach ($arModuleEvents as $arEvent)
5014 if (!empty($arGroupIdToGet))
5017 'select' => [
'ID',
'NAME' ],
5019 'ID' => $arGroupIdToGet
5023 while ($groupFields = $rsGroupTmp->fetch())
5025 $arDestination[] =
array(
5027 "ID" => $groupFields[
"ID"],
5028 "STYLE" =>
"groups",
5029 "TITLE" => ($htmlEncode ?
htmlspecialcharsEx($groupFields[
"NAME"]) : $groupFields[
"NAME"]),
5035 if (!empty($arUserIdToGet))
5037 $select = [
'ID',
'NAME',
'LAST_NAME',
'SECOND_NAME',
'LOGIN',
'EMAIL',
'PERSONAL_PHOTO' ];
5038 if (ModuleManager::isModuleInstalled(
'mail'))
5040 $select[] =
'EXTERNAL_AUTH_ID';
5042 if (ModuleManager::isModuleInstalled(
'crm'))
5044 $select[] =
'UF_USER_CRM_ENTITY';
5050 "ID" => $arUserIdToGet
5055 while ($arUserTmp = $rsUserTmp->fetch())
5059 ? self::getResizedAvatarUrl([
5060 'fileId' => (
int)$arUserTmp[
'PERSONAL_PHOTO'],
5061 'avatarSize' => $avatarSize,
5066 $isEmail = (isset($arUserTmp[
'EXTERNAL_AUTH_ID']) && $arUserTmp[
'EXTERNAL_AUTH_ID'] ===
'email');
5067 $url = str_replace(
"#user_id#", $arUserTmp[
"ID"],
$arParams[
"PATH_TO_USER"] ??
'');
5074 $url = (new \Bitrix\Main\Web\Uri(
$url))->addParams([
5075 'entityType' =>
'LOG_ENTRY',
5080 $arDestination[] = [
5082 "ID" => $arUserTmp[
"ID"],
5084 "TITLE" => CUser::FormatName(
$arParams[
"NAME_TEMPLATE"], $arUserTmp, (
$arParams[
"SHOW_LOGIN"] ===
"Y"), $htmlEncode),
5085 'SHORT_TITLE' => trim($htmlEncode ?
htmlspecialcharsEx($arUserTmp[
'NAME']) : $arUserTmp[
'NAME']),
5087 "IS_EXTRANET" => (isset(
$GLOBALS[
"arExtranetUserID"]) && is_array(
$GLOBALS[
"arExtranetUserID"]) && in_array($arUserTmp[
"ID"],
$GLOBALS[
"arExtranetUserID"]) ?
"Y" :
"N"),
5088 'IS_EMAIL' => ($isEmail ?
'Y' :
'N'),
5089 "CRM_ENTITY" => (!empty($arUserTmp[
"UF_USER_CRM_ENTITY"]) ? $arUserTmp[
"UF_USER_CRM_ENTITY"] :
false),
5090 'AVATAR' => $avatarUrl,
5095 if (!empty($arDepartmentIdToGet))
5097 foreach ($arDepartmentIdToGet as
$key => $value)
5099 if (array_key_exists($value, $arDepartmentsStaticCache))
5101 $arDestination[] =
array(
5103 "ID" => $arDepartmentsStaticCache[$value][
"ID"],
5104 "STYLE" =>
"department",
5105 "TITLE" => $arDepartmentsStaticCache[$value][
"NAME"],
5106 "URL" => str_replace(
array(
"#ID#",
"#id#"), $arDepartmentsStaticCache[$value][
"ID"],
$arParams[
"PATH_TO_CONPANY_DEPARTMENT"])
5108 unset($arDepartmentIdToGet[
$key]);
5112 if (!empty($arDepartmentIdToGet))
5114 $rsDepartmentTmp = CIBlockSection::GetList(
5117 "ID" => $arDepartmentIdToGet
5123 while ($arDepartmentTmp = $rsDepartmentTmp->fetch())
5125 $arDestination[] =
array(
5127 "ID" => $arDepartmentTmp[
"ID"],
5128 "STYLE" =>
"department",
5129 "TITLE" => ($htmlEncode ?
htmlspecialcharsEx($arDepartmentTmp[
"NAME"]) : $arDepartmentTmp[
"NAME"]),
5130 "URL" => str_replace(
array(
"#ID#",
"#id#"), $arDepartmentTmp[
"ID"],
$arParams[
"PATH_TO_CONPANY_DEPARTMENT"])
5132 $arDepartmentsStaticCache[$arDepartmentTmp[
"ID"]] = $arDepartmentTmp;
5137 $db_events =
GetModuleEvents(
"socialnetwork",
"OnAfterSocNetLogFormatDestination");
5138 while ($arEvent = $db_events->Fetch())
5143 if ($cnt >
$arParams[
"DESTINATION_LIMIT"])
5145 $iMoreCount = $cnt -
$arParams[
"DESTINATION_LIMIT"];
5148 return $arDestination;
5153 if (empty($arRights))
5158 $arDestination =
array();
5159 $arSonetGroups =
array();
5161 $arRights = array_unique($arRights);
5165 (int) (
$arParams[
"DESTINATION_LIMIT"] ??
null) <= 0
5169 $bCheckPermissions = (!array_key_exists(
"CHECK_PERMISSIONS_DEST",
$arParams) ||
$arParams[
"CHECK_PERMISSIONS_DEST"] !==
'N');
5171 foreach ($arRights as $right_tmp)
5173 if ($right_tmp ===
"G1" &&
count($arRights) > 1)
5178 if (in_array($right_tmp,
array(
"G2",
"AU")))
5185 $arDestination[] = $right_tmp;
5195 array_key_exists(
"CREATED_BY",
$arParams)
5203 $arDestination[] = $right_tmp;
5206 preg_match(
'/^D(\d+)$/', $right_tmp,
$matches)
5207 || preg_match(
'/^DR(\d+)$/', $right_tmp,
$matches)
5210 $arDestination[] = $right_tmp;
5214 || preg_match(
'/^SG(\d+)$/', $right_tmp,
$matches)
5218 array_key_exists(
$matches[1], $arSonetGroups)
5219 && is_array($arSonetGroups[
$matches[1]])
5227 $arSonetGroup = CSocNetGroup::GetByID(
$matches[1], $bCheckPermissions);
5230 $arDestination[] =
"SG".$matches[1];
5232 if (!array_key_exists($arSonetGroup[
"ID"], $arSonetGroups))
5234 $arSonetGroups[$arSonetGroup[
"ID"]] =
array();
5243 $arSonetGroup = CSocNetGroup::GetByID(
$matches[1], $bCheckPermissions);
5246 $arDestination[] =
"SG".$matches[1];
5248 if (!array_key_exists($arSonetGroup[
"ID"], $arSonetGroups))
5250 $arSonetGroups[$arSonetGroup[
"ID"]] = [];
5264 $arSonetGroup = CSocNetGroup::GetByID(
$matches[1], $bCheckPermissions);
5267 $arDestination[] =
"SG".$matches[1];
5269 if (!array_key_exists($arSonetGroup[
"ID"], $arSonetGroups))
5271 $arSonetGroups[$arSonetGroup[
"ID"]] = [];
5280 return $arDestination;
5283 public static function ProcessPath($arUrl, $user_id, $explicit_site_id =
false)
5285 static $arIntranetUsers, $arSiteData, $extranet_site_id, $intranet_site_id;
5287 if (!is_array($arUrl))
5289 $arUrl =
array($arUrl);
5293 CModule::IncludeModule(
"extranet")
5294 && !$arIntranetUsers
5297 $extranet_site_id = CExtranet::GetExtranetSiteID();
5298 $intranet_site_id = CSite::GetDefSite();
5299 $arIntranetUsers = CExtranet::GetIntranetUsers();
5304 $arSiteData = self::GetSiteData();
5308 ModuleManager::isModuleInstalled(
'extranet')
5311 !in_array($user_id, $arIntranetUsers)
5312 && $extranet_site_id
5317 && $explicit_site_id != $extranet_site_id
5322 : ($explicit_site_id ? $explicit_site_id :
SITE_ID)
5325 $server_name = (CMain::IsHTTPS() ?
"https" :
"http")
5326 .
"://" . ($arSiteData[$user_site_id][
"SERVER_NAME"] ??
'')
5329 $arUrl = str_replace(
5330 array(
"#SERVER_NAME#",
"#GROUPS_PATH#",
"#USER_PATH#"),
5333 $arSiteData[$user_site_id][
"GROUPS_PATH"] ??
'',
5334 $arSiteData[$user_site_id][
"USER_PATH"] ??
''
5340 "SERVER_NAME" => $server_name,
5342 "DOMAIN" => (
count($arSiteData) > 1 ? $arSiteData[$user_site_id][
"SERVER_NAME"] ??
null :
false)
5348 $arSiteData =
array();
5350 $extranetSiteId = \Bitrix\Socialnetwork\Site\Site::getInstance()->getExtranetSiteId();
5352 $rsSite = CSite::GetList(
"sort",
"desc", Array(
"ACTIVE" =>
"Y"));
5353 while ($arSite = $rsSite->Fetch())
5355 $userPage = $arSite[
'ID'] === $extranetSiteId ?
'contacts/personal/' :
'company/personal/';
5357 $arSiteData[$arSite[
"ID"]] =
array(
5358 "GROUPS_PATH" => COption::GetOptionString(
"socialnetwork",
"workgroups_page", $arSite[
"DIR"].
"workgroups/", $arSite[
"ID"]),
5359 "USER_PATH" => COption::GetOptionString(
"socialnetwork",
"user_page", $arSite[
"DIR"] . $userPage, $arSite[
"ID"]),
5364 defined(
"SITE_SERVER_NAME") && SITE_SERVER_NAME <>
''
5366 : COption::GetOptionString(
"main",
"server_name",
"")
5382 while ($arEvent = $events->Fetch())
5393 static $blogPostEventIdList =
null;
5395 $rating_entity_type_id = preg_replace(
"/[^a-z0-9_-]/i",
"", $rating_entity_type_id);
5396 $rating_entity_id = (int)$rating_entity_id;
5399 $rating_entity_type_id ==
''
5400 || $rating_entity_id <= 0
5408 switch ($rating_entity_type_id)
5412 if ($blogPostEventIdList ===
null)
5414 $blogPostLivefeedProvider = new \Bitrix\Socialnetwork\Livefeed\BlogPost;
5415 $blogPostEventIdList = $blogPostLivefeedProvider->getEventId();
5417 $log_event_id = array_merge($blogPostEventIdList,
array(
"idea"));
5419 case "BLOG_COMMENT":
5420 $log_type =
"comment";
5421 $log_event_id =
array(
"blog_comment",
"photo_comment");
5425 $log_event_id =
array(
"forum");
5426 if (CModule::IncludeModule(
"forum"))
5429 array(
"ID" =>
"ASC"),
5430 array(
"TOPIC_ID" => $rating_entity_id),
5434 if ($arForumMessage = $dbForumMessage->Fetch())
5436 $rating_entity_id = $arForumMessage[
"ID"];
5441 $log_type =
"comment";
5442 $forumPostLivefeedProvider = new \Bitrix\Socialnetwork\Livefeed\ForumPost();
5443 $log_event_id = $forumPostLivefeedProvider->getEventId();
5445 case "IBLOCK_ELEMENT":
5447 $log_event_id =
array(
"photo_photo",
"files",
"commondocs",
"wiki");
5449 case "INTRANET_NEW_USER":
5451 $log_event_id =
array(
"intranet_new_user");
5453 case "INTRANET_NEW_USER_COMMENT":
5454 $log_type =
"comment";
5455 $log_event_id =
array(
"intranet_new_user_comment");
5457 case "BITRIX24_NEW_USER":
5459 $log_event_id =
array(
"bitrix24_new_user");
5461 case "BITRIX24_NEW_USER_COMMENT":
5462 $log_type =
"comment";
5463 $log_event_id =
array(
"bitrix24_new_user_comment");
5467 if ($blogPostEventIdList ===
null)
5469 $blogPostLivefeedProvider = new \Bitrix\Socialnetwork\Livefeed\BlogPost;
5470 $blogPostEventIdList = $blogPostLivefeedProvider->getEventId();
5472 $log_event_id = $blogPostEventIdList;
5473 if (CModule::IncludeModule(
"blog"))
5476 array(
"ID" =>
"DESC"),
5477 array(
"UF_BLOG_POST_VOTE" => $rating_entity_id),
5479 array(
"nTopCount" => 1),
5483 if ($arBlogPost = $rsBlogPost->Fetch())
5485 $rating_entity_id = $arBlogPost[
"ID"];
5489 case "LISTS_NEW_ELEMENT":
5491 $log_event_id =
array(
"lists_new_element");
5494 $log_type =
"log_entry";
5497 $log_type =
"log_comment";
5503 $log_comment_id =
null;
5505 if ($log_type ===
"log")
5510 "EVENT_ID" => $log_event_id,
5511 "SOURCE_ID" => $rating_entity_id
5517 "CHECK_RIGHTS" => ($bCheckRights ?
"Y" :
"N"),
5518 "USE_SUBSCRIBE" =>
"N"
5521 if ($arLogSrc = $rsLogSrc->Fetch())
5523 $log_id = $arLogSrc[
"ID"];
5526 elseif ($log_type ===
"log_entry")
5531 "ID" => $rating_entity_id
5537 "CHECK_RIGHTS" => ($bCheckRights ?
"Y" :
"N"),
5538 "USE_SUBSCRIBE" =>
"N"
5541 if ($arLogSrc = $rsLogSrc->Fetch())
5542 $log_id = $arLogSrc[
"ID"];
5544 elseif ($log_type ===
"comment")
5549 "EVENT_ID" => $log_event_id,
5550 "SOURCE_ID" => $rating_entity_id
5554 array(
"ID",
"LOG_ID"),
5556 "CHECK_RIGHTS" => ($bCheckRights ?
"Y" :
"N"),
5557 "USE_SUBSCRIBE" =>
"N"
5560 if ($arLogCommentSrc = $rsLogCommentSrc->Fetch())
5562 $log_id = $arLogCommentSrc[
"LOG_ID"];
5563 $log_comment_id = $arLogCommentSrc[
"ID"];
5566 elseif ($log_type ==
"log_comment")
5571 "ID" => $rating_entity_id
5575 array(
"ID",
"LOG_ID"),
5577 "CHECK_RIGHTS" => ($bCheckRights ?
"Y" :
"N"),
5578 "USE_SUBSCRIBE" =>
"N"
5581 if ($arLogCommentSrc = $rsLogCommentSrc->Fetch())
5583 $log_id = $arLogCommentSrc[
"LOG_ID"];
5584 $log_comment_id = $arLogCommentSrc[
"ID"];
5591 if ($log_comment_id > 0)
5592 $arResult[
"LOG_COMMENT_ID"] = $log_comment_id;
5619 $arParams[
"arUserField"][
"FIELD_NAME"] ===
"UF_SONET_COM_FILE"
5620 || mb_strpos(
$arParams[
"arUserField"][
"FIELD_NAME"],
"UF_SONET_COM_FILE") === 0
5621 ||
$arParams[
"arUserField"][
"FIELD_NAME"] ===
"UF_SONET_LOG_FILE"
5622 || mb_strpos(
$arParams[
"arUserField"][
"FIELD_NAME"],
"UF_SONET_LOG_FILE") === 0
5626 $arParams[
"arUserField"][
"FIELD_NAME"] ===
"UF_SONET_COM_FILE"
5627 || mb_strpos(
$arParams[
"arUserField"][
"FIELD_NAME"],
"UF_SONET_COM_FILE") === 0
5635 ?><div
class=
"feed-com-files">
5636 <div
class=
"feed-com-files-title"><?=
GetMessage(
"LOG_FILES")?></div>
5637 <div
class=
"feed-com-files-cont"><?
5641 $arFile = CFile::GetFileArray($fileID);
5644 $name = $arFile[
"ORIGINAL_NAME"];
5646 $dotpos = mb_strrpos(
$name,
".");
5647 if (($dotpos !==
false) && ($dotpos + 1 < mb_strlen(
$name)))
5648 $ext = mb_substr(
$name, $dotpos + 1);
5649 if (mb_strlen($ext) < 3 || mb_strlen($ext) > 5)
5651 $arFile[
"EXTENSION"] = $ext;
5652 $arFile[
"LINK"] =
"/bitrix/components/bitrix/socialnetwork.log.ex/show_file.php?fid=".$fileID.
"<ype=".
$type;
5653 $arFile[
"FILE_SIZE"] = CFile::FormatSize($arFile[
"FILE_SIZE"]);
5654 ?><div
id=
"wdif-doc-<?=$arFile["ID
"]?>" class=
"feed-com-file-wrap">
5655 <div
class=
"feed-con-file-name-wrap">
5656 <div
class=
"feed-con-file-icon feed-file-icon-<?=htmlspecialcharsbx($arFile["EXTENSION
"])?>"></div>
5657 <a target=
"_blank" href=
"<?=htmlspecialcharsbx($arFile["LINK
"])?>" class=
"feed-com-file-name"><?=
htmlspecialcharsbx($arFile[
"ORIGINAL_NAME"])?></a>
5658 <span
class=
"feed-con-file-size">(<?=$arFile[
"FILE_SIZE"]?>)</span>
5678 if (!CModule::IncludeModule(
'iblock') || !CModule::IncludeModule(
'webdav'))
5684 if ($files ===
null || $files===
false)
5686 if (!is_array($files))
5687 $files =
array($files);
5690 foreach($files as $id)
5693 if (intval($id) > 0)
5701 $arTasks = CWebDavIblock::GetTasks();
5706 if (mb_substr($value, 0, 2) ===
'SG')
5713 $arViewRights =
array();
5714 $curUserID =
'U'.$USER->GetID();
5717 if ($curUserID ==
$right)
5727 $dbWDFile = CIBlockElement::GetList(
array(),
array(
"ID" =>
$arFiles,
"SHOW_NEW" =>
"Y"),
false,
false,
array(
"ID",
"NAME",
"SECTION_ID",
"IBLOCK_ID",
"WF_NEW"));
5728 $iblockIds =
array();
5731 while ($arWDFile = $dbWDFile->Fetch())
5733 $id = $arWDFile[
"ID"];
5735 if ($arWDFile[
"WF_NEW"] ===
"Y")
5737 $ibe->Update($id,
array(
"BP_PUBLISHED" =>
"Y"));
5740 if (CIBlock::GetArrayByID($arWDFile[
'IBLOCK_ID'],
"RIGHTS_MODE") ===
"E")
5742 $ibRights = CWebDavIblock::_get_ib_rights_object(
"ELEMENT", $id, $arWDFile[
"IBLOCK_ID"]);
5743 $ibRights->SetRights(CWebDavTools::appendRights($ibRights, $arViewRights,
$arTasks));
5744 if (empty($iblockIds[$arWDFile[
"IBLOCK_ID"]]))
5746 $iblockIds[$arWDFile[
"IBLOCK_ID"]] = $arWDFile[
"IBLOCK_ID"];
5766 static $arSonetGroupIDAvailable =
false;
5769 if (is_array($arSonetGroupIDAvailable))
5771 return $arSonetGroupIDAvailable;
5775 $arSonetGroupIDAvailable =
array();
5777 if (!$isExtranetUser)
5779 $isExtranetUser = (CModule::IncludeModule(
"extranet") && !CExtranet::IsIntranetUser() ?
"Y" :
"N");
5782 if (!$isExtranetSite)
5784 $isExtranetSite = (CModule::IncludeModule(
"extranet") && CExtranet::IsExtranetSite() ?
"Y" :
"N");
5788 $cache_time = 31536000;
5789 $cache_id =
$USER->GetID().($isExtranetUser ==
"Y" ?
"_ex" :
"");
5790 $cache_path =
"/sonet/groups_available/".$USER->GetID().
"/";
5792 if ($cache->InitCache($cache_time, $cache_id, $cache_path))
5794 $arCacheVars = $cache->GetVars();
5795 $arSonetGroupIDAvailable = $arCacheVars[
"arGroupID"];
5799 $cache->StartDataCache($cache_time, $cache_id, $cache_path);
5800 if (defined(
"BX_COMP_MANAGED_CACHE"))
5810 $isExtranetUser ==
"Y"
5811 && $isExtranetSite ==
"Y"
5812 && CModule::IncludeModule(
"extranet")
5815 $arFilter[
"SITE_ID"] = CExtranet::GetExtranetSiteID();
5818 $rsGroup = CSocNetGroup::GetList(
5825 while($arGroup = $rsGroup->Fetch())
5827 $arSonetGroupIDAvailable[] = $arGroup[
"ID"];
5830 $arCacheData =
array(
5831 "arGroupID" => $arSonetGroupIDAvailable
5834 if(defined(
"BX_COMP_MANAGED_CACHE"))
5839 $cache->EndDataCache($arCacheData);
5842 return $arSonetGroupIDAvailable;
5848 static $arData =
array(
5850 "tasks" =>
array(
"TASK",
"TK",
"FORUM|COMMENT"),
5851 "forum" =>
array(
"FORUM",
"FM",
"FORUM|COMMENT"),
5852 "photo_photo" =>
array(
"PHOTO",
"PH",
"FORUM|COMMENT"),
5853 "sonet" =>
array(
"SOCNET",
"SC",
""),
5854 "calendar" =>
array(
"EVENT",
"EV",
""),
5855 "lists_new_element" =>
array(
"WF",
"WF",
""),
5856 "news" =>
array(
"IBLOCK",
"IB",
""),
5857 "wiki" =>
array(
"IBLOCK",
"IB",
""),
5858 "timeman_entry"=>
array(
"TIMEMAN_ENTRY",
"TM",
""),
5859 "report"=>
array(
"TIMEMAN_REPORT",
"TR",
""),
5864 if (isset($arData[$logEventId]))
5866 $arRes = $arData[$logEventId];
5880 if (!CModule::IncludeModule(
"forum"))
5883 if (!CModule::IncludeModule(
"tasks"))
5888 $messageID = $ufUrlPreview =
false;
5890 $arFieldsMessage =
array();
5891 $ufFileID =
array();
5899 array(
"ID",
"SOURCE_ID",
"SITE_ID")
5904 $rsTask = CTasks::getById($arLog[
"SOURCE_ID"]);
5905 if ($arTask = $rsTask->Fetch())
5907 $forumID = \Bitrix\Tasks\Integration\SocialNetwork\Task::getCommentForumId();
5910 $userID =
$USER->GetID();
5915 $arLogSites =
array();
5917 while ($arLogSite = $rsLogSite->Fetch())
5918 $arLogSites[] = $arLogSite[
"LID"];
5920 $bCurrentUserIsAdmin = CSocNetUser::isCurrentUserModuleAdmin($arLogSites);
5921 $strPermission =
false;
5925 if (CSocNetFeaturesPerms::CanPerformOperation($userID,
SONET_ENTITY_GROUP,
$arFields[
"ENTITY_ID"],
"tasks",
"view", $bCurrentUserIsAdmin))
5926 $strPermission =
"I";
5931 CModule::IncludeModule(
'tasks')
5932 && \
Bitrix\Tasks\Access\TaskAccessController::can($userID, \
Bitrix\Tasks\Access\ActionDictionary::ACTION_TASK_READ, (
int) $arTask[
'ID'])
5935 $strPermission =
"I";
5939 $arFieldsMessage =
array(
5940 "POST_MESSAGE" =>
$arFields[
"TEXT_MESSAGE"],
5941 "USE_SMILES" =>
"Y",
5942 "PERMISSION_EXTERNAL" =>
"Q",
5943 "PERMISSION" => $strPermission,
5950 if (array_key_exists(
"UF_SONET_COM_DOC",
$arTmp))
5956 $arFieldsMessage[
"FILES"] =
array();
5957 foreach(
$arTmp[
"UF_SONET_COM_FILE"] as $file_id)
5959 $arFieldsMessage[
"FILES"][] =
array(
"FILE_ID" => $file_id);
5963 if (array_key_exists(
"UF_SONET_COM_URL_PRV",
$arTmp))
5965 $GLOBALS[
"UF_FORUM_MES_URL_PRV"] =
$arTmp[
"UF_SONET_COM_URL_PRV"];
5972 $feed = new \Bitrix\Forum\Comments\Feed(
5976 "id" => $arTask[
'ID'],
5977 "xml_id" =>
"TASK_".$arTask[
'ID']
5987 \Bitrix\Tasks\Integration\SocialNetwork::disable();
5988 $message = $feed->add($arFieldsMessage);
5989 \Bitrix\Tasks\Integration\SocialNetwork::enable();
5997 foreach($feed->getErrors() as
$error)
5999 $sError .=
$error->getMessage();
6008 while ($arAddedMessageFiles = $dbAddedMessageFiles->Fetch())
6009 $ufFileID[] = $arAddedMessageFiles[
"FILE_ID"];
6012 $ufDocID =
$USER_FIELD_MANAGER->GetUserFieldValue(
"FORUM_MESSAGE",
"UF_FORUM_MESSAGE_DOC", $messageID, LANGUAGE_ID);
6013 $ufUrlPreview =
$USER_FIELD_MANAGER->GetUserFieldValue(
"FORUM_MESSAGE",
"UF_FORUM_MES_URL_PRV", $messageID, LANGUAGE_ID);
6021 'PARAMS' => serialize(
array(
'TYPE' =>
'comment'))
6030 "SOURCE_ID" => $messageID,
6031 "MESSAGE" => (!empty($arFieldsMessage) ? $arFieldsMessage[
"POST_MESSAGE"] :
false),
6032 "RATING_TYPE_ID" =>
"FORUM_POST",
6033 "RATING_ENTITY_ID" => $messageID,
6037 "FILE" => $ufFileID,
6039 "URL_PREVIEW" => $ufUrlPreview
6054 &&
$USER->IsAuthorized()
6055 && CModule::IncludeModule(
'tasks')
6058 $messageUrl = CTaskNotifications::getNotificationPath(
6063 $messageUrl .= (mb_strpos($messageUrl,
'?') !==
false ?
'&' :
'?').
'MID=#ID#';
6067 $messageUrl = str_replace(
'#ID#', intval(
$arFields[
"COMMENT_ID"]), $messageUrl);
6078 if (!CModule::IncludeModule(
"forum") || !CModule::IncludeModule(
"tasks"))
6095 $ufFileID =
array();
6102 $arFieldsMessage =
array(
6103 "POST_MESSAGE" =>
$arFields[
"TEXT_MESSAGE"],
6104 "USE_SMILES" =>
"Y",
6106 "SONET_PERMS" =>
array(
"bCanFull" =>
true)
6114 array(
"ID",
"SOURCE_ID",
"SITE_ID")
6119 if (is_array(
$arTmp) && $logItem)
6121 if (array_key_exists(
"UF_SONET_COM_DOC",
$arTmp))
6127 $arFieldsMessage[
"FILES"] =
array();
6128 foreach(
$arTmp[
"UF_SONET_COM_FILE"] as $file_id)
6130 $arFieldsMessage[
"FILES"][$file_id] =
array(
"FILE_ID" => $file_id);
6132 if (!empty($arFieldsMessage[
"FILES"]))
6134 $arFileParams =
array(
"FORUM_ID" => $arForumMessage[
"FORUM_ID"],
"TOPIC_ID" => $arForumMessage[
"TOPIC_ID"]);
6135 if(CForumFiles::CheckFields($arFieldsMessage[
"FILES"], $arFileParams,
"NOT_CHECK_DB"))
6137 CForumFiles::Add(array_keys($arFieldsMessage[
"FILES"]), $arFileParams);
6143 $taskId = intval($logItem[
"SOURCE_ID"]);
6145 $feed = new \Bitrix\Forum\Comments\Feed(
6146 $arForumMessage[
"FORUM_ID"],
6150 "xml_id" =>
"TASK_".$taskId
6154 \Bitrix\Tasks\Integration\SocialNetwork::disable();
6156 \Bitrix\Tasks\Integration\SocialNetwork::enable();
6165 foreach($feed->getErrors() as
$error)
6167 $sError .=
$error->getMessage();
6171 unset(
$GLOBALS[
"UF_FORUM_MESSAGE_DOC"]);
6177 while ($arAddedMessageFiles = $dbAddedMessageFiles->Fetch())
6179 $ufFileID[] = $arAddedMessageFiles[
"FILE_ID"];
6182 $ufDocID =
$USER_FIELD_MANAGER->GetUserFieldValue(
"FORUM_MESSAGE",
"UF_FORUM_MESSAGE_DOC", $messageID, LANGUAGE_ID);
6187 $sError =
GetMessage(
"SONET_UPDATE_COMMENT_SOURCE_ERROR");
6194 "FILE" => $ufFileID,
6205 $forumId = COption::GetOptionString(
"tasks",
"task_forum_id", 0,
'');
6211 && intval($forumId) > 0
6212 && CModule::IncludeModule(
'forum')
6215 $feed = new \Bitrix\Forum\Comments\Feed(
6219 "id" => intval(
$arFields[
"LOG_SOURCE_ID"]),
6220 "xml_id" =>
"TASK_".
$arFields[
"LOG_SOURCE_ID"]
6224 \Bitrix\Tasks\Integration\SocialNetwork::disable();
6226 \Bitrix\Tasks\Integration\SocialNetwork::enable();
6231 foreach($feed->getErrors() as
$error)
6253 $forumId = COption::GetOptionString(
"tasks",
"task_forum_id", 0,
'');
6261 && (
int)$forumId > 0
6262 && CModule::IncludeModule(
'forum')
6267 $feed = new \Bitrix\Forum\Comments\Feed(
6271 "id" => (
int)
$arParams[
"LOG_SOURCE_ID"],
6272 "xml_id" =>
"TASK_".
$arParams[
"LOG_SOURCE_ID"]
6275 $res = $feed->getEntity()->canEdit((
int)
$arParams[
"USER_ID"]);
6277 catch (Exception $e)
6289 $forumId = COption::GetOptionString(
"tasks",
"task_forum_id", 0,
'');
6297 && (
int)$forumId > 0
6298 && CModule::IncludeModule(
'forum')
6303 $feed = new \Bitrix\Forum\Comments\Feed(
6307 "id" => (
int)
$arParams[
"LOG_SOURCE_ID"],
6308 "xml_id" =>
"TASK_".
$arParams[
"LOG_SOURCE_ID"]
6311 $res = $feed->getEntity()->canEditOwn(intval(
$arParams[
"USER_ID"]));
6313 catch (Exception $e)
6325 $fileId = (isset(
$params[
'fileId']) ? (int)
$params[
'fileId'] : 0);
6326 $avatarSize = (isset(
$params[
'avatarSize']) ? (int)
$params[
'avatarSize'] : 100);
6333 if ($imageFile = \CFile::getFileArray($fileId))
6335 $resizedFile = \CFile::resizeImageGet(
6338 'width' => $avatarSize,
6339 'height' => $avatarSize
6344 $result = $resizedFile[
'src'];
6360 if (mb_strlen(
$a[
"TYPING"]) == mb_strlen($b[
"TYPING"]))
6363 return (mb_strlen(
$a[
"TYPING"]) > mb_strlen($b[
"TYPING"])) ? -1 : 1;
6368 parent::__construct();
6370 if ($strLang === False)
6372 $strLang = LANGUAGE_ID;
6376 function convert(
$text, $arImages =
array(),
$allow =
array(
"HTML" =>
"N",
"ANCHOR" =>
"Y",
"BIU" =>
"Y",
"IMG" =>
"Y",
"QUOTE" =>
"Y",
"CODE" =>
"Y",
"FONT" =>
"Y",
"LIST" =>
"Y",
"SMILES" =>
"Y",
"NL2BR" =>
"N",
"VIDEO" =>
"Y",
"TABLE" =>
"Y",
"CUT_ANCHOR" =>
"N",
"SHORT_ANCHOR" =>
"N"),
$arParams = Array())
6378 $this->allow =
array(
6379 "HTML" => (
$allow[
"HTML"] ===
"Y" ?
"Y" :
"N"),
6380 "NL2BR" => (
$allow[
"NL2BR"] ===
"Y" ?
"Y" :
"N"),
6381 "LOG_NL2BR" => ((
$allow[
"LOG_NL2BR"] ??
null) ===
"N" ?
"N" :
"Y"),
6382 "MULTIPLE_BR" => ((
$allow[
"MULTIPLE_BR"] ??
null) ===
"N" ?
"N" :
"Y"),
6383 "CODE" => (
$allow[
"CODE"] ===
"N" ?
"N" :
"Y"),
6384 "LOG_CODE" => (isset(
$allow[
"LOG_CODE"]) &&
$allow[
"LOG_CODE"] ===
"N" ?
"N" :
"Y"),
6385 "VIDEO" => (
$allow[
"VIDEO"] ===
"N" ?
"N" :
"Y"),
6386 "LOG_VIDEO" => (
$allow[
"LOG_VIDEO"] ===
"N" ?
"N" :
"Y"),
6387 "ANCHOR" => (
$allow[
"ANCHOR"] ===
"N" ?
"N" :
"Y"),
6388 "LOG_ANCHOR" => (isset(
$allow[
"LOG_ANCHOR"]) &&
$allow[
"LOG_ANCHOR"] ===
"N" ?
"N" :
"Y"),
6389 "BIU" => (
$allow[
"BIU"] ===
"N" ?
"N" :
"Y"),
6390 "IMG" => (
$allow[
"IMG"] ===
"N" ?
"N" :
"Y"),
6391 "LOG_IMG" => (isset(
$allow[
"LOG_IMG"]) &&
$allow[
"LOG_IMG"] ===
"N" ?
"N" :
"Y"),
6392 "QUOTE" => (
$allow[
"QUOTE"] ===
"N" ?
"N" :
"Y"),
6393 "LOG_QUOTE" => (isset(
$allow[
"LOG_QUOTE"]) &&
$allow[
"LOG_QUOTE"] ===
"N" ?
"N" :
"Y"),
6394 "FONT" => (
$allow[
"FONT"] ===
"N" ?
"N" :
"Y"),
6395 "LOG_FONT" => (isset(
$allow[
"LOG_FONT"]) &&
$allow[
"LOG_FONT"] ===
"N" ?
"N" :
"Y"),
6396 "LIST" => (
$allow[
"LIST"] ===
"N" ?
"N" :
"Y"),
6397 "SMILES" => (
$allow[
"SMILES"] ===
"N" ?
"N" :
"Y"),
6398 "TABLE" => (isset(
$allow[
"TABLE"]) &&
$allow[
"TABLE"] ===
"N" ?
"N" :
"Y"),
6399 "ALIGN" => (isset(
$allow[
"ALIGN"]) &&
$allow[
"ALIGN"] ===
"N" ?
"N" :
"Y"),
6400 "CUT_ANCHOR" => ((
$allow[
"CUT_ANCHOR"] ??
null) ===
"Y" ?
"Y" :
"N"),
6401 "SHORT_ANCHOR" => (isset(
$allow[
"SHORT_ANCHOR"]) &&
$allow[
"SHORT_ANCHOR"] ===
"Y" ?
"Y" :
"N"),
6402 "HEADER" => (isset(
$allow[
"HEADER"]) &&
$allow[
"HEADER"] ===
"N" ?
"N" :
"Y"),
6403 "USERFIELDS" => (isset(
$allow[
"USERFIELDS"]) &&
$allow[
"USERFIELDS"] ?
$allow[
"USERFIELDS"] :
"N"),
6404 "USER" => (isset(
$allow[
"USER"]) &&
$allow[
"USER"] ===
"N" ?
"N" :
"Y")
6407 if ($this->allow[
"HTML"] !==
"Y")
6409 $text = preg_replace(
"#(<br[\s]*\/>)#isu",
"",
$text);
6411 $text = preg_replace(
6413 "#<a[^>]+href\s*=\s*('|\")(.+?)(?:\\1)[^>]*>(.*?)</a[^>]*>#isu",
6414 "#<a[^>]+href(\s*=\s*)([^'\">])+>(.*?)</a[^>]*>#isu"),
6415 "[url=\\2]\\3[/url]",
$text);
6420 $text = preg_replace(
6421 "/<([busi])[^>a-z]*>(.+?)<\\/(\\1)[^>a-z]*>/isu",
6423 $text, -1, $replaced);
6425 while($replaced > 0);
6427 $text = preg_replace(
6428 "#<img[^>]+src\s*=[\s'\"]*(((http|https|ftp)://[.-_:a-z0-9@]+)*(\/[-_/=:.a-z0-9@{}&?%]+)+)[\s'\"]*[^>]*>#isu",
6429 "[img]\\1[/img]",
$text);
6431 $text = preg_replace(
6433 "/<font[^>]+size\s*=[\s'\"]*([0-9]+)[\s'\"]*[^>]*>(.+?)<\/font[^>]*>/isu",
6434 "/<font[^>]+color\s*=[\s'\"]*(\#[a-f0-9]{6})[^>]*>(.+?)<\/font[^>]*>/isu",
6435 "/<font[^>]+face\s*=[\s'\"]*([a-z\s\-]+)[\s'\"]*[^>]*>(.+?)<\/font[^>]*>/isu"),
6437 "[size=\\1]\\2[/size]",
6438 "[color=\\1]\\2[/color]",
6439 "[font=\\1]\\2[/font]"),
6442 $text = preg_replace(
6444 "/<ul((\s[^>]*)|(\s*))>(.+?)<\/ul([^>]*)>/isu",
6445 "/<ol((\s[^>]*)|(\s*))>(.+?)<\/ol([^>]*)>/isu",
6446 "/<li((\s[^>]*)|(\s*))>/isu",
6450 "[list=1]\\4[/list]",
6455 $text = preg_replace(
6457 "/<table((\s[^>]*)|(\s*))>(.+?)<\/table([^>]*)>/isu",
6458 "/<tr((\s[^>]*)|(\s*))>(.*?)<\/tr([^>]*)>/isu",
6459 "/<td((\s[^>]*)|(\s*))>(.*?)<\/td([^>]*)>/isu",
6462 "[table]\\4[/table]",
6468 if ($this->allow[
"QUOTE"] ===
"Y")
6469 $text = preg_replace(
"#<(/?)quote(.*?)>#is",
"[\\1quote]",
$text);
6472 if ($this->allow[
"LOG_IMG"] ===
"N")
6473 $text = preg_replace(
"/(\[file([^\]]*)id\s*=\s*([0-9]+)([^\]]*)\])/is",
"",
$text);
6475 if ($this->allow[
"LOG_NL2BR"] ===
"Y")
6480 if ($this->allow[
"LOG_NL2BR"] ===
"Y")
6485 $text = preg_replace(
"#^(<br[\s]*\/>[\s\n]*)+#isu",
"",
$text);
6486 $text = preg_replace(
"#(<br[\s]*\/>[\s\n]*)+$#isu",
"",
$text);
6488 if ($this->allow[
"MULTIPLE_BR"] ===
"N")
6489 $text = preg_replace(
"#(<br[\s]*\/>[\s\n]*)+#isu",
"<br />",
$text);
6496 if ($this->allow[
"LOG_ANCHOR"] ===
"N")
6497 return "[URL]".$text.
"[/URL]";
6499 return parent::convert_anchor_tag(
$url,
$text, $attributes);
6504 if ($this->allow[
"LOG_IMG"] ===
"N")
6515 if (
$text ==
'')
return;
6519 $word_separator = str_replace(
"\]",
"", $this->word_separator);
6520 $text = preg_replace(
"'(?<=^|[".$word_separator.
"]|\s)((http|https|news|ftp|aim|mailto)://[\.\-\_\:a-z0-9\@]([^\s\'\"\[\]\{\}])*)'is",
6521 "[nomodify]\\1[/nomodify]",
$text);
6528 $text = preg_replace(
"#(<br[\s]*\/>)#isu",
"",
$text);
6529 if ($this->allow[
"LOG_CODE"] ===
"N")
6531 $text = str_replace(Array(
"[nomodify]",
"[/nomodify]"), Array(
"",
""),
$text);
6535 return parent::convert_code_tag(
$text);
6540 if ($this->allow[
"LOG_QUOTE"] ===
"N")
6542 return preg_replace(
6544 "/\[quote([^\]<>])*\]/iu",
6545 "/\[\/quote([^\]<>])*\]/iu",
6551 return parent::convert_quote_tag(
$text);
6556 if (
$text ==
'')
return "";
6558 if ($value ==
'')
return $text;
6560 if ($this->allow[
"LOG_FONT"] ===
"N")
6565 return parent::convert_font_attr($attr, $value,
$text);
6570 if ($this->allow[
"LOG_VIDEO"] ===
"N")
6572 return '<a href="'.$params[
'PATH'].
'">'.
$params[
'PATH'].
'</a>';
6575 return parent::convert_video(
$params);
6581 private $arItems =
null;
6585 $this->arItems =
$params[
"arItems"];
6590 $arItems = $this->arItems;
6599 $isExtranetAvailable =
false,
6600 $isExtranetSite =
false,
6601 $isTasksAvailable =
false,
6602 $isCrmAvailable =
false,
6603 $isListsAvailable =
false,
6604 $isTimemanAvailable =
false;
6610 $isExtranetAvailable = ModuleManager::isModuleInstalled(
'extranet');
6612 $isExtranetAvailable
6613 && Loader::includeModule(
'extranet')
6614 && CExtranet::isExtranetSite()
6616 $isTasksAvailable = ModuleManager::isModuleInstalled(
'tasks');
6617 $isCrmAvailable = ModuleManager::isModuleInstalled(
'crm');
6618 $isListsAvailable = (
6619 ModuleManager::isModuleInstalled(
'lists')
6620 && ModuleManager::isModuleInstalled(
'bizproc')
6621 && ModuleManager::isModuleInstalled(
'intranet')
6623 $isTimemanAvailable = ModuleManager::isModuleInstalled(
'timeman');
6627 foreach ($arPreset as
$key => $arPresetFilterTmp)
6631 if (!empty($arPresetFilterTmp[
"ID"]))
6634 $arPresetFilterTmp[
"ID"] ==
"extranet"
6636 !$isExtranetAvailable
6641 unset($arPresetFilterTmp[
"ID"]);
6645 $arPresetFilterTmp[
"ID"] ===
"work"
6647 && \
Bitrix\Main\Config\Option::get(
"crm",
"enable_livefeed_merge",
"N") ===
"Y"
6648 && !empty($arPresetFilterTmp[
"FILTER"])
6649 && is_array($arPresetFilterTmp[
"FILTER"][
"EVENT_ID"])
6652 $arPreset[
$key] = $arPresetFilterTmp[
"FILTER"][
"EVENT_ID"] = array_unique(array_merge($arPresetFilterTmp[
"FILTER"][
"EVENT_ID"],
array(
"crm_activity_add")));
6655 if (empty($arPresetFilterTmp[
"ID"]))
6662 !empty($arPresetFilterTmp[
"FILTER"])
6663 && !empty($arPresetFilterTmp[
"EVENT_ID"])
6666 foreach ($arPresetFilterTmp[
"FILTER"][
"EVENT_ID"] as $eventKey => $eventId)
6669 ($eventId ===
"tasks" && !$isTasksAvailable)
6670 || (in_array($eventId,
array(
"timeman_entry",
"report")) && !$isTimemanAvailable)
6673 unset($arPresetFilterTmp[
"FILTER"][
"EVENT_ID"][$eventKey]);
6677 if (empty($arPresetFilterTmp[
"FILTER"][
"EVENT_ID"]))
6684 !empty($arPresetFilterTmp[
"FILTER"])
6685 && !empty($arPresetFilterTmp[
"FILTER"][
"EXACT_EVENT_ID"])
6690 $arPresetFilterTmp[
"FILTER"][
"EXACT_EVENT_ID"] ===
"lists_new_element"
6696 || !$isListsAvailable
6702 unset($arPresetFilterTmp[
"FILTER"][
"EXACT_EVENT_ID"]);
6705 if (empty($arPresetFilterTmp[
"FILTER"][
"EXACT_EVENT_ID"]))
6711 if (array_key_exists(
"NAME", $arPresetFilterTmp))
6713 switch(mb_strtoupper($arPresetFilterTmp[
"NAME"]))
6716 $arPresetFilterTmp[
"NAME"] =
GetMessage(
"SONET_INSTALL_LOG_PRESET_WORK");
6719 $arPresetFilterTmp[
"NAME"] =
GetMessage(
"SONET_INSTALL_LOG_PRESET_FAVORITES");
6722 $arPresetFilterTmp[
"NAME"] =
GetMessage(
"SONET_INSTALL_LOG_PRESET_IMPORTANT");
6725 $arPresetFilterTmp[
"NAME"] =
GetMessage(
"SONET_INSTALL_LOG_PRESET_MY");
6728 $arPresetFilterTmp[
"NAME"] =
GetMessage(
"SONET_INSTALL_LOG_PRESET_BIZPROC");
6731 $arPresetFilterTmp[
"NAME"] =
GetMessage(
"SONET_INSTALL_LOG_PRESET_EXTRANET");
6737 array_key_exists(
"FILTER", $arPresetFilterTmp)
6738 && is_array($arPresetFilterTmp[
"FILTER"])
6741 foreach ($arPresetFilterTmp[
"FILTER"] as $tmp_id_2 => $filterTmp)
6745 !is_array($filterTmp)
6746 && $filterTmp ===
"#CURRENT_USER_ID#"
6749 is_array($filterTmp)
6750 && in_array(
"#CURRENT_USER_ID#", $filterTmp,
true)
6754 if (!
$USER->isAuthorized())
6759 elseif (!is_array($filterTmp))
6761 $arPresetFilterTmp[
"FILTER"][$tmp_id_2] =
$USER->getId();
6763 elseif (is_array($filterTmp))
6765 foreach($filterTmp as $tmp_id_3 => $valueTmp)
6767 if ($valueTmp ===
"#CURRENT_USER_ID#")
6769 $arPresetFilterTmp[
"FILTER"][$tmp_id_2][$tmp_id_3] =
$USER->getId();
6776 !is_array($filterTmp)
6777 && $filterTmp ===
"#EXTRANET_SITE_ID#"
6780 is_array($filterTmp)
6781 && in_array(
"#EXTRANET_SITE_ID#", $filterTmp)
6786 !ModuleManager::isModuleInstalled(
"extranet")
6787 || !COption::GetOptionString(
"extranet",
"extranet_site",
false)
6794 if (!is_array($filterTmp))
6796 $arPresetFilterTmp[
"FILTER"][$tmp_id_2] = COption::GetOptionString(
"extranet",
"extranet_site");
6800 foreach($filterTmp as $tmp_id_3 => $valueTmp)
6802 if ($valueTmp ===
"#EXTRANET_SITE_ID#")
6804 $arPresetFilterTmp[
"FILTER"][$tmp_id_2][$tmp_id_3] = COption::GetOptionString(
"extranet",
"extranet_site");
6814 $arFilter[$arPresetFilterTmp[
"ID"]] = $arPresetFilterTmp;
6821 public static function OnSonetLogFilterProcess($preset_filter_top_id, $preset_filter_id, $arResultPresetFiltersTop, $arResultPresetFilters)
6826 $preset_filter_id <>
''
6827 && array_key_exists($preset_filter_id, $arResultPresetFilters)
6828 && isset($arResultPresetFilters[$preset_filter_id][
"FILTER"])
6829 && is_array($arResultPresetFilters[$preset_filter_id][
"FILTER"])
6832 if (array_key_exists(
"EXACT_EVENT_ID", $arResultPresetFilters[$preset_filter_id][
"FILTER"]))
6834 $arResult[
"PARAMS"][
"EXACT_EVENT_ID"] = $arResultPresetFilters[$preset_filter_id][
"FILTER"][
"EXACT_EVENT_ID"];
6838 if (array_key_exists(
"!EXACT_EVENT_ID", $arResultPresetFilters[$preset_filter_id][
"FILTER"]))
6840 $arResult[
"PARAMS"][
"!EXACT_EVENT_ID"] = $arResultPresetFilters[$preset_filter_id][
"FILTER"][
"!EXACT_EVENT_ID"];
6844 if (array_key_exists(
"EVENT_ID", $arResultPresetFilters[$preset_filter_id][
"FILTER"]))
6846 $arResult[
"PARAMS"][
"EVENT_ID"] = $arResultPresetFilters[$preset_filter_id][
"FILTER"][
"EVENT_ID"];
6850 if (array_key_exists(
"CREATED_BY_ID", $arResultPresetFilters[$preset_filter_id][
"FILTER"]))
6852 $arResult[
"PARAMS"][
"CREATED_BY_ID"] = $arResultPresetFilters[$preset_filter_id][
"FILTER"][
"CREATED_BY_ID"];
6856 array_key_exists(
"FAVORITES_USER_ID", $arResultPresetFilters[$preset_filter_id][
"FILTER"])
6857 && $arResultPresetFilters[$preset_filter_id][
"FILTER"][
"FAVORITES_USER_ID"] ===
"Y"
6865 $arResult[
"PARAMS"][
"USE_FOLLOW"] =
"N";
6867 if (array_key_exists(
"SITE_ID", $arResultPresetFilters[$preset_filter_id][
"FILTER"]))
6869 $arResult[
"PARAMS"][
"FILTER_SITE_ID"] = $arResultPresetFilters[$preset_filter_id][
"FILTER"][
"SITE_ID"];
6878 if (!is_array($arDepartmentId))
6880 $arDepartmentId =
array($arDepartmentId);
6885 $dbSitesList = CSite::GetList(
"SORT",
"asc",
array(
"ACTIVE" =>
"Y"));
6886 while ($arSite = $dbSitesList->GetNext())
6888 $siteRootDepartmentId = COption::GetOptionString(
"main",
"wizard_departament",
false, $arSite[
"LID"],
true);
6889 if ($siteRootDepartmentId)
6891 if (in_array($siteRootDepartmentId, $arDepartmentId))
6898 $arSubStructure = CIntranetUtils::getSubStructure($siteRootDepartmentId);
6899 $arSiteDepartmentId = array_keys($arSubStructure[
"DATA"] ?? []);
6901 foreach($arDepartmentId as $userDepartmentId)
6903 if(in_array($userDepartmentId, $arSiteDepartmentId))
6921 if ($defSiteId = \CSite::getDefSite())
6923 $res = CSite::getByID($defSiteId);
6938 $arRelation =
array();
6941 foreach ($arAttachedFilesRaw as $attachedFileRow)
6944 !empty($attachedFileRow[
"base64"])
6945 && !empty($attachedFileRow[
"url"])
6948 $fileContent = base64_decode($attachedFileRow[
"base64"]);
6949 $arUri = parse_url($attachedFileRow[
"url"]);
6952 && !empty($arUri[
"path"])
6968 $arFile = CFile::MakeFileArray(
$fileName);
6970 $resultId = self::saveFileToUF($arFile,
$type,
false);
6977 if (!empty($attachedFileRow[
"id"]))
6979 $arRelation[$attachedFileRow[
"id"]] = $resultId;
6986 if (!empty($arRelation))
6988 $arFields[
"DETAIL_TEXT"] = preg_replace_callback(
6989 "/\[DISK\s+FILE\s+ID\s*=\s*pseudo@([\d]+)\]/isu",
6992 if (isset($arRelation[intval(
$matches[1])]))
6994 if (
$type ===
"disk")
6996 return "[DISK FILE ID=".$arRelation[intval(
$matches[1])].
"]";
7000 return "[DOCUMENT ID=".intval($arRelation[intval(
$matches[1])]).
"]";
7004 return "[DISK FILE ID=pseudo@".$matches[1].
"]";
7009 return "[DISK FILE ID=pseudo@".$matches[1].
"]";
7021 static $isDiskEnabled =
false;
7022 static $isWebDavEnabled =
false;
7024 static $arDiskData =
array();
7025 static $arWebDavData =
array();
7037 if ($isDiskEnabled ===
false)
7041 && CModule::includeModule(
'disk')
7047 if ($isWebDavEnabled ===
false)
7049 $isWebDavEnabled = (
7050 $isDiskEnabled ===
'N'
7051 && CModule::includeModule(
'webdav')
7057 if (!isset($arDiskData[
$userId]))
7063 if ($isDiskEnabled ===
"Y")
7079 if (!isset($arWebDavData[
$userId]))
7085 if ($isWebDavEnabled ===
"Y" &&
$USER instanceof \
CUser)
7087 $webDavData = CWebDavIblock::getRootSectionDataForUser(
$userId);
7089 if (is_array($webDavData))
7091 $webDavObject =
new CWebDavIblock(
7092 $webDavData[
"IBLOCK_ID"],
7095 "ROOT_SECTION_ID" => $webDavData[
"SECTION_ID"],
7096 "DOCUMENT_TYPE" =>
array(
"webdav",
'CIBlockDocumentWebdavSocnet',
'iblock_'.$webDavData[
'SECTION_ID'].
'_user_'.
$userId)
7102 $arParent = $webDavObject->GetObject(
7104 "section_id" => $webDavObject->GetMetaID(
"DROPPED")
7108 if (!$arParent[
"not_found"])
7110 $path = $webDavObject->_get_path($arParent[
"item_id"],
false);
7111 $tmpName = str_replace(
array(
":",
".",
"/",
"\\"),
"_", ConvertTimeStamp(time(),
"FULL"));
7112 $tmpOptions =
array(
"path" => str_replace(
"//",
"/",
$path.
"/".$tmpName));
7113 $arParent = $webDavObject->GetObject($tmpOptions);
7114 if ($arParent[
"not_found"])
7116 $rMKCOL = $webDavObject->MKCOL($tmpOptions);
7117 if ((
int)$rMKCOL == 201)
7119 $webDavData[
"SECTION_ID"] = $webDavObject->arParams[
"changed_element_id"];
7124 $webDavData[
"SECTION_ID"] = $arParent[
'item_id'];
7125 if (!$webDavObject->CheckUniqueName($tmpName, $webDavData[
"SECTION_ID"], $tmpRes))
7127 $path = $webDavObject->_get_path($webDavData[
"SECTION_ID"],
false);
7129 $tmpOptions =
array(
"path" => str_replace(
"//",
"/",
$path.
"/".$tmpName));
7130 $rMKCOL = $webDavObject->MKCOL($tmpOptions);
7131 if (intval($rMKCOL) == 201)
7133 $webDavData[
"SECTION_ID"] = $webDavData->arParams[
"changed_element_id"];
7140 "OBJECT" => $webDavObject,
7141 "DATA" => $webDavData
7149 if(is_array($arFile))
7152 if ($arDiskData[
$userId][
"ENABLED"] ===
"Y")
7155 $file = $arDiskData[
$userId][
"FOLDER"]->uploadFile(
7158 'NAME' => $arFile[
"name"],
7167 $resultId = \Bitrix\Disk\Uf\FileUserType::NEW_FILE_PREFIX.$file->getId();
7176 "arFile" => $arFile,
7177 "arDocumentStates" =>
false,
7178 "arUserGroups" => array_merge($arWebDavData[
$userId][
"OBJECT"]->USER[
"GROUPS"],
array(
"Author")),
7179 "FILE_NAME" => $arFile[
"name"],
7180 "IBLOCK_ID" => $arWebDavData[
$userId][
"DATA"][
"IBLOCK_ID"],
7181 "IBLOCK_SECTION_ID" => $arWebDavData[
$userId][
"DATA"][
"SECTION_ID"],
7182 "USER_FIELDS" =>
array()
7187 $DB->StartTransaction();
7196 $resultId =
$options[
'ELEMENT_ID'];
7203 $resultId = CFile::SaveFile($arFile, $arFile[
"MODULE_ID"]);
7216 &&
$GLOBALS[$fieldName][0] ===
'empty'
7227 || (
int)
$arParams[
"TRAFFIC_SET_PERIOD"] <= 0
7230 $arParams[
"TRAFFIC_SET_PERIOD"] = 60*60*24;
7254 ? (
$arParams[
'DATE_TIME_FORMAT'] ===
'FULL'
7260 $arParams[
"DATE_TIME_FORMAT"] = preg_replace(
'/[\/.,\s:][s]/',
'',
$arParams[
"DATE_TIME_FORMAT"]);
7261 $arParams[
"DATE_TIME_FORMAT_WITHOUT_YEAR"] = (
7262 isset(
$arParams[
"DATE_TIME_FORMAT_WITHOUT_YEAR"])
7263 ?
$arParams[
"DATE_TIME_FORMAT_WITHOUT_YEAR"]
7264 : preg_replace(
'/[\/.,\s-][Yyo]/',
'',
$arParams[
"DATE_TIME_FORMAT"])
7269 : preg_replace(
'/[\/.,\s]+$/',
'', preg_replace(
'/^[\/.,\s]+/',
'', preg_replace(
'/[dDjlFmMnYyo]/',
'',
$arParams[
"DATE_TIME_FORMAT"])))
7274 : preg_replace(
'/[\/.,:\s]+$/',
'', preg_replace(
'/^[\/.,\s]+/',
'', preg_replace(
'/[aABgGhHisuveIOPTZ]/',
'',
$arParams[
"DATE_TIME_FORMAT"])))
7280 return \CComponentUtil::getDateTimeFormatted($timestamp, $arFormatParams[
"DATE_TIME_FORMAT"], CTimeZone::GetOffset());
7290 "COMMENT_RIGHTS_EDIT" =>
"N",
7291 "COMMENT_RIGHTS_DELETE" =>
"N"
7308 $bCheckAdminSession = (
7309 !isset(
$arParams[
"CHECK_ADMIN_SESSION"])
7310 ||
$arParams[
"CHECK_ADMIN_SESSION"] !==
"N"
7315 $bHasEditCallback = (
7316 is_array($arCommentEventMeta)
7317 && isset($arCommentEventMeta[
"UPDATE_CALLBACK"])
7319 $arCommentEventMeta[
"UPDATE_CALLBACK"] ===
"NO_SOURCE"
7320 || is_callable($arCommentEventMeta[
"UPDATE_CALLBACK"])
7324 $bHasDeleteCallback = (
7325 is_array($arCommentEventMeta)
7326 && isset($arCommentEventMeta[
"DELETE_CALLBACK"])
7328 $arCommentEventMeta[
"DELETE_CALLBACK"] ===
"NO_SOURCE"
7329 || is_callable($arCommentEventMeta[
"DELETE_CALLBACK"])
7335 || $bHasDeleteCallback
7341 !empty($arEventMeta)
7342 && !empty($arEventMeta[
"COMMENT_EVENT"])
7343 && !empty($arEventMeta[
"COMMENT_EVENT"][
"METHOD_CANEDIT"])
7346 $res = call_user_func($arEventMeta[
"COMMENT_EVENT"][
"METHOD_CANEDIT"],
array(
7347 "LOG_SOURCE_ID" => $logSourceId,
7353 $arResult[
"COMMENT_RIGHTS_EDIT"] = ($bHasEditCallback ?
"ALL" :
"N");
7354 $arResult[
"COMMENT_RIGHTS_DELETE"] = ($bHasDeleteCallback ?
"ALL" :
"N");
7358 if (!empty($arEventMeta[
"COMMENT_EVENT"][
"METHOD_CANEDITOWN"]))
7360 $res = call_user_func($arEventMeta[
"COMMENT_EVENT"][
"METHOD_CANEDITOWN"],
array(
7361 "LOG_SOURCE_ID" => $logSourceId,
7367 $arResult[
"COMMENT_RIGHTS_EDIT"] = ($bHasEditCallback ?
"OWN" :
"N");
7368 $arResult[
"COMMENT_RIGHTS_DELETE"] = ($bHasDeleteCallback ?
"OWN" :
"N");
7373 $arResult[
"COMMENT_RIGHTS_EDIT"] = ($bHasEditCallback ?
"OWN" :
"N");
7374 $arResult[
"COMMENT_RIGHTS_DELETE"] = ($bHasDeleteCallback ?
"OWN" :
"N");
7378 elseif (CSocNetUser::IsCurrentUserModuleAdmin(
SITE_ID, $bCheckAdminSession))
7380 $arResult[
"COMMENT_RIGHTS_EDIT"] = ($bHasEditCallback ?
"ALL" :
"N");
7381 $arResult[
"COMMENT_RIGHTS_DELETE"] = ($bHasDeleteCallback ?
"ALL" :
"N");
7385 $arResult[
"COMMENT_RIGHTS_EDIT"] = ($bHasEditCallback ?
"OWN" :
"N");
7386 $arResult[
"COMMENT_RIGHTS_DELETE"] = ($bHasDeleteCallback ?
"OWN" :
"N");
7425 "EVENT_ID" =>
$arParams[
"LOG_EVENT_ID"],
7426 "SOURCE_ID" => (isset(
$arParams[
"LOG_SOURCE_ID"]) ? intval(
$arParams[
"LOG_SOURCE_ID"]) :
false),
7427 "CHECK_ADMIN_SESSION" => (isset(
$arParams[
"CHECK_ADMIN_SESSION"]) &&
$arParams[
"CHECK_ADMIN_SESSION"] ==
"N" ?
"N" :
"Y"),
7431 $key = (
$arParams[
"ACTION"] ===
"EDIT" ?
"COMMENT_RIGHTS_EDIT" :
"COMMENT_RIGHTS_DELETE");
7438 && (
int)
$arParams[
"COMMENT_USER_ID"] > 0
7453 $arRedirectSite =
false;
7455 if (
$USER->IsAuthorized())
7457 $rsCurrentUser = CUser::GetById(
$USER->GetId());
7458 if ($arCurrentUser = $rsCurrentUser->Fetch())
7460 $bCurrentUserIntranet = (
7461 !empty($arCurrentUser[
"UF_DEPARTMENT"])
7462 && is_array($arCurrentUser[
"UF_DEPARTMENT"])
7463 && intval($arCurrentUser[
"UF_DEPARTMENT"][0]) > 0
7468 && $bCurrentUserIntranet
7469 && !CSocNetUser::IsCurrentUserModuleAdmin()
7473 if ($arRedirectSite[
"LID"] ==
SITE_ID)
7475 $arRedirectSite =
false;
7480 && !$bCurrentUserIntranet
7481 && !CSocNetUser::IsCurrentUserModuleAdmin(
SITE_ID,
false)
7484 $rsRedirectSite = CSite::GetList(
"SORT",
"asc",
array(
"ACTIVE" =>
"Y",
"LID" => $extranetSiteId));
7485 $arRedirectSite = $rsRedirectSite->Fetch();
7490 return $arRedirectSite;
7501 trim($arRedirectSite[
"SERVER_NAME"]) <>
''
7502 && $arRedirectSite[
"SERVER_NAME"] != SITE_SERVER_NAME
7503 ? (CMain::IsHTTPS() ?
"https" :
"http").
"://".$arRedirectSite[
"SERVER_NAME"]
7506 COption::GetOptionString(
"socialnetwork", (
$entity ===
"user" ?
"user_page" :
"workgroups_page"),
false, $arRedirectSite[
"LID"]).
7507 CComponentEngine::MakePathFromTemplate(
7508 $arDefaultUrlTemplates404[$componentPage],
7512 if (!empty($_GET[
"MID"]))
7514 $url .= (mb_strpos(
$url,
'?') ===
false ?
'?' :
'&').
'MID=' . (
int)$_GET[
"MID"];
7524 $commentId = (int)$commentId;
7525 $postId = (int)$postId;
7536 array(
"EVENT_ID",
"SOURCE_ID",
"ENTITY_ID")
7539 if ($arLog = $rsLog->Fetch())
7541 $hasSource = ComponentHelper::hasCommentSource(
array(
7542 "LOG_EVENT_ID" => $arLog[
"EVENT_ID"],
7543 "LOG_ENTITY_ID" => $arLog[
"ENTITY_ID"]
7549 "EVENT_ID" => $arCommentEvent[
"EVENT_ID"]
7566 array(
"ID",
"EVENT_ID",
"MESSAGE",
"USER_ID",
"SOURCE_ID",
"LOG_SOURCE_ID",
"UF_*")
7577 "LOG_ID" => $postId,
7578 "LOG_EVENT_ID" => $arLog[
"EVENT_ID"],
7579 "LOG_SOURCE_ID" => $arLog[
"SOURCE_ID"],
7580 "COMMENT_ID" =>
$arRes[
"ID"],
7581 "COMMENT_USER_ID" =>
$arRes[
"USER_ID"],
7582 "CHECK_ADMIN_SESSION" => ($checkAdminSession ?
"Y" :
"N")
7601 foreach($arUFMeta as $field_name => $arUF)
7604 array_key_exists($field_name,
$arRes)
7605 && !empty(
$arRes[$field_name])
7608 $arRes[
"UF"][$field_name] = $arUFMeta[$field_name];
7609 $arRes[
"UF"][$field_name][
"VALUE"] =
$arRes[$field_name];
7610 $arRes[
"UF"][$field_name][
"ENTITY_VALUE_ID"] =
$arRes[
"ID"];
7611 unset(
$arRes[$field_name]);
7626 $res =
"LOG_COMMENT";
7631 && isset($arCommentEventMeta[
"RATING_TYPE_ID"])
7634 $res = $arCommentEventMeta[
"RATING_TYPE_ID"];
7637 $logEventId ===
"photo_photo"
7644 && isset($commentType[
"TYPE"])
7647 if ($commentType[
"TYPE"] ===
"FORUM")
7649 $res =
"FORUM_POST";
7651 elseif ($commentType[
"TYPE"] ===
"BLOG")
7653 $res =
"BLOG_COMMENT";
7657 elseif (in_array($logEventId,
array(
"wiki",
"calendar",
"news",
"lists_new_element",
"timeman_entry",
"report")))
7659 $res =
"FORUM_POST";
7661 elseif ($logEventId ===
"idea")
7663 $res =
"BLOG_COMMENT";
const BLOG_PERMS_MODERATE
const BLOG_PUBLISH_STATUS_READY
const BLOG_PERMS_PREMODERATE
if(! $messageFields||!isset($messageFields['message_id'])||!isset($messageFields['status'])||!CModule::IncludeModule("messageservice")) $messageId
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static get($moduleId, $name, $default="", $siteId=false)
static getList(array $parameters=array())
static get(int $groupId, null|string|Type $groupType=null, array $parameters=[])
static GetPostID($postID, $code, $allowCode=false)
static GetByID($ID, $arAddParams=array())
static GetByID($ID, $arAddParams=array())
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
static GetList( $arOrder=["ID"=> "DESC"], $arFilter=[], $arGroupBy=false, $arNavStartParams=false, $arSelectFields=[])
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 Add($arFields, $strUploadDir=false, $arParams=array())
static GetListEx($arOrder=Array("ID"=>"ASC"), $arFilter=Array())
static checkEmptyUFValue($fieldName)
static getDateTimeFormatted($timestamp, $arFormatParams)
OnBeforeSonetLogFilterFill(&$arPageParamsToClear, &$arItemsTop, &$arItems)
static redirectExtranetSite($arRedirectSite, $componentPage, $arVariables, $arDefaultUrlTemplates404, $entity="user")
static ConvertPresetToFilters(array $arPreset, ?int $groupId)
static OnSonetLogFilterProcess($preset_filter_top_id, $preset_filter_id, $arResultPresetFiltersTop, $arResultPresetFilters)
static getCommentRights($arParams)
static saveRawFilesToUF($arAttachedFilesRaw, $ufCode, &$arFields)
static processDateTimeFormatParams(&$arParams=array())
static saveFileToUF($arFile=array(), &$type=null, $userId=false)
static canUserChangeComment($arParams)
static GetSiteByDepartmentId($arDepartmentId)
static getCommentByRequest($commentId, $postId, $action=false, $checkPerms=true, $checkAdminSession=true)
static getCommentRatingType($logEventId, $logId=false)
static isSetTrafficNeeded($arParams)
static getExtranetRedirectSite($extranetSiteId)
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array(), $arParams=array())
static Update($ID, $arFields)
static GetList($aSort=array(), $aFilter=array())
convertText($text, $attributes=[])
pre_convert_code_tag($text="")
convert_image_tag($url="", $params="")
convert_anchor_tag($url, $text, $attributes=[])
convert_quote_tag($text="")
convert($text, $arImages=array(), $allow=array("HTML"=> "N", "ANCHOR"=> "Y", "BIU"=> "Y", "IMG"=> "Y", "QUOTE"=> "Y", "CODE"=> "Y", "FONT"=> "Y", "LIST"=> "Y", "SMILES"=> "Y", "NL2BR"=> "N", "VIDEO"=> "Y", "TABLE"=> "Y", "CUT_ANCHOR"=> "N", "SHORT_ANCHOR"=> "N"), $arParams=Array())
convert_code_tag($text="")
__construct($strLang=False, $pathToSmile=false)
convert_font_attr($attr, $value="", $text="")
if(!is_array($prop["VALUES"])) $tmp
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
ForumClearComponentCache($components)
ForumActions($action, $arFields, &$strErrorMessage, &$strOKMessage)
ForumAddMessage( $MESSAGE_TYPE, $FID, $TID, $MID, $arFieldsG, &$strErrorMessage, &$strOKMessage, $iFileSize=false, $captcha_word="", $captcha_sid=0, $captcha_code="")
global $USER_FIELD_MANAGER
$_SERVER["DOCUMENT_ROOT"]
const BX_RESIZE_IMAGE_EXACT
ExecuteModuleEventEx($arEvent, $arParams=[])
htmlspecialcharsback($str)
HTMLToTxt($str, $strSiteUrl="", $aDelete=[], $maxlen=70)
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
GetMessage($name, $aReplace=null)
BXClearCache($full=false, $initdir='')
randString($pass_len=10, $pass_chars=false)
LocalRedirect($url, $skip_security_check=false, $status="302 Found")
TruncateText($strText, $intLen)
if(intval($iTestTransaction) > 0) $arTmp
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
if(empty($signedUserToken)) $key
if(empty($decryptedData)) $storage
</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."%"
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
const SONET_SUBSCRIBE_ENTITY_USER
const SONET_SUBSCRIBE_ENTITY_GROUP
const SONET_ROLES_MODERATOR
if( $_SERVER $arSocNetFeaturesSettings['REQUEST_METHOD']=="GET" &&($RestoreDefaults ?? null)<> '' && $SONET_RIGHT=="W" &&check_bitrix_sessid())
$GLOBALS['_____370096793']