示例#1
0
 function FormatComment_Data($arFields, $arParams, $bMail = false, $arLog = array())
 {
     $arResult = array("EVENT_FORMATTED" => array());
     if (!CModule::IncludeModule("socialnetwork")) {
         return $arResult;
     }
     if (in_array($arLog["ENTITY_TYPE"], array(SONET_SUBSCRIBE_ENTITY_GROUP, SONET_SUBSCRIBE_ENTITY_USER))) {
         $arResult["ENTITY"] = CSocNetLogTools::FormatEvent_GetEntity($arLog, $arParams, $bMail);
     }
     if (!$bMail && $arParams["USE_COMMENT"] != "Y") {
         $arLog["ENTITY_ID"] = $arFields["ENTITY_ID"];
         $arLog["ENTITY_TYPE"] = $arFields["ENTITY_TYPE"];
     }
     if (!$bMail && array_key_exists("URL", $arLog) && strlen($arLog["URL"]) > 0) {
         $news_tmp = '<a href="' . $arLog["URL"] . '">' . $arLog["TITLE"] . '</a>';
     } else {
         $news_tmp = $arLog["TITLE"];
     }
     $title_tmp = $bMail ? GetMessage("LFP_SOCNET_LOG_DATA_COMMENT_" . $arLog["ENTITY_TYPE"] . "_TITLE_MAIL") : GetMessage("LFP_SOCNET_LOG_DATA_COMMENT_TITLE");
     $title = str_replace(array("#TITLE#", "#ENTITY#"), array($news_tmp, $bMail ? $arResult["ENTITY"]["FORMATTED"] : $arResult["ENTITY"]["FORMATTED"]["NAME"]), $title_tmp);
     $arResult["EVENT_FORMATTED"] = array("TITLE" => $bMail || $arParams["USE_COMMENT"] != "Y" ? "<a href=\"asdfasdf\">" . $title . "</a>" : "", "MESSAGE" => $bMail ? $arFields["TEXT_MESSAGE"] : $arFields["MESSAGE"]);
     if ($bMail) {
         $url = CSocNetLogTools::FormatEvent_GetURL($arLog, true);
         if (strlen($url) > 0) {
             $arResult["EVENT_FORMATTED"]["URL"] = $url;
         }
     } else {
         $parserLog = new logTextParser(false, $arParams["PATH_TO_SMILE"]);
         $arAllow = array("HTML" => "Y", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "LOG_IMG" => "N", "QUOTE" => "Y", "LOG_QUOTE" => "N", "CODE" => "Y", "LOG_CODE" => "N", "FONT" => "Y", "LOG_FONT" => "N", "LIST" => "Y", "SMILES" => "Y", "NL2BR" => "Y", "MULTIPLE_BR" => "N", "VIDEO" => "Y", "LOG_VIDEO" => "N");
         $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");
         $arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), array(), $arAllow));
         if ($arParams["MOBILE"] != "Y" && $arParams["NEW_TEMPLATE"] != "Y") {
             $arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"] = $parserLog->html_cut($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), array(), $arAllow), 500);
             $arResult["EVENT_FORMATTED"]["IS_MESSAGE_SHORT"] = CSocNetLogTools::FormatEvent_IsMessageShort($arResult["EVENT_FORMATTED"]["MESSAGE"], $arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"]);
         }
     }
     return $arResult;
 }
