6Loc::loadMessages(__FILE__);
15 static $arSiteWorkgroupsPage;
20 !$arSiteWorkgroupsPage
25 $rsSite = CSite::GetList(
"sort",
"desc", Array(
"ACTIVE" =>
"Y"));
26 while($arSite = $rsSite->Fetch())
28 $arSiteWorkgroupsPage[$arSite[
"ID"]] = COption::GetOptionString(
"socialnetwork",
"workgroups_page", $arSite[
"DIR"].
"workgroups/", $arSite[
"ID"]);
34 $APPLICATION->ThrowException(
"System error 870164",
"ERROR");
42 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_EMPTY_ENTITY_TYPE"),
"EMPTY_ENTITY_TYPE");
48 if (!in_array((
string)
$arFields[
"ENTITY_TYPE"], CSocNetAllowed::GetAllowedEntityTypes(),
true))
50 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_ERROR_NO_ENTITY_TYPE"),
"ERROR_NO_ENTITY_TYPE");
54 $newEntityType = (string)
$arFields[
"ENTITY_TYPE"];
59 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_EMPTY_ENTITY_ID"),
"EMPTY_ENTITY_ID");
65 if ($newEntityType ===
'' &&
$ID > 0)
70 $newEntityType = (string)$arRe[
"ENTITY_TYPE"];
73 if ($newEntityType ===
'')
75 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_ERROR_CALC_ENTITY_TYPE"),
"ERROR_CALC_ENTITY_TYPE");
81 if (!CSocNetGroup::GetByID(
$arFields[
"ENTITY_ID"]))
83 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_ERROR_NO_ENTITY_ID"),
"ERROR_NO_ENTITY_ID");
92 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_ERROR_NO_ENTITY_ID"),
"ERROR_NO_ENTITY_ID");
112 $rsGroupSite = CSocNetGroup::GetSite(
$arFields[
"ENTITY_ID"]);
113 while($arGroupSite = $rsGroupSite->Fetch())
135 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_EMPTY_EVENT_ID"),
"EMPTY_EVENT_ID");
148 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_ERROR_NO_FEATURE_ID"),
"ERROR_NO_FEATURE");
155 $res = CUser::getList(
158 [
'ID_EQUAL_EXACT' =>
$arFields[
"USER_ID"]],
159 [
'FIELDS' => [
'ID']],
163 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_ERROR_NO_USER_ID"),
"ERROR_NO_USER_ID");
170 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_EMPTY_DATE_CREATE"),
"EMPTY_LOG_DATE");
176 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_EMPTY_TITLE"),
"EMPTY_TITLE");
190 $contextUserId = (int)
$arFields[
"CONTEXT_USER_ID"];
197 $contextUserId = (int)
$arFields[
"USER_ID"];
201 $contextUserId =
false;
210 is_array($arSiteWorkgroupsPage)
213 foreach($arSiteWorkgroupsPage as $groups_page)
215 if (mb_strpos(
$arFields[
"URL"], $groups_page) === 0)
217 $arFields[
"URL"] =
"#GROUPS_PATH#".mb_substr(
$arFields[
"URL"], mb_strlen($groups_page));
235 $APPLICATION->ThrowException(Loc::getMessage(
"SONET_GL_WRONG_PARAMETER_ID"),
"ERROR_NO_ID");
251 $titleTemplate = (string)$titleTemplate;
262 if ($titleTemplate !==
'')
265 (mb_strpos($titleTemplate,
"#TITLE#") !==
false)
266 ? Str_Replace(
"#TITLE#",
$title, $titleTemplate)
267 : $titleTemplate .
' "' .
$title .
'"'
314 :
"CSocNetLog::SendEventAgent(".
$ID.
", '".$mailTemplate.
"');"
320 $mailTemplate =
"SONET_NEW_EVENT",
327 $arSocNetAllowedSubscribeEntityTypesDesc = CSocNetAllowed::GetAllowedEntityTypesDesc();
343 array(
"ID",
"ENTITY_TYPE",
"ENTITY_ID",
"USER_ID",
"USER_NAME",
"USER_LAST_NAME",
"USER_SECOND_NAME",
"USER_LOGIN",
"EVENT_ID",
"LOG_DATE",
"TITLE_TEMPLATE",
"TITLE",
"MESSAGE",
"TEXT_MESSAGE",
"URL",
"MODULE_ID",
"CALLBACK_FUNC",
"SITE_ID",
"PARAMS",
"SOURCE_ID",
"GROUP_NAME",
"CREATED_BY_NAME",
"CREATED_BY_SECOND_NAME",
"CREATED_BY_LAST_NAME",
"CREATED_BY_LOGIN",
"LOG_SOURCE_ID"),
344 array(
"MIN_ID_JOIN" =>
true)
352 if (
MakeTimeStamp($arLog[
"LOG_DATE"]) > (time() + CTimeZone::GetOffset()))
354 $agent =
"CSocNetLog::SendEventAgent(".$ID.
", '".CUtil::addslashes($mailTemplate).
"');";
355 $rsAgents = CAgent::GetList(
array(
"ID"=>
"DESC"),
array(
"NAME" => $agent));
356 if(!$rsAgents->Fetch())
358 $res = CAgent::AddAgent($agent,
"socialnetwork",
"N", 0, $arLog[
"LOG_DATE"],
"Y", $arLog[
"LOG_DATE"]);
366 CAgent::RemoveAgent($agent,
"socialnetwork");
367 CAgent::AddAgent($agent,
"socialnetwork",
"N", 0, $arLog[
"LOG_DATE"],
"Y", $arLog[
"LOG_DATE"]);
376 && isset($arEvent[
"CLASS_FORMAT"], $arEvent[
"METHOD_FORMAT"])
379 $dbSiteCurrent = CSite::GetByID(
SITE_ID);
381 ($arSiteCurrent = $dbSiteCurrent->Fetch())
382 && $arSiteCurrent[
"LANGUAGE_ID"] !== LANGUAGE_ID
385 $arLog[
"MAIL_LANGUAGE_ID"] = $arSiteCurrent[
"LANGUAGE_ID"];
388 $arLog[
"FIELDS_FORMATTED"] = call_user_func(
array($arEvent[
"CLASS_FORMAT"], $arEvent[
"METHOD_FORMAT"]), $arLog,
array(),
true);
393 $arSocNetAllowedSubscribeEntityTypesDesc[$arLog[
"ENTITY_TYPE"]][
"HAS_MY"],
394 $arSocNetAllowedSubscribeEntityTypesDesc[$arLog[
"ENTITY_TYPE"]][
"CLASS_OF"],
395 $arSocNetAllowedSubscribeEntityTypesDesc[$arLog[
"ENTITY_TYPE"]][
"METHOD_OF"]
397 && $arSocNetAllowedSubscribeEntityTypesDesc[$arLog[
"ENTITY_TYPE"]][
"HAS_MY"] ===
"Y"
398 && $arSocNetAllowedSubscribeEntityTypesDesc[$arLog[
"ENTITY_TYPE"]][
"CLASS_OF"] !==
''
399 && $arSocNetAllowedSubscribeEntityTypesDesc[$arLog[
"ENTITY_TYPE"]][
"METHOD_OF"] !==
''
401 $arSocNetAllowedSubscribeEntityTypesDesc[$arLog[
"ENTITY_TYPE"]][
"CLASS_OF"],
402 $arSocNetAllowedSubscribeEntityTypesDesc[$arLog[
"ENTITY_TYPE"]][
"METHOD_OF"]
406 $arOfEntities = call_user_func(
array($arSocNetAllowedSubscribeEntityTypesDesc[$arLog[
"ENTITY_TYPE"]][
"CLASS_OF"], $arSocNetAllowedSubscribeEntityTypesDesc[$arLog[
"ENTITY_TYPE"]][
"METHOD_OF"]), $arLog[
"ENTITY_ID"]);
410 $arOfEntities =
false;
413 $hasAccessAll =
false;
416 $arUserIdToPush = (
$arFields[
"USERS_TO_PUSH"] ?? []);
419 'ENTITY_ID' => $arLog[
"ID"],
420 'EVENT_ID' => $arLog[
"EVENT_ID"],
421 'OF_ENTITIES' => $arOfEntities,
423 'FOR_ALL_ACCESS' => $hasAccessAll,
426 || empty($arUserIdToPush)
427 ||
count($arUserIdToPush) > 20
439 $entitiesList =
false,
441 $forAllAccess =
false,
442 $userIdToPushList = []
452 $eventId = (string)(
$arFields[
"EVENT_ID"] ??
'');
454 $forAllAccess = (
$arFields[
"FOR_ALL_ACCESS"] ??
false);
455 $userIdToPushList = (
$arFields[
"USERS_TO_PUSH"] ?? []);
463 $sendToAuthor =
false;
481 CUserCounter::IncrementWithSelect(
486 "FOR_ALL_ACCESS" =>
false,
488 "SET_TIMESTAMP" =>
"Y",
489 "SEND_TO_AUTHOR" => ($sendToAuthor ?
'Y' :
'N')
494 'SET_TIMESTAMP' =>
'Y',
503 CUserCounter::IncrementWithSelect(
508 "FOR_ALL_ACCESS_ONLY" =>
true,
511 "SET_TIMESTAMP" =>
"Y",
512 "SEND_TO_AUTHOR" => ($sendToAuthor ?
'Y' :
'N')
517 "SET_TIMESTAMP" =>
"Y",
523 CUserCounter::IncrementWithSelect(
528 "FOR_ALL_ACCESS_ONLY" =>
false,
530 "SET_TIMESTAMP" =>
"Y",
531 "SEND_TO_AUTHOR" => ($sendToAuthor ?
'Y' :
'N')
536 "SET_TIMESTAMP" =>
"Y",
542 if ($eventId ===
"blog_post_important")
544 CUserCounter::IncrementWithSelect(
549 "CODE" =>
"'BLOG_POST_IMPORTANT'",
550 "FOR_ALL_ACCESS" => $forAllAccess,
552 "SEND_TO_AUTHOR" => ($sendToAuthor ?
'Y' :
'N')
570 $forAllAccess =
false
573 $logId = (int)$logId;
579 CUserCounter::IncrementWithSelect(
585 "FOR_ALL_ACCESS" => $forAllAccess,
590 if ($eventId ===
"blog_post_important")
592 CUserCounter::IncrementWithSelect(
597 "CODE" =>
"'BLOG_POST_IMPORTANT'",
599 "FOR_ALL_ACCESS" => $forAllAccess,
622 $userID =
$USER->GetID();
625 if (
$hash = CUser::GetHitAuthHash(
$url, $userID))
636 $arEvent[
"EVENT_ID"] ===
"system"
637 || $arEvent[
"EVENT_ID"] ===
"system_friends"
638 || $arEvent[
"EVENT_ID"] ===
"system_groups"
641 $arEvent[
"TITLE_TEMPLATE"] =
"";
642 $arEvent[
"URL"] =
"";
644 switch ($arEvent[
"TITLE"])
649 Loc::getMessage(
"SONET_GL_TITLE_JOIN1"),
650 Loc::getMessage(
"SONET_GL_TITLE_JOIN2"),
653 $arEvent[
"TITLE"] = $titleTmp;
654 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
659 Loc::getMessage(
"SONET_GL_TITLE_UNJOIN1"),
660 Loc::getMessage(
"SONET_GL_TITLE_UNJOIN2"),
663 $arEvent[
"TITLE"] = $titleTmp;
664 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
669 Loc::getMessage(
"SONET_GL_TITLE_MODERATE1"),
670 Loc::getMessage(
"SONET_GL_TITLE_MODERATE2"),
673 $arEvent[
"TITLE"] = $titleTmp;
674 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
679 Loc::getMessage(
"SONET_GL_TITLE_UNMODERATE1"),
680 Loc::getMessage(
"SONET_GL_TITLE_UNMODERATE2"),
683 $arEvent[
"TITLE"] = $titleTmp;
684 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
689 Loc::getMessage(
"SONET_GL_TITLE_OWNER1"),
690 Loc::getMessage(
"SONET_GL_TITLE_OWNER1"),
693 $arEvent[
"TITLE"] = $titleTmp;
694 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
699 Loc::getMessage(
"SONET_GL_TITLE_FRIEND1"),
700 Loc::getMessage(
"SONET_GL_TITLE_FRIEND1"),
702 $arEvent[
"TITLE"] = $titleTmp;
703 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
708 Loc::getMessage(
"SONET_GL_TITLE_UNFRIEND1"),
709 Loc::getMessage(
"SONET_GL_TITLE_UNFRIEND1"),
712 $arEvent[
"TITLE"] = $titleTmp;
713 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
718 Loc::getMessage(
"SONET_GL_TITLE_GROUP1"),
719 Loc::getMessage(
"SONET_GL_TITLE_GROUP1"),
722 $arEvent[
"TITLE"] = $titleTmp;
723 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
728 Loc::getMessage(
"SONET_GL_TITLE_UNGROUP1"),
729 Loc::getMessage(
"SONET_GL_TITLE_UNGROUP1"),
732 $arEvent[
"TITLE"] = $titleTmp;
733 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
738 Loc::getMessage(
"SONET_GL_TITLE_EXCLUDE_USER1"),
739 Loc::getMessage(
"SONET_GL_TITLE_EXCLUDE_USER1"),
742 $arEvent[
"TITLE"] = $titleTmp;
743 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
745 case "exclude_group":
748 Loc::getMessage(
"SONET_GL_TITLE_EXCLUDE_GROUP1"),
749 Loc::getMessage(
"SONET_GL_TITLE_EXCLUDE_GROUP1"),
752 $arEvent[
"TITLE"] = $titleTmp;
753 $arEvent[
"MESSAGE_FORMAT"] = $messageTmp;
768 $bUseLogin = (
$arParams[
'SHOW_LOGIN'] !==
"N");
770 $dbUser = CUser::GetByID($userID);
771 if ($arUser = $dbUser->Fetch())
773 if ($bCurrentUserIsAdmin ===
"unknown")
775 $bCurrentUserIsAdmin = CSocNetUser::IsCurrentUserModuleAdmin();
779 $pu = CComponentEngine::MakePathFromTemplate(
$arParams[
"PATH_TO_USER"],
array(
"user_id" => $arUser[
"ID"]));
781 if (!$bRSS && $canViewProfile)
783 $title .=
"<a href=\"".$pu.
"\">";
786 $title .= CUser::FormatName(
$arParams[
'NAME_TEMPLATE'], $arUser, $bUseLogin);
787 if (!$bRSS && $canViewProfile)
792 if ((
int)$arUser[
"PERSONAL_PHOTO"] <= 0)
794 switch ($arUser[
"PERSONAL_GENDER"])
805 $arUser[
"PERSONAL_PHOTO"] = COption::GetOptionInt(
"socialnetwork",
"default_user_picture_".$suffix,
false,
SITE_ID);
807 $arImage =
CSocNetTools::InitImage($arUser[
"PERSONAL_PHOTO"], 100,
"/bitrix/images/socialnetwork/nopic_user_100.gif", 100, $pu, $canViewProfile);
817 $arUsersID = explode(
",",
$message);
825 if ($bCurrentUserIsAdmin ===
"unknown")
827 $bCurrentUserIsAdmin = CSocNetUser::IsCurrentUserModuleAdmin();
830 foreach ($arUsersID as $userID)
834 $titleTmp = (string)$titleTmp;
835 $messageTmp = (string)$messageTmp;
837 if ($titleTmp !==
'')
847 if ($messageTmp !==
'')
866 $arGroup = CSocNetGroup::GetByID($groupID);
869 $pu = CComponentEngine::MakePathFromTemplate(
$arParams[
"PATH_TO_GROUP"],
array(
"group_id" => $arGroup[
"ID"]));
873 $title .=
"<a href=\"".$pu.
"\">";
875 $title .= $arGroup[
"NAME"];
881 if ((
int)$arGroup[
"IMAGE_ID"] <= 0)
883 $arGroup[
"IMAGE_ID"] = COption::GetOptionInt(
"socialnetwork",
"default_group_picture",
false,
SITE_ID);
886 $arImage =
CSocNetTools::InitImage($arGroup[
"IMAGE_ID"], 100,
"/bitrix/images/socialnetwork/nopic_group_100.gif", 100, $pu,
true);
896 $arGroupsID = explode(
",",
$message);
903 foreach ($arGroupsID as $groupID)
907 $titleTmp = (string)$titleTmp;
908 $messageTmp = (string)$messageTmp;
910 if ($titleTmp !==
'')
920 if ($messageTmp !==
'')
1028 $strSql =
"SELECT L.*, LS.* FROM b_sonet_log_site LS, b_lang L WHERE L.LID=LS.SITE_ID AND LS.LOG_ID=" . (int)$log_id;
1029 return $DB->Query($strSql);
1036 if ($strNegative !==
"Y")
1038 $arOrFields = explode(
"|", $OrFields);
1039 if (
count($arOrFields) > 1)
1042 foreach($arOrFields as
$i => $field)
1046 $strOrFields .=
" OR ";
1048 $strOrFields .=
"(".$field.
" ".$strOperation.
" '".
$DB->ForSql(
$val).
"')";
1050 return $strOrFields;
static checkLivefeedTasksAllowed()
static __InitGroupTmp($groupId)
static __InitGroupsTmp($message, $titleTemplate1, $titleTemplate2)
static __InitUserTmp($userId)
static __InitUsersTmp($message, $titleTemplate1, $titleTemplate2)
static sendPush($params=array())
static GetSubSelect2($entityId, array $arParams=[])
static InitGroupTmp($groupID, $arParams, $bRSS=false)
static FormatEvent_System($arFields, $arParams, $bMail=false)
static FormatEvent_BlogPostComment($arFields, $arParams, $bMail=false)
static FormatEvent_Files($arFields, $arParams, $bMail=false)
static __InitGroupTmp($groupID)
static SendEventAgent($ID, $mailTemplate="SONET_NEW_EVENT")
static SendEvent( $ID, $mailTemplate="SONET_NEW_EVENT", $tmpId=0, $bAgent=false)
static FormatEvent_SystemGroups($arFields, $arParams, $bMail=false)
static InitUserTmp($userID, $arParams, $bCurrentUserIsAdmin="unknown", $bRSS=false)
static CheckFields($ACTION, &$arFields, $ID=0)
static CounterIncrement( $entityId, $eventId='', $entitiesList=false, $type=CSocNetLogCounter::TYPE_LOG_ENTRY, $forAllAccess=false, $userIdToPushList=[])
static CounterDecrement( $logId, $eventId='', $type=CSocNetLogCounter::TYPE_LOG_ENTRY, $forAllAccess=false)
static MakeTitle($titleTemplate, $title, $url='', $bHtml=true)
static InitUsersTmp($message, $titleTemplate1, $titleTemplate2, $arParams, $bCurrentUserIsAdmin="unknown", $bRSS=false)
static InitGroupsTmp($message, $titleTemplate1, $titleTemplate2, $arParams, $bRSS=false)
static ShowGroup($arEntityDesc, $strEntityURL, $arParams)
static OnSocNetLogFormatEvent($arEvent, $arParams)
static SetUserCache($user_id, $max_id, $max_viewed_id, $count)
static GetSimpleOrQuery($val, $key, $strOperation, $strNegative, $OrFields, &$arFields, &$arFilter)
static __InitUserTmp($userID)
static FormatEvent_Microblog($arFields, $arParams, $bMail=false)
static GetCacheLastLogID()
static GetUserCache($user_id)
static ShowUser($arEntityDesc, $strEntityURL, $arParams)
static SetCacheLastLogID($id)
static __InitGroupsTmp($message, $titleTemplate1, $titleTemplate2)
static FormatEvent_CreateAvatar($arFields, $arParams, $source="CREATED_BY_")
static FormatEvent_Forum($arFields, $arParams, $bMail=false)
static FormatEvent_Photo($arFields, $arParams, $bMail=false)
static FormatEvent_IsMessageShort($message, $short_message=false)
static FormatEvent_FillTooltip($arFields, $arParams)
static FormatEvent_Task($arFields, $arParams, $bMail=false)
static GetSign($url, $userID=false, $site_id=false)
static __InitUsersTmp($message, $titleTemplate1, $titleTemplate2)
static FormatEvent_SystemFriends($arFields, $arParams, $bMail=false)
static CanPerformOperation($fromUserID, $toUserID, $operation, $bCurrentUserIsAdmin=false)
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array(), $arParams=array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
global $USER_FIELD_MANAGER
IsModuleInstalled($module_id)
MakeTimeStamp($datetime, $format=false)
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
if(empty($signedUserToken)) $key
</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(CModule::IncludeModule("forum")) if(CModule::IncludeModule("blog")) $dbLog