示例#1
0
文件: log.php 项目: ASDAFF/bxApiDocs
	public static function FormatEvent_FillTooltip($arFields, $arParams)
	{
		return CSocNetLogTools::FormatEvent_FillTooltip($arFields, $arParams);
	}
示例#2
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;
 }