示例#2
0
 static function FormatComment_Wiki($arFields, $arParams, $bMail = false, $arLog = array())
 {
     $arResult = array("EVENT_FORMATTED" => array());
     if ($bMail) {
         $arResult['CREATED_BY'] = CSocNetLogTools::FormatEvent_GetCreatedBy($arFields, $arParams, $bMail);
         $arResult['ENTITY'] = CSocNetLogTools::FormatEvent_GetEntity($arLog, $arParams, $bMail);
     }
     if (!$bMail && array_key_exists('URL', $arLog) && strlen($arLog['URL']) > 0) {
         $wiki_tmp = '<a href="' . $arLog['URL'] . '">' . $arLog['TITLE'] . '</a>';
     } else {
         $wiki_tmp = $arLog['TITLE'];
     }
     $title = str_replace(array('#TITLE#', '#ENTITY#', '#CREATED_BY#'), array($wiki_tmp, $arResult['ENTITY']['FORMATTED'], $bMail ? $arResult['CREATED_BY']['FORMATTED'] : ''), $bMail ? GetMessage('WIKI_SOCNET_LOG_COMMENT_TITLE_MAIL') : GetMessage('WIKI_SOCNET_LOG_COMMENT_TITLE'));
     $arResult["EVENT_FORMATTED"] = array("TITLE" => $title, "MESSAGE" => $bMail ? CSocNetTextParser::killAllTags($arFields['MESSAGE']) : $arFields['MESSAGE']);
     if ($bMail) {
         $url = CSocNetLogTools::FormatEvent_GetURL($arLog);
         if (strlen($url) > 0) {
             $arResult['EVENT_FORMATTED']['URL'] = $url;
         }
     } else {
         static $parserLog = false;
         if (CModule::IncludeModule("forum")) {
             if (!$parserLog) {
                 $parserLog = new forumTextParser(LANGUAGE_ID);
             }
             $arAllow = array("HTML" => "N", "ALIGN" => "Y", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "QUOTE" => "Y", "CODE" => "Y", "FONT" => "Y", "LIST" => "Y", "SMILES" => "Y", "NL2BR" => "Y", "VIDEO" => "Y", "LOG_VIDEO" => "N", "SHORT_ANCHOR" => "Y", "USERFIELDS" => $arFields["UF"], "USER" => "Y");
             $parserLog->pathToUser = $arParams["PATH_TO_USER"];
             $parserLog->arUserfields = $arFields["UF"];
             $arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), $arAllow));
         } else {
             if (!$parserLog) {
                 $parserLog = new logTextParser(false, $arParams["PATH_TO_SMILE"]);
             }
             $arAllow = array("HTML" => "Y", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "LOG_IMG" => "N", "QUOTE" => "Y", "LOG_QUOTE" => "N", "CODE" => "Y", "LOG_CODE" => "N", "FONT" => "Y", "LOG_FONT" => "N", "LIST" => "Y", "SMILES" => "Y", "NL2BR" => "Y", "MULTIPLE_BR" => "Y", "VIDEO" => "Y", "LOG_VIDEO" => "N");
             $arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), array(), $arAllow));
         }
         if ($arParams["MOBILE"] != "Y" && $arParams["NEW_TEMPLATE"] != "Y") {
             if (CModule::IncludeModule("forum")) {
                 $arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"] = $parserLog->html_cut($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), $arAllow), 500);
             } else {
                 $arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"] = $parserLog->html_cut($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), array(), $arAllow), 500);
             }
             $arResult["EVENT_FORMATTED"]["IS_MESSAGE_SHORT"] = CSocNetLogTools::FormatEvent_IsMessageShort($arResult["EVENT_FORMATTED"]["MESSAGE"], $arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"]);
         }
     }
     return $arResult;
 }
示例#3
0
 public static function FormatTask4SocialNetwork($arFields, $arParams, $bMail = false)
 {
     /** @global CMain $APPLICATION */
     global $APPLICATION;
     $task_datetime = null;
     if (!CModule::IncludeModule('socialnetwork')) {
         return false;
     }
     $APPLICATION->SetAdditionalCSS('/bitrix/js/tasks/css/tasks.css');
     if (isset($arFields['~PARAMS']) && $arFields['~PARAMS']) {
         $arFields['PARAMS'] = unserialize($arFields['~PARAMS']);
     } elseif (isset($arFields['PARAMS']) && $arFields['PARAMS']) {
         $arFields['PARAMS'] = unserialize($arFields['PARAMS']);
     } else {
         $arFields['PARAMS'] = array();
     }
     $arResult = array('EVENT' => $arFields, 'CREATED_BY' => CSocNetLogTools::FormatEvent_GetCreatedBy($arFields, $arParams, $bMail), 'ENTITY' => CSocNetLogTools::FormatEvent_GetEntity($arFields, $arParams, $bMail), 'EVENT_FORMATTED' => array(), 'CACHED_CSS_PATH' => '/bitrix/js/tasks/css/tasks.css');
     if (!$bMail) {
         $arResult["AVATAR_SRC"] = CSocNetLogTools::FormatEvent_CreateAvatar($arFields, $arParams);
     }
     if (!$bMail && $arParams["MOBILE"] != "Y" && array_key_exists("URL", $arFields) && strlen($arFields["URL"]) > 0) {
         $taskHtmlTitle = '<a href="' . $arFields["URL"] . '" onclick="if (taskIFramePopup.isLeftClick(event)) {taskIFramePopup.view(' . $arFields["SOURCE_ID"] . '); return false;}">' . $arFields["TITLE"] . '</a>';
     } else {
         $taskHtmlTitle = $arFields["TITLE"];
     }
     $actorUserId = null;
     $actorUserName = '';
     $actorMaleSuffix = '';
     $eventTitlePhraseSuffix = '_DEFAULT';
     if (isset($arParams['NAME_TEMPLATE'])) {
         $nameTemplate = $arParams['NAME_TEMPLATE'];
     } else {
         $nameTemplate = CSite::GetNameFormat();
     }
     if (isset($arFields["PARAMS"], $arFields['PARAMS']['TYPE'])) {
         if ($arFields["PARAMS"]["TYPE"] === "create") {
             $eventTitlePhraseSuffix = '_CREATE_24';
             if (isset($arFields["PARAMS"]["CREATED_BY"])) {
                 $actorUserId = $arFields["PARAMS"]["CREATED_BY"];
             }
         } elseif ($arFields["PARAMS"]["TYPE"] === 'modify') {
             $eventTitlePhraseSuffix = '_MODIFY_24';
             if (isset($arFields["PARAMS"]["CHANGED_BY"])) {
                 $actorUserId = $arFields["PARAMS"]["CHANGED_BY"];
             }
         } elseif ($arFields["PARAMS"]["TYPE"] === 'status') {
             $eventTitlePhraseSuffix = '_STATUS_24';
             if (isset($arFields["PARAMS"]["CHANGED_BY"])) {
                 $actorUserId = $arFields["PARAMS"]["CHANGED_BY"];
             }
         } elseif ($arFields["PARAMS"]["TYPE"] === 'comment') {
             $eventTitlePhraseSuffix = '';
         }
     }
     if ($actorUserId) {
         $rsUser = CUser::GetList($by = 'id', $order = 'asc', array('ID_EQUAL_EXACT' => (int) $actorUserId), array('FIELDS' => array('ID', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN', 'PERSONAL_GENDER')));
         if ($arUser = $rsUser->fetch()) {
             if (isset($arUser['PERSONAL_GENDER'])) {
                 switch ($arUser['PERSONAL_GENDER']) {
                     case "F":
                     case "M":
                         $actorMaleSuffix = '_' . $arUser['PERSONAL_GENDER'];
                         break;
                 }
             }
             $actorUserName = CUser::FormatName($nameTemplate, $arUser);
         }
     }
     $eventTitleTemplate = GetMessage('TASKS_SONET_GL_EVENT_TITLE_TASK' . $eventTitlePhraseSuffix . $actorMaleSuffix);
     $eventTitle = str_replace(array('#USER_NAME#', '#TITLE#'), array($actorUserName, $taskHtmlTitle), $eventTitleTemplate);
     $eventTitleWoTaskName = str_replace(array('#USER_NAME#', '#TITLE#'), array($actorUserName, ''), $eventTitleTemplate);
     $title_tmp = str_replace("#TITLE#", $taskHtmlTitle, GetMessage("TASKS_SONET_GL_EVENT_TITLE_TASK"));
     if ($arFields["PARAMS"] && $arFields["PARAMS"]["CREATED_BY"]) {
         $suffix = is_array($GLOBALS["arExtranetUserID"]) && in_array($arFields["PARAMS"]["CREATED_BY"], $GLOBALS["arExtranetUserID"]) ? GetMessage("TASKS_SONET_LOG_EXTRANET_SUFFIX") : "";
         $rsUser = CUser::GetList($by = 'id', $order = 'asc', array('ID_EQUAL_EXACT' => (int) $arFields['PARAMS']['CREATED_BY']), array('FIELDS' => array('PERSONAL_GENDER', 'ID', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN')));
         if ($arUser = $rsUser->Fetch()) {
             $title_tmp .= " (" . str_replace("#USER_NAME#", CUser::FormatName(CSite::GetNameFormat(false), $arUser) . $suffix, GetMessage("TASKS_SONET_GL_EVENT_TITLE_TASK_CREATED")) . ")";
         }
     }
     if ($bMail) {
         $title = str_replace(array("#TASK#", "#ENTITY#", "#CREATED_BY#"), array($title_tmp, $arResult["ENTITY"]["FORMATTED"], $bMail ? $arResult["CREATED_BY"]["FORMATTED"] : ""), GetMessage("SONET_GL_EVENT_TITLE_" . ($arFields["ENTITY_TYPE"] == SONET_SUBSCRIBE_ENTITY_GROUP ? "GROUP" : "USER") . "_TASK_MAIL"));
     } else {
         $title = $title_tmp;
         $title_24 = $eventTitle;
     }
     if (!$bMail && in_array($arFields["PARAMS"]["TYPE"], array("create", "status", 'modify', 'comment'), true)) {
         if (!(isset($arFields['PARAMS']['CHANGED_FIELDS']) && is_array($arFields['PARAMS']['CHANGED_FIELDS']))) {
             $arFields['PARAMS']['CHANGED_FIELDS'] = array();
         }
         $rsTask = CTasks::GetByID($arFields["SOURCE_ID"], false);
         if ($arTask = $rsTask->Fetch()) {
             $task_datetime = $arTask["CHANGED_DATE"];
             if ($arFields["PARAMS"]["TYPE"] == "create") {
                 if ($arParams["MOBILE"] == "Y") {
                     $title_24 = GetMessage("TASKS_SONET_GL_TASKS2_NEW_TASK_MESSAGE");
                     $message_24_1 = $taskHtmlTitle;
                 } else {
                     $message = $message_24_1 = $eventTitle;
                     $message_24_2 = $changes_24 = "";
                 }
             } elseif ($arFields["PARAMS"]["TYPE"] == "modify") {
                 $arChangesFields = $arFields["PARAMS"]["CHANGED_FIELDS"];
                 $changes_24 = implode(", ", CTaskNotifications::__Fields2Names($arChangesFields));
                 if ($arParams["MOBILE"] == "Y") {
                     $title_24 = GetMessage("TASKS_SONET_GL_TASKS2_TASK_CHANGED_MESSAGE_24_1");
                     $message_24_1 = $taskHtmlTitle;
                 } else {
                     $message = str_replace("#CHANGES#", implode(", ", CTaskNotifications::__Fields2Names($arChangesFields)), GetMessage("TASKS_SONET_GL_TASKS2_TASK_CHANGED_MESSAGE"));
                     $message_24_1 = $eventTitle;
                     $message_24_2 = GetMessage("TASKS_SONET_GL_TASKS2_TASK_CHANGED_MESSAGE_24_2");
                 }
             } elseif ($arFields["PARAMS"]["TYPE"] == "status") {
                 $message = GetMessage("TASKS_SONET_GL_TASKS2_TASK_STATUS_MESSAGE_" . $arTask["STATUS"]);
                 $message_24_1 = $eventTitle;
                 if ($arTask["STATUS"] == CTasks::STATE_DECLINED) {
                     $message = str_replace("#TASK_DECLINE_REASON#", $arTask["DECLINE_REASON"], $message);
                     $message_24_2 = GetMessage("TASKS_SONET_GL_TASKS2_TASK_STATUS_MESSAGE_" . $arTask["STATUS"] . "_24_2");
                     $changes_24 = $arTask["DECLINE_REASON"];
                 } else {
                     $message_24_2 = $changes_24 = $message;
                 }
             } elseif ($arFields['PARAMS']['TYPE'] === 'comment') {
                 $message_24_1 = $eventTitle;
                 $message_24_2 = $changes_24 = $message = '';
             }
             $prevRealStatus = false;
             if (isset($arFields['PARAMS']['PREV_REAL_STATUS'])) {
                 $prevRealStatus = $arFields['PARAMS']['PREV_REAL_STATUS'];
             }
             ob_start();
             $GLOBALS['APPLICATION']->IncludeComponent("bitrix:tasks.task.livefeed", $arParams["MOBILE"] == "Y" ? 'mobile' : '', array("MOBILE" => $arParams["MOBILE"] == "Y" ? "Y" : "N", "TASK" => $arTask, "MESSAGE" => $message, "MESSAGE_24_1" => $message_24_1, "MESSAGE_24_2" => $message_24_2, "CHANGES_24" => $changes_24, "NAME_TEMPLATE" => $arParams["NAME_TEMPLATE"], "PATH_TO_USER" => $arParams["PATH_TO_USER"], 'TYPE' => $arFields["PARAMS"]["TYPE"], 'task_tmp' => $taskHtmlTitle, 'taskHtmlTitle' => $taskHtmlTitle, 'PREV_REAL_STATUS' => $prevRealStatus), null, array("HIDE_ICONS" => "Y"));
             $arFields["MESSAGE"] = ob_get_contents();
             ob_end_clean();
         }
     }
     if ($arParams["MOBILE"] == "Y") {
         $arResult["EVENT_FORMATTED"] = array("TITLE" => '', "TITLE_24" => $eventTitleWoTaskName, "MESSAGE" => htmlspecialcharsbx($arFields['MESSAGE']), "DESCRIPTION" => $arFields['TITLE'], "DESCRIPTION_STYLE" => 'task');
     } else {
         $strMessage = $strShortMessage = '';
         if ($bMail) {
             $strMessage = $strShortMessage = str_replace(array('<nobr>', '</nobr>'), array('', ''), $arFields['TEXT_MESSAGE']);
         } else {
             $strMessage = $arFields['MESSAGE'];
             $strShortMessage = $arFields['~MESSAGE'];
         }
         $arResult["EVENT_FORMATTED"] = array("TITLE" => $title, "MESSAGE" => $strMessage, "SHORT_MESSAGE" => $strShortMessage, "IS_MESSAGE_SHORT" => true, "STYLE" => 'tasks-info', "COMMENT_URL" => !$bMail ? $arFields['~URL'] . (strpos($arFields['~URL'], '?') > 0 ? '&' : '?') . 'MID=#ID##com#ID#' : '');
     }
     if ($bMail) {
         $url = CSocNetLogTools::FormatEvent_GetURL($arFields);
         if (strlen($url) > 0) {
             $arResult["EVENT_FORMATTED"]["URL"] = $url;
         }
     } elseif ($arFields["ENTITY_TYPE"] == SONET_SUBSCRIBE_ENTITY_GROUP) {
         $arResult["EVENT_FORMATTED"]["DESTINATION"] = array(array("STYLE" => "sonetgroups", "TITLE" => $arResult["ENTITY"]["FORMATTED"]["NAME"], "URL" => $arResult["ENTITY"]["FORMATTED"]["URL"], "IS_EXTRANET" => is_array($GLOBALS["arExtranetGroupID"]) && in_array($arFields["ENTITY_ID"], $GLOBALS["arExtranetGroupID"])));
     }
     if (!$bMail && strlen($task_datetime) > 0) {
         $arResult["EVENT_FORMATTED"]["LOG_DATE_FORMAT"] = $task_datetime;
     }
     return $arResult;
 }
示例#4
0
 function FormatEvent_System($arFields, $arParams, $bMail = false)
 {
     if ($bMail && strlen($arFields["MAIL_LANGUAGE_ID"]) > 0) {
         IncludeModuleLangFile(__FILE__, $arFields["MAIL_LANGUAGE_ID"]);
     }
     $arResult = array("EVENT" => $arFields, "CREATED_BY" => array(), "ENTITY" => array(), "EVENT_FORMATTED" => array());
     if (intval($arFields["ENTITY_ID"]) > 0) {
         $suffix = is_array($GLOBALS["arExtranetGroupID"]) && in_array($arFields["ENTITY_ID"], $GLOBALS["arExtranetGroupID"]) ? GetMessage("SONET_LOG_EXTRANET_SUFFIX") : "";
         if ($bMail) {
             $arResult["ENTITY"]["FORMATTED"] = $arFields["GROUP_NAME"] . $suffix;
             $arResult["ENTITY"]["TYPE_MAIL"] = GetMessage("SONET_GL_EVENT_ENTITY_G");
         } elseif (strpos($arFields["MESSAGE"], ",") > 0) {
             $arResult["ENTITY"] = CSocNetLogTools::FormatEvent_GetEntity($arFields, $arParams, false);
         }
     }
     if (in_array($arFields["TITLE"], array("moderate", "unmoderate", "join", "unjoin"))) {
         if (strpos($arFields["MESSAGE"], ",") !== false) {
             $arResult["CREATED_BY"] = false;
             $arGroup = array("IMAGE_ID" => $arFields["GROUP_IMAGE_ID"]);
             $arResult["AVATAR_SRC"] = CSocNetLogTools::FormatEvent_CreateAvatarGroup($arGroup, $arParams);
             // group avatar
         } else {
             $suffix = is_array($GLOBALS["arExtranetUserID"]) && in_array($arFields["MESSAGE"], $GLOBALS["arExtranetUserID"]) ? GetMessage("SONET_LOG_EXTRANET_SUFFIX") : "";
             $dbUser = CUser::GetByID($arFields["MESSAGE"]);
             if ($arUser = $dbUser->Fetch()) {
                 $arFieldsTooltip = array("ID" => $arUser["ID"], "NAME" => $arUser["NAME"], "LAST_NAME" => $arUser["LAST_NAME"], "SECOND_NAME" => $arUser["SECOND_NAME"], "LOGIN" => $arUser["LOGIN"]);
                 $oldNameTemplate = $arParams["NAME_TEMPLATE"];
                 $arParams["NAME_TEMPLATE"] .= $suffix;
                 $arResult["CREATED_BY"]["TOOLTIP_FIELDS"] = CSocNetLogTools::FormatEvent_FillTooltip($arFieldsTooltip, $arParams);
                 $arParams["NAME_TEMPLATE"] = $oldNameTemplate;
                 if (!$bMail) {
                     $arResult["AVATAR_SRC"] = CSocNetLogTools::FormatEvent_CreateAvatar($arUser, $arParams, "");
                 }
             }
         }
     } else {
         $suffix = is_array($GLOBALS["arExtranetUserID"]) && in_array($arFields["USER_ID"], $GLOBALS["arExtranetUserID"]) ? GetMessage("SONET_LOG_EXTRANET_SUFFIX") : "";
         $arFieldsTooltip = array("ID" => $arFields["USER_ID"], "NAME" => $arFields["~CREATED_BY_NAME"], "LAST_NAME" => $arFields["~CREATED_BY_LAST_NAME"], "SECOND_NAME" => $arFields["~CREATED_BY_SECOND_NAME"], "LOGIN" => $arFields["~CREATED_BY_LOGIN"]);
         $oldNameTemplate = $arParams["NAME_TEMPLATE"];
         $arParams["NAME_TEMPLATE"] .= $suffix;
         $arResult["CREATED_BY"]["TOOLTIP_FIELDS"] = CSocNetLogTools::FormatEvent_FillTooltip($arFieldsTooltip, $arParams);
         $arParams["NAME_TEMPLATE"] = $oldNameTemplate;
         if (!$bMail) {
             $arResult["AVATAR_SRC"] = CSocNetLogTools::FormatEvent_CreateAvatar($arFields, $arParams, "CREATED_BY_");
         }
     }
     if (strlen($arFields["MESSAGE"]) > 0) {
         $arUsersID = explode(",", $arFields["MESSAGE"]);
         $bFirst = true;
         $count = 0;
         $user_tmp = "";
         if ($bMail) {
             $dbUser = CUser::GetList($by = "last_name", $order = "asc", array("ID" => implode(" | ", $arUsersID)));
             while ($arUser = $dbUser->Fetch()) {
                 $suffix = is_array($GLOBALS["arExtranetUserID"]) && in_array($arUser["ID"], $GLOBALS["arExtranetUserID"]) ? GetMessage("SONET_LOG_EXTRANET_SUFFIX") : "";
                 $count++;
                 if (!$bFirst) {
                     $user_tmp .= ", ";
                 }
                 if (strlen($arUser["NAME"]) > 0 || strlen($arUser["LAST_NAME"]) > 0) {
                     $user_tmp .= $arUser["NAME"] . " " . $arUser["LAST_NAME"] . $suffix;
                 } else {
                     $user_tmp .= $arUser["LOGIN"] . $suffix;
                 }
                 $bFirst = false;
             }
         } else {
             $ajax_page = $GLOBALS["APPLICATION"]->GetCurPageParam("", array("bxajaxid", "logout"));
             $dbUser = CUser::GetList($by = "last_name", $order = "asc", array("ID" => implode(" | ", $arUsersID)), array("FIELDS" => array("ID", "NAME", "LAST_NAME", "SECOND_NAME", "LOGIN", "PERSONAL_GENDER")));
             while ($arUser = $dbUser->Fetch()) {
                 if (defined("BX_COMP_MANAGED_CACHE")) {
                     $GLOBALS["CACHE_MANAGER"]->RegisterTag("USER_NAME_" . intval($arUser["ID"]));
                 }
                 $suffix = is_array($GLOBALS["arExtranetUserID"]) && in_array($arUser["ID"], $GLOBALS["arExtranetUserID"]) ? GetMessage("SONET_LOG_EXTRANET_SUFFIX") : "";
                 $count++;
                 if (!$bFirst) {
                     $user_tmp .= ", ";
                 }
                 $oldNameTemplate = $arParams["NAME_TEMPLATE"];
                 $arParams["NAME_TEMPLATE"] .= $suffix;
                 $anchor_id = RandString(8);
                 if ($arParams["MOBILE"] == "Y") {
                     $user_tmp .= '<a href="' . str_replace(array("#user_id#", "#USER_ID#", "#id#", "#ID#"), $arUser["ID"], $arParams["~PATH_TO_USER"]) . '">' . CUser::FormatName($arParams["NAME_TEMPLATE"], $arUser, $arParams["SHOW_LOGIN"] != "N" ? true : false) . '</a>';
                 } else {
                     $user_tmp .= '<a class="" id="anchor_' . $anchor_id . '" href="' . str_replace(array("#user_id#", "#USER_ID#", "#id#", "#ID#"), $arUser["ID"], $arParams["~PATH_TO_USER"]) . '">' . CUser::FormatName($arParams["NAME_TEMPLATE"], $arUser, $arParams["SHOW_LOGIN"] != "N" ? true : false) . '</a>';
                     $user_tmp .= '<script type="text/javascript">';
                     $user_tmp .= 'BX.tooltip(' . $arUser["ID"] . ', "anchor_' . $anchor_id . '", "' . CUtil::JSEscape($ajax_page) . '");';
                     $user_tmp .= '</script>';
                 }
                 $arParams["NAME_TEMPLATE"] = $oldNameTemplate;
                 $bFirst = false;
                 $arLastUser = $arUser;
             }
         }
     }
     if ($bMail) {
         $title_tmp = GetMessage("SONET_GL_EVENT_TITLE_SYSTEM_" . strtoupper($arFields["TITLE"]) . "_" . ($count > 1 ? "2" : "1") . "_MAIL");
     } else {
         if (in_array($arFields["TITLE"], array("moderate", "unmoderate", "join", "unjoin"))) {
             if ($count == 1 && $arLastUser) {
                 $suffix = $arLastUser["PERSONAL_GENDER"];
             } else {
                 $suffix = "";
             }
         } else {
             $suffix = $arFields["CREATED_BY_PERSONAL_GENDER"];
         }
         $title_tmp = GetMessage("SONET_GL_EVENT_TITLE_SYSTEM_" . strtoupper($arFields["TITLE"]) . "_" . ($count > 1 ? "2" : "1" . (strlen(trim($suffix)) > 0 ? "_" . $suffix : "")));
         $title_tmp_24 = GetMessage("SONET_GL_EVENT_TITLE_SYSTEM_" . strtoupper($arFields["TITLE"]) . "_" . ($count > 1 ? "2_24" : "1_24" . (strlen(trim($suffix)) > 0 ? "_" . $suffix : "")));
     }
     $url = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arFields["ENTITY_ID"]));
     $suffix = is_array($GLOBALS["arExtranetGroupID"]) && in_array($arFields["ENTITY_ID"], $GLOBALS["arExtranetGroupID"]) ? GetMessage("SONET_LOG_EXTRANET_SUFFIX") : "";
     if (strlen($url) > 0) {
         $group_tmp = '<a href="' . $url . '">' . $arFields["GROUP_NAME"] . '</a>' . $suffix;
     } else {
         $group_tmp = $arFields["GROUP_NAME"] . $suffix;
     }
     $title = str_replace(array("#USER_NAME#", "#ENTITY#", "#GROUP_NAME#"), array($user_tmp, $arResult["ENTITY"]["FORMATTED"], $group_tmp), $title_tmp);
     $title_tmp_24 = str_replace(array("#USER_NAME#"), array($user_tmp), $title_tmp_24);
     if ($bMail) {
         $arResult["EVENT_FORMATTED"] = array("TITLE" => $title, "MESSAGE" => false);
     } else {
         switch ($arFields["TITLE"]) {
             case "join":
             case "moderate":
             case "owner":
                 $classname = "join-group";
                 break;
             case "unjoin":
             case "exclude_group":
             case "unmoderate":
                 $classname = "leave-group";
                 break;
             default:
                 $classname = "";
         }
         if ($arParams["MOBILE"] == "Y") {
             $arResult["EVENT_FORMATTED"] = array("TITLE_24" => $title_tmp_24, "DESTINATION" => array(array("STYLE" => "", "TITLE" => $arFields["GROUP_NAME"] . $suffix, "URL" => $url)), "STYLE" => $classname);
         } else {
             $arResult["EVENT_FORMATTED"] = array("TITLE" => false, "MESSAGE" => $title, "IS_MESSAGE_SHORT" => true, "TITLE_24" => $title_tmp_24, "DESTINATION" => array(array("STYLE" => "sonetgroups", "TITLE" => $arFields["GROUP_NAME"] . $suffix, "URL" => $url)), "STYLE" => $classname);
         }
     }
     if ($bMail && strlen($arFields["MAIL_LANGUAGE_ID"]) > 0) {
         IncludeModuleLangFile(__FILE__, LANGUAGE_ID);
     }
     return $arResult;
 }
示例#5
0
 function FormatComment_Data($arFields, $arParams, $bMail = false, $arLog = array())
 {
     $arResult = array("EVENT_FORMATTED" => array());
     if (!CModule::IncludeModule("socialnetwork")) {
         return $arResult;
     }
     if ($arLog["ENTITY_TYPE"] == SONET_SUBSCRIBE_ENTITY_PROVIDER) {
         $arResult["ENTITY"] = CXDILFEventHandlers::GetEntity_Data($arLog, $bMail);
     } elseif (in_array($arLog["ENTITY_TYPE"], array(SONET_SUBSCRIBE_ENTITY_GROUP, SONET_SUBSCRIBE_ENTITY_USER))) {
         $arResult["ENTITY"] = CSocNetLogTools::FormatEvent_GetEntity($arLog, $arParams, $bMail);
     }
     if (!$bMail && $arParams["USE_COMMENT"] != "Y") {
         $arLog["ENTITY_ID"] = $arFields["ENTITY_ID"];
         $arLog["ENTITY_TYPE"] = $arFields["ENTITY_TYPE"];
     }
     if (!$bMail && array_key_exists("URL", $arLog) && strlen($arLog["URL"]) > 0) {
         $news_tmp = '<a href="' . $arLog["URL"] . '">' . $arLog["TITLE"] . '</a>';
     } else {
         $news_tmp = $arLog["TITLE"];
     }
     $title_tmp = $bMail ? GetMessage("LFP_SOCNET_LOG_DATA_COMMENT_" . $arLog["ENTITY_TYPE"] . "_TITLE_MAIL") : GetMessage("LFP_SOCNET_LOG_DATA_COMMENT_TITLE");
     $title = str_replace(array("#TITLE#", "#ENTITY#"), array($news_tmp, $bMail ? $arResult["ENTITY"]["FORMATTED"] : $arResult["ENTITY"]["FORMATTED"]["NAME"]), $title_tmp);
     $arResult["EVENT_FORMATTED"] = array("TITLE" => $bMail || $arParams["USE_COMMENT"] != "Y" ? $title : "", "MESSAGE" => $bMail ? $arFields["TEXT_MESSAGE"] : $arFields["MESSAGE"]);
     if ($bMail) {
         $url = CSocNetLogTools::FormatEvent_GetURL($arLog, true);
         if (strlen($url) > 0) {
             $arResult["EVENT_FORMATTED"]["URL"] = $url;
         }
     } else {
         static $parserLog = false;
         if (CModule::IncludeModule("forum")) {
             $arAllow = array("HTML" => "N", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "LOG_IMG" => "N", "QUOTE" => "Y", "LOG_QUOTE" => "N", "CODE" => "Y", "LOG_CODE" => "N", "FONT" => "Y", "LOG_FONT" => "N", "LIST" => "Y", "SMILES" => "Y", "NL2BR" => "Y", "MULTIPLE_BR" => "N", "VIDEO" => "Y", "LOG_VIDEO" => "N", "USERFIELDS" => $arFields["UF"], "USER" => $arParams["IM"] == "Y" ? "N" : "Y");
             if (!$parserLog) {
                 $parserLog = new forumTextParser(LANGUAGE_ID);
             }
             $parserLog->pathToUser = $arParams["PATH_TO_USER"];
             $parserLog->arUserfields = $arFields["UF"];
             $arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), $arAllow));
             $arResult["EVENT_FORMATTED"]["MESSAGE"] = preg_replace("/\\[user\\s*=\\s*([^\\]]*)\\](.+?)\\[\\/user\\]/is" . BX_UTF_PCRE_MODIFIER, "\\2", $arResult["EVENT_FORMATTED"]["MESSAGE"]);
         } else {
             $arAllow = array("HTML" => "Y", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "LOG_IMG" => "N", "QUOTE" => "Y", "LOG_QUOTE" => "N", "CODE" => "Y", "LOG_CODE" => "N", "FONT" => "Y", "LOG_FONT" => "N", "LIST" => "Y", "SMILES" => "Y", "NL2BR" => "Y", "MULTIPLE_BR" => "N", "VIDEO" => "Y", "LOG_VIDEO" => "N", "USERFIELDS" => $arFields["UF"], "USER" => "Y");
             if (!$parserLog) {
                 $parserLog = new logTextParser(false, $arParams["PATH_TO_SMILE"]);
             }
             $arResult["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsbx($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), array(), $arAllow));
         }
         if ($arParams["MOBILE"] != "Y" && $arParams["NEW_TEMPLATE"] != "Y") {
             if (CModule::IncludeModule("forum")) {
                 $arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"] = $parserLog->html_cut($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), $arAllow), 500);
             } else {
                 $arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"] = $parserLog->html_cut($parserLog->convert(htmlspecialcharsback($arResult["EVENT_FORMATTED"]["MESSAGE"]), array(), $arAllow), 500);
             }
             $arResult["EVENT_FORMATTED"]["IS_MESSAGE_SHORT"] = CSocNetLogTools::FormatEvent_IsMessageShort($arResult["EVENT_FORMATTED"]["MESSAGE"], $arResult["EVENT_FORMATTED"]["SHORT_MESSAGE"]);
         }
     }
     return $arResult;
 }