public function OnAfterPhotoCommentAddForum($ID, $arFields) { static $arSiteWorkgroupsPage; if (!CModule::IncludeModule('iblock')) { return; } if (!$this->IsSocnet) { return; } if ((!array_key_exists("PARAM1", $arFields) || $arFields["PARAM1"] != "IB") && array_key_exists("PARAM2", $arFields) && intval($arFields["PARAM2"]) > 0) { $bSocNetLogRecordExists = false; $dbRes = CSocNetLog::GetList(array("ID" => "DESC"), array("EVENT_ID" => "photo_photo", "SOURCE_ID" => $arFields["PARAM2"]), false, false, array("ID", "ENTITY_TYPE", "ENTITY_ID", "TMP_ID", "USER_ID", "TITLE", "URL", "PARAMS")); if ($arRes = $dbRes->Fetch()) { $log_id = $arRes["ID"]; $entity_type = $arRes["ENTITY_TYPE"]; $entity_id = $arRes["ENTITY_ID"]; $log_title = $arRes["TITLE"]; $log_url = $arRes["URL"]; $log_user_id = $arRes["USER_ID"]; if (strlen($arRes["PARAMS"]) > 0) { $arTmp = unserialize($arRes["PARAMS"]); if ($arTmp) { if (array_key_exists("SECTION_NAME", $arTmp) && strlen($arTmp["SECTION_NAME"]) > 0) { $log_section_name = $arTmp["SECTION_NAME"]; } if (array_key_exists("SECTION_URL", $arTmp) && strlen($arTmp["SECTION_URL"]) > 0) { $log_section_url = $arTmp["SECTION_URL"]; } } } $bSocNetLogRecordExists = true; } else { $rsElement = CIBlockElement::GetByID($arFields["PARAM2"]); if ($arElement = $rsElement->Fetch()) { $url = $this->arPath["DETAIL_URL"]; $sAuthorName = GetMessage("SONET_PHOTO_LOG_GUEST"); if (intval($arElement["CREATED_BY"]) > 0) { $rsUser = CUser::GetByID($arElement["CREATED_BY"]); if ($arUser = $rsUser->Fetch()) { $sAuthorName = CUser::FormatName(CSite::GetNameFormat(false), $arUser, true, false); } } if (in_array($this->entity_type, array(SONET_ENTITY_USER, SONET_ENTITY_GROUP)) && intval($this->entity_id) > 0) { $entity_type = $this->entity_type; $entity_id = $this->entity_id; $alias = ($this->entity_type == SONET_ENTITY_GROUP ? "group" : "user") . "_" . $this->entity_id; } $arLogParams = array("FORUM_ID" => intval($this->ForumID)); $rsIBlock = CIBlock::GetByID($arElement["IBLOCK_ID"]); if ($arIBlock = $rsIBlock->Fetch()) { $arLogParams["IBLOCK_ID"] = $arIBlock["ID"]; $arLogParams["IBLOCK_TYPE"] = $arIBlock["IBLOCK_TYPE_ID"]; } $rsSection = CIBlockSection::GetByID($arElement["IBLOCK_SECTION_ID"]); if ($arSection = $rsSection->Fetch()) { $arLogParams["SECTION_ID"] = $arSection["ID"]; $arLogParams["SECTION_NAME"] = $arSection["NAME"]; $arLogParams["SECTION_URL"] = str_replace("#SECTION_ID#", $arSection["ID"], $this->arPath["SECTION_URL"]); $arSectionPath = array(); $bPassword = false; $dbSection = CIBlockSection::GetList(array("LEFT_MARGIN" => "ASC"), array("IBLOCK_ID" => intval($arLogParams["IBLOCK_ID"]), "<=LEFT_BORDER" => intval($arSection["LEFT_MARGIN"]), ">=RIGHT_BORDER" => intval($arSection["RIGHT_MARGIN"]), "<=DEPTH_LEVEL" => intval($arSection["DEPTH_LEVEL"])), false, array("ID", "IBLOCK_ID", "NAME", "CODE", "CREATED_BY", "DEPTH_LEVEL", "LEFT_MARGIN", "RIGHT_MARGIN", "UF_PASSWORD")); while ($arPath = $dbSection->Fetch()) { $arSectionPath[] = $arPath; if (strlen(trim($arPath["UF_PASSWORD"])) > 0) { $bPassword = true; break; } } if (!$alias) { $entity_type = SONET_ENTITY_USER; $entity_id = $arSectionPath[0]["CREATED_BY"]; $alias = $arSectionPath[0]["CODE"]; } if (!$arSiteWorkgroupsPage && IsModuleInstalled("extranet") && $entity_type == SONET_ENTITY_GROUP) { $rsSite = CSite::GetList($by = "sort", $order = "desc", array("ACTIVE" => "Y")); while ($arSite = $rsSite->Fetch()) { $arSiteWorkgroupsPage[$arSite["ID"]] = COption::GetOptionString("socialnetwork", "workgroups_page", $arSite["DIR"] . "workgroups/", $arSite["ID"]); } } if (is_set($arLogParams["SECTION_URL"]) && is_array($arSiteWorkgroupsPage) && $entity_type == SONET_ENTITY_GROUP) { foreach ($arSiteWorkgroupsPage as $groups_page) { if (strpos($arLogParams["SECTION_URL"], $groups_page) === 0) { $arLogParams["SECTION_URL"] = "#GROUPS_PATH#" . substr($arLogParams["SECTION_URL"], strlen($groups_page), strlen($arLogParams["SECTION_URL"]) - strlen($groups_page)); } } } } $arLogParams["ALIAS"] = $alias; $arSonetFields = array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "photo_photo", "LOG_DATE" => $arElement["TIMESTAMP_X"], "TITLE_TEMPLATE" => str_replace("#AUTHOR_NAME#", $sAuthorName, GetMessage("SONET_PHOTOPHOTO_LOG_1")), "TITLE" => $arElement["NAME"], "MESSAGE" => "", "TEXT_MESSAGE" => "", "URL" => CComponentEngine::MakePathFromTemplate($url, array("ELEMENT_ID" => $arElement["ID"], "element_id" => $arElement["ID"], "SECTION_ID" => $arElement["IBLOCK_SECTION_ID"], "section_id" => $arElement["IBLOCK_SECTION_ID"])), "MODULE_ID" => false, "CALLBACK_FUNC" => false, "SOURCE_ID" => $arElement["ID"], "PARAMS" => serialize($arLogParams), "RATING_TYPE_ID" => "IBLOCK_ELEMENT", "RATING_ENTITY_ID" => $arElement["ID"]); if (intval($arElement["CREATED_BY"]) > 0) { $arSonetFields["USER_ID"] = $arElement["CREATED_BY"]; } $log_id = CSocNetLog::Add($arSonetFields, false); if (intval($log_id) > 0) { $log_title = $arSonetFields["TITLE"]; $log_url = $arSonetFields["URL"]; $log_section_name = $arLogParams["SECTION_NAME"]; $log_section_url = $arLogParams["SECTION_URL"]; $log_user_id = $arSonetFields["USER_ID"]; CSocNetLog::Update($log_id, array("TMP_ID" => $log_id)); if ($bPassword) { CSocNetLogRights::DeleteByLogID($log_id); CSocNetLogRights::Add($log_id, array("U" . $GLOBALS["USER"]->GetID(), "SA")); } else { CSocNetLogRights::SetForSonet($log_id, $entity_type, $entity_id, "photo", "view"); } } } } if (intval($log_id) > 0) { $arForum = CForumNew::GetByID($this->ForumID); $parser = new textParser(LANGUAGE_ID, $this->arPath["PATH_TO_SMILE"]); $parser->image_params["width"] = false; $parser->image_params["height"] = false; $arAllow = array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "LIST" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "UPLOAD" => $arForum["ALLOW_UPLOAD"], "NL2BR" => "N", "SMILES" => "N", "VIDEO" => "N"); $url = $this->arPath["DETAIL_URL"]; if ($bSocNetLogRecordExists) { $arMessage = CForumMessage::GetByIDEx($ID); $url = CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_MESSAGE"], array("FID" => $arMessage["FORUM_ID"], "TID" => $arMessage["TOPIC_ID"], "MID" => $ID)); $arFieldsForSocnet = array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "photo_comment", "=LOG_DATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "MESSAGE" => $parser->convert(empty($arFields["POST_MESSAGE_FILTER"]) ? $arFields["POST_MESSAGE"] : $arFields["POST_MESSAGE_FILTER"], $arAllow), "TEXT_MESSAGE" => $parser->convert4mail(empty($arFields["POST_MESSAGE_FILTER"]) ? $arFields["POST_MESSAGE"] : $arFields["POST_MESSAGE_FILTER"]), "MODULE_ID" => false, "SOURCE_ID" => $ID, "LOG_ID" => $log_id, "RATING_TYPE_ID" => "FORUM_POST", "RATING_ENTITY_ID" => $ID); if (intVal($arMessage["AUTHOR_ID"]) > 0) { $arFieldsForSocnet["USER_ID"] = $arMessage["AUTHOR_ID"]; } $comment_id = CSocNetLogComments::Add($arFieldsForSocnet, false, false); if ($comment_id) { CSocNetLog::CounterIncrement($comment_id, false, false, "LC"); $arFieldsIM = array("TYPE" => "COMMENT", "TITLE" => $log_title, "MESSAGE" => $arFieldsForSocnet["MESSAGE"], "URL" => $log_url, "SECTION_NAME" => $log_section_name, "SECTION_URL" => $log_section_url, "ID" => $arFields["PARAM2"], "PHOTO_AUTHOR_ID" => $log_user_id, "COMMENT_AUTHOR_ID" => $arMessage["AUTHOR_ID"]); CSocNetPhotoCommentEvent::NotifyIm($arFieldsIM); } } else { $dbComments = CForumMessage::GetListEx(array(), array('TOPIC_ID' => $arFields["TOPIC_ID"], "NEW_TOPIC" => "N")); while ($arComment = $dbComments->GetNext()) { $url = CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_MESSAGE"], array("FID" => $arComment["FORUM_ID"], "TID" => $arComment["TOPIC_ID"], "MID" => $arComment["ID"])); $arFieldsForSocnet = array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "photo_comment", "=LOG_DATE" => $GLOBALS["DB"]->CharToDateFunction($arComment["POST_DATE"], "FULL", SITE_ID), "MESSAGE" => $parser->convert(empty($arComment["POST_MESSAGE_FILTER"]) ? $arComment["POST_MESSAGE"] : $arComment["POST_MESSAGE_FILTER"], $arAllow), "TEXT_MESSAGE" => $parser->convert4mail(empty($arComment["POST_MESSAGE_FILTER"]) ? $arComment["POST_MESSAGE"] : $arComment["POST_MESSAGE_FILTER"]), "MODULE_ID" => false, "SOURCE_ID" => $arComment["ID"], "LOG_ID" => $log_id, "RATING_TYPE_ID" => "FORUM_POST", "RATING_ENTITY_ID" => $arComment["ID"]); if (intVal($arComment["AUTHOR_ID"]) > 0) { $arFieldsForSocnet["USER_ID"] = $arComment["AUTHOR_ID"]; } $comment_id = CSocNetLogComments::Add($arFieldsForSocnet, false, false); if ($comment_id) { CSocNetLog::CounterIncrement($comment_id, false, false, "LC"); $arFieldsIM = array("TYPE" => "COMMENT", "TITLE" => $log_title, "MESSAGE" => $arFieldsForSocnet["MESSAGE"], "URL" => $log_url, "SECTION_NAME" => $log_section_name, "SECTION_URL" => $log_section_url, "ID" => $arFields["PARAM2"], "PHOTO_AUTHOR_ID" => $log_user_id, "COMMENT_AUTHOR_ID" => $arComment["AUTHOR_ID"]); CSocNetPhotoCommentEvent::NotifyIm($arFieldsIM); } } if ($arElement) { self::InheriteAlbumFollow($arElement["IBLOCK_SECTION_ID"], $log_id, intVal($arElement["CREATED_BY"]) > 0 ? $arElement["CREATED_BY"] : false); } } } } }
function onAfterForumMessageAdd($ID, $arForumMessage, $arTopicInfo, $arForumInfo, $arFields) { // add log comment if (array_key_exists("ADD_TO_LOG", $arFields) && $arFields["ADD_TO_LOG"] == "N") { return; } if (array_key_exists("NEW_TOPIC", $arFields) && $arFields["NEW_TOPIC"] == "Y") { return; } if (!array_key_exists("TOPIC_INFO", $arForumMessage) || !is_array($arForumMessage["TOPIC_INFO"]) || !array_key_exists("XML_ID", $arForumMessage["TOPIC_INFO"]) || empty($arForumMessage["TOPIC_INFO"]["XML_ID"]) || strpos($arForumMessage["TOPIC_INFO"]["XML_ID"], "IBLOCK_") !== 0) { return; } $val = COption::GetOptionString("intranet", "sonet_log_news_iblock_forum"); $arIBlockForum = strlen($val) > 0 ? unserialize($val) : array(); if (CModule::IncludeModule("socialnetwork") && in_array($arFields["FORUM_ID"], $arIBlockForum) && array_key_exists("PARAM2", $arFields) && intval($arFields["PARAM2"]) > 0) { CSocNetAllowed::GetAllowedEntityTypes(); $dbRes = CSocNetLog::GetList(array("ID" => "DESC"), array("EVENT_ID" => "news", "SOURCE_ID" => $arFields["PARAM2"]), false, false, array("ID", "ENTITY_TYPE", "ENTITY_ID", "TMP_ID")); if ($arRes = $dbRes->Fetch()) { $log_id = $arRes["ID"]; $entity_id = $arRes["ENTITY_ID"]; $arForum = CForumNew::GetByID($arFields["FORUM_ID"]); $parser = new textParser(LANGUAGE_ID); // second parameter - path to smile! $parser->image_params["width"] = false; $parser->image_params["height"] = false; $arAllow = array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "LIST" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "UPLOAD" => $arForum["ALLOW_UPLOAD"], "NL2BR" => "N", "VIDEO" => "N", "SMILES" => "N"); $arMessage = CForumMessage::GetByIDEx($ID); $url = CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_MESSAGE"], array("FID" => $arMessage["FORUM_ID"], "TID" => $arMessage["TOPIC_ID"], "MID" => $ID)); $arFieldsForSocnet = array("ENTITY_TYPE" => SONET_SUBSCRIBE_ENTITY_NEWS, "ENTITY_ID" => $entity_id, "EVENT_ID" => "news_comment", "=LOG_DATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "MESSAGE" => $parser->convert($arFields["POST_MESSAGE"], $arAllow), "TEXT_MESSAGE" => $parser->convert4mail($arFields["POST_MESSAGE"]), "URL" => $url, "MODULE_ID" => false, "SOURCE_ID" => $ID, "LOG_ID" => $log_id, "RATING_TYPE_ID" => "FORUM_POST", "RATING_ENTITY_ID" => $ID); if (intVal($arMessage["AUTHOR_ID"]) > 0) { $arFieldsForSocnet["USER_ID"] = $arMessage["AUTHOR_ID"]; } $comment_id = CSocNetLogComments::Add($arFieldsForSocnet, false, false); CSocNetLog::CounterIncrement($comment_id, false, false, "LC"); } } }
function PrintMessages($mass, $arUser) { global $USER; $parser = new textParser(LANGUAGE_ID); ?> <table width="100%" border="0" cellspacing="0" cellpadding="5"><?php if (count($mass) <= 0) { ?> <tr><td class="forumtitle" colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0"><tr valign="top"> <td width="99%" class="forumtitletext"><b><?php echo GetMessage("LU_NONE_MESSAGE"); ?> </b></td> </tr></table></td></tr><?php } else { foreach ($mass as $arForum) { $strPerms = ForumCurrUserPermissions($arForum["ID"]); if ($strPerms < "E" || $arForum["ACTIVE"] != "Y") { continue; } ?> <tr><td colspan="2"><font style="font-size:4px;"> <br></font></td></tr><?php ?> <tr><td class="forumtitle" colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0"><tr valign="top"> <td width="99%" class="forumtitletext"><?php echo GetMessage("FL_FORUM"); ?> <a href="list.php?FID=<?php echo $arForum["ID"]; ?> "><b><?php echo $arForum["NAME"]; ?> </b></a></td> <td nowrap width="1%" align="right" class="forumtitletext"><?php echo GetMessage("LU_USER_POSTS_ON_FORUM"); ?> : <?php echo $arForum["NUM_POSTS_ALL"]; ?> </td> </tr></table></td></tr><?php ?> <tr><td colspan="2"><font style="font-size:4px;"> <br></font></td></tr><?php foreach ($arForum["TOPIC"] as $arTopic) { if ($strPerms < "Q" && $arTopic["APPROVED"] != "Y") { continue; } ?> <tr><td class="forumtitle" colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0" background="red"> <tr valign="top"> <?php if (strlen($arTopic["IMAGE"]) > 0) { ?> <td width="0%"><img src="/bitrix/images/forum/icon/<?php echo $arTopic["IMAGE"]; ?> " alt="<?php echo $arTopic["IMAGE_DESCR"]; ?> " border="0" width="15" height="15" vspace="0"><br></td> <td class="forumtitletext" width="0%"> </td> <?php } ?> <td class="forumtitletext" width="99%"><font class="forumtitletext"> <?php echo GetMessage("FR_TOPIC"); ?> «<a href="read.php?FID=<?php echo $arForum["ID"]; ?> &TID=<?php echo $arTopic["ID"]; ?> &UID=<?php echo $arUser["USER_ID"]; ?> "><b><?php echo htmlspecialcharsEx($arTopic["TITLE"]); ?> </b><?php if (strlen($arTopic["DESCRIPTION"]) > 0) { echo ", " . htmlspecialcharsEx($arTopic["DESCRIPTION"]); } ?> </a >» <?php echo GetMessage("FR_ON_FORUM"); ?> <a href="list.php?FID=<?php echo $arForum["ID"]; ?> "><b><?php echo $arForum["NAME"]; ?> </b></a></font></td> <td nowrap width="1%" align="right" valign="middle" class="forumtitletext"><?php echo GetMessage("FR_ON_VIEWS"); ?> <?php echo $arTopic["VIEWS"]; ?> <br> <?php echo GetMessage("LU_USER_POSTS_ON_TOPIC"); ?> : <?php echo $arTopic["COUNT_MESSAGE"]; ?> </td> </tr> </table> </td></tr><?php ?> <tr><td colspan="2"><font style="font-size:4px;"> <br></font></td></tr><?php foreach ($arTopic["MESSAGE"] as $arMessage) { if ($strPerms < "Q" && $arMessage["APPROVED"] != "Y") { continue; } ?> <tr valign="top" class="forumbody"> <td align="left" rowspan="2" width="140" class="forumbrd" style="border-right:none;"> <a name="message<?php echo $arMessage["ID"]; ?> "></a> <font class="forumbodytext"><b><?php echo htmlspecialcharsEx($arMessage["AUTHOR_NAME"]); ?> </b> <br><font class=\"forumheadcolor\"><?php echo htmlSpecialCharsEx($arForum["USER_PERM_STR"]); ?> </font> <br> <?php if (strlen($arUser["AVATAR"]) > 0) { ?> <a href="view_profile.php?UID=<?php echo $arUser["USER_ID"]; ?> &FID=<?php echo $arForum["ID"]; ?> &TID=<?php echo $arTopic["ID"]; ?> &MID=<?php echo $arMessage["ID"]; ?> " title="<?php echo GetMessage("FR_AUTHOR_PROFILE"); ?> "><?php echo CFile::ShowImage($arUser["AVATAR"], 90, 90, "border=0 vspace=5", "", true); ?> </a><br> <?php } ?> <?php if (strlen($arUser["DESCRIPTION"]) > 0) { ?> <i><?php echo htmlspecialcharsEx($arUser["DESCRIPTION"]); ?> </i><br> <?php } ?> <font style="font-size:8px;"> <br></font> <?php if (IntVal($arUser["NUM_POSTS"]) > 0) { ?> <font class="forumheadcolor"><?php echo GetMessage("FR_NUM_MESS"); ?> </font> <?php echo $arUser["NUM_POSTS"]; ?> <br> <?php } ?> <?php if (strlen($arUser["DATE_REG"]) > 0) { ?> <font class="forumheadcolor"><?php echo GetMessage("FR_DATE_REGISTER"); ?> </font> <?php echo $arUser["DATE_REG"]; ?> <br> <?php } ?> </font> </td> <td class="forumbrd forumbrd1" style="border-bottom:none;"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr><td width="100%"><font class="forumbodytext"><font class="forumheadcolor"><?php echo GetMessage("FR_DATE_CREATE"); ?> </font><nobr><?php echo $arMessage["POST_DATE"]; ?> </nobr><br></font></td></tr></table> <font style="font-size:5px;"> <br></font> <table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td class="forumhr"><img src="/bitrix/images/1.gif" width="1" height="1" alt=""></td></tr></table> <font style="font-size:8px;"> <br></font> <font class="forumbodytext"> <?php $arForum["ALLOW"]["SMILES"] = $arForum["ALLOW_SMILES"]; if ($arMessage["USE_SMILES"] != "Y") { $arForum["ALLOW"]["SMILES"] = "N"; } if (COption::GetOptionString("forum", "FILTER", "Y") == "Y" || COption::GetOptionString("forum", "MESSAGE_HTML", "Y") == "Y") { $message = $arMessage["POST_MESSAGE_HTML"]; } else { $message = $arMessage["POST_MESSAGE"]; } if (COption::GetOptionString("forum", "MESSAGE_HTML", "Y") == "N") { $message = $parser->convert($message, $arAllow); } echo $message; if (IntVal($arMessage["ATTACH_IMG"]) > 0) { echo "<br><br>"; if ($arForum["ALLOW_UPLOAD"] == "Y" || $arForum["ALLOW_UPLOAD"] == "F" || $arForum["ALLOW_UPLOAD"] == "A") { echo CFile::ShowFile($arMessage["ATTACH_IMG"], 0, 300, 300, true, "border=0", false); } } if (strlen($arUser["SIGNATURE"]) > 0) { echo "<br><br><font class=\"forumsigntext\">"; $arForum["ALLOW"]["SMILES"] = "N"; echo $parser->convert($arUser["SIGNATURE"], $arForum["ALLOW"]); echo "</font>"; } ?> </font> </td> </tr> <tr> <td valign="bottom" class="forumbody forumbrd forumbrd1" style="border-top:none;"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr><td class="forumhr"><img src="/bitrix/images/1.gif" width="1" height="1" alt=""></td></tr></table> <font style="font-size:5px;"> <br></font> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr valign="top"> <td> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td nowrap class="forummessbutton"><a href="view_profile.php?UID=<?php echo $arMessage["AUTHOR_ID"]; ?> &FID=<?php echo $arForum["ID"]; ?> &TID=<?php echo $arTopic["ID"]; ?> &MID=<?php echo $arMessage["ID"]; ?> " title="<?php echo GetMessage("FR_AUTHOR_PROFILE"); ?> " class="forummessbuttontext"><?php echo GetMessage("FR_PROFILE"); ?> </a></td> <td><div class="forummessbuttonsep"></div></td> <?php if (strlen($arUser["EMAIL"]) > 0) { ?> <td nowrap class="forummessbutton"><a href="send_message.php?TYPE=MAIL&UID=<?php echo $arMessage["AUTHOR_ID"]; ?> " title="<?php echo GetMessage("FR_EMAIL_AUTHOR"); ?> " class="forummessbuttontext">E-Mail</a></td> <td><div class="forummessbuttonsep"></div></td> <?php } ?> <?php if (strLen($arUser["PERSONAL_ICQ"]) > 0 && COption::GetOptionString("forum", "SHOW_ICQ_CONTACT", "N") == "Y") { ?> <td nowrap class="forummessbutton"><a href="send_message.php?TYPE=ICQ&UID=<?php echo $arMessage["AUTHOR_ID"]; ?> " title="<?php echo GetMessage("FR_ICQ_AUTHOR"); ?> " class="forummessbuttontext">ICQ</a></td> <td><div class="forummessbuttonsep"></div></td> <?php } ?> <?php if ($USER->IsAuthorized()) { ?> <td nowrap class="forummessbutton"><a href="pm_message.php?mode=new&USER_ID=<?php echo $arMessage["AUTHOR_ID"]; ?> " title="<?php echo GetMessage("FR_PRIVATE_MESSAGE"); ?> " class="forummessbuttontext">P-Mess</a></td> <td><div class="forummessbuttonsep"></div></td> <?php } ?> <?php ?> </tr> </table> <?php if (ForumCurrUserPermissions($arForum["ID"]) >= "Q" || $arTopic["LAST_TOPIC_MESSAGE"] == IntVal($arMessage["ID"]) && $USER->IsAuthorized() && IntVal($ar_Message["AUTHOR_ID"]) == IntVal($USER->GetParam("USER_ID")) || $arTopic["USER_PERM_DELETE"]) { ?> <font style="font-size:4px;"> <br></font> <table border="0" cellspacing="0" cellpadding="0"> <tr> <?php if ($arMessage["APPROVED"] == "Y" && ForumCurrUserPermissions($arForum["ID"]) >= "Q") { ?> <td nowrap class="forummessbutton"><a href="read.php?FID=<?php echo $arForum["ID"]; ?> &TID=<?php echo $arTopic["ID"]; ?> &MID=<?php echo $arMessage["ID"]; ?> &ACTION=HIDE&<?php echo bitrix_sessid_get(); ?> " title="<?php echo GetMessage("FR_HIDE_MESS"); ?> " class="forummessbuttontext"><?php echo GetMessage("FR_HIDE"); ?> </a></td> <td><div class="forummessbuttonsep"></div></td> <?php } elseif (ForumCurrUserPermissions($arForum["ID"]) >= "Q") { ?> <td nowrap class="forummessbutton"><a href="read.php?FID=<?php echo $arForum["ID"]; ?> &TID=<?php echo $arTopic["ID"]; ?> &MID=<?php echo $arMessage["ID"]; ?> &ACTION=SHOW&<?php echo bitrix_sessid_get(); ?> " title="<?php echo GetMessage("FR_SHOW_MESS"); ?> " class="forummessbuttontext"><i><b><?php echo GetMessage("FR_SHOW"); ?> </b></i></a></td> <td><div class="forummessbuttonsep"></div></td> <?php } ?> <?php if (ForumCurrUserPermissions($arForum["ID"]) >= "U" || $arTopic["LAST_TOPIC_MESSAGE"] == IntVal($arMessage["ID"]) && $USER->IsAuthorized() && IntVal($arMessage["AUTHOR_ID"]) == IntVal($USER->GetParam("USER_ID"))) { ?> <td nowrap class="forummessbutton"><a href="new_topic.php?FID=<?php echo $arForum["ID"]; ?> &TID=<?php echo $arTopic["ID"]; ?> &MID=<?php echo $arMessage["ID"]; ?> &MESSAGE_TYPE=EDIT" title="<?php echo GetMessage("FR_EDIT_MESS"); ?> " class="forummessbuttontext"><?php echo GetMessage("FR_EDIT"); ?> </a></td> <td><div class="forummessbuttonsep"></div></td> <?php } ?> <?php if ($arTopic["USER_PERM_DELETE"]) { ?> <td nowrap class="forummessbutton"><a href="read.php?FID=<?php echo $arForum["ID"]; ?> &TID=<?php echo $arTopic["ID"]; ?> &MID=<?php echo $arMessage["ID"]; ?> &ACTION=DEL&<?php echo bitrix_sessid_get(); ?> " title="<?php echo GetMessage("FR_DELETE_MESS"); ?> " class="forummessbuttontext"><?php echo GetMessage("FR_DELETE"); ?> </a></td> <td><div class="forummessbuttonsep"></div></td> <?php if (IntVal($arMessage["AUTHOR_ID"]) > 0 && CModule::IncludeModule("support")) { ?> <td nowrap class="forummessbutton"><a href="read.php?FID=<?php echo $arForum["ID"]; ?> &TID=<?php echo $arTopic["ID"]; ?> &MID=<?php echo $arMessage["ID"]; ?> &ACTION=FORUM_MESSAGE2SUPPORT&<?php echo bitrix_sessid_get(); ?> " title="<?php echo GetMessage("FR_MOVE2SUPPORT"); ?> " class="forummessbuttontext"><?php echo GetMessage("FR_2SUPPORT"); ?> </a></td> <td><div class="forummessbuttonsep"></div></td> <?php } ?> <?php } ?> </font> </tr> </table> <?php } ?> </td> <td align="right"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td nowrap class="forummessbutton" style="padding-left:2px; padding-right:2px;"><a href="javascript:scroll(0,0);" title="<?php echo GetMessage("FR_2TOP"); ?> " class="forummessbuttontext"><?php echo GetMessage("FR_TOP"); ?> </a></td> </tr> </table> </td> </tr> </table> </td> </tr><?php ?> <tr><td colspan="2"><font style="font-size:4px;"> <br></font></td></tr><?php } } } } ?> </table><?php }
$parser = new textParser(LANGUAGE_ID); ?> <font style="font-size:4px;"> <br></font> <table width="100%" border="0" cellspacing="0" cellpadding="5"> <tr class="forumpostsep"><td colspan="2"><a name="postform"></a></td></tr> <tr> <td valign="top" class="forumbody forumbrd forumbrd1" width="10%"><b><font class="forumtitletext"><?php echo GetMessage("FNT_VIEW"); ?> :</font></b></td> <td valign="bottom" class="forumbody forumbrd forumbrd1" style="border-left : none;"> <font style="font-size:5px;"> <br></font> <table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td class="forumhr"><img src="/bitrix/images/1.gif" width="1" height="1" alt=""></td></tr></table> <font style="font-size:8px;"> <br></font> <font class="forumbodytext"><?php echo $parser->convert($_POST["POST_MESSAGE"], $arAllow); ?> </font> <table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td class="forumhr"><img src="/bitrix/images/1.gif" width="1" height="1" alt=""></td></tr></table> <font style="font-size:5px;"> <br></font> </td> </tr> </table> <font style="font-size:4px;"> <br></font> <?php } $APPLICATION->IncludeFile("forum/forum_tmpl_1/post_form.php", $arFormParams); ?> <br><br><?php $APPLICATION->IncludeFile("forum/forum_tmpl_1/menu.php", array("FID" => $FID)); if ($SHOW_FORUM_DEBUG_INFO) {
function onAfterMessageAdd($ID, $arFields) { $bSocNetLogRecordExists = false; // add log comment if ((!array_key_exists('PARAM1', $arFields) || $arFields['PARAM1'] != 'IB') && array_key_exists('PARAM2', $arFields) && intval($arFields['PARAM2']) > 0) { $dbRes = CSocNetLog::GetList(array('ID' => 'DESC'), array("EVENT_ID" => "wiki", "SOURCE_ID" => $arFields["PARAM2"]), false, false, array('ID', 'ENTITY_TYPE', 'ENTITY_ID', 'TMP_ID', 'URL')); if ($arRes = $dbRes->Fetch()) { $log_id = $arRes['TMP_ID']; $url = $arRes['URL']; $bSocNetLogRecordExists = true; } else { $rsElement = CIBlockElement::GetByID($arFields['PARAM2']); if ($arElement = $rsElement->Fetch()) { $arWikiElement = CWiki::GetElementById($arElement['ID'], array('IBLOCK_ID' => $arElement['IBLOCK_ID'])); $CWikiParser = new CWikiParser(); $parserLog = new logTextParser(); $arAllow = array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "LIST" => "N", "SMILES" => "N", "NL2BR" => "N", "VIDEO" => "N", "TABLE" => "N"); $text4message = $CWikiParser->Parse($arElement['DETAIL_TEXT'], $arElement['DETAIL_TEXT_TYPE'], $arWikiElement['IMAGES']); $text4message = preg_replace("#<br[\\s]*\\/>#is", "#BR#", $text4message); $text4message = htmlspecialcharsback($parserLog->convert($text4message, array(), $arAllow)); $text4message = preg_replace("#\\#BR\\##is", "\n", $text4message); $text4message = $CWikiParser->Clear($text4message); $url = str_replace(array('#group_id#', '#wiki_name#'), array(intval($this->SonetGroupID), urlencode($arElement['NAME'])), $this->arPath['PATH_TO_POST']); $arSoFields = array('ENTITY_TYPE' => SONET_SUBSCRIBE_ENTITY_GROUP, 'IS_CUSTOM_ET' => 'N', 'ENTITY_ID' => intval($this->SonetGroupID), 'EVENT_ID' => 'wiki', 'USER_ID' => $arElement['CREATED_BY'], 'LOG_DATE' => $arElement['DATE_CREATE'], 'LOG_UPDATE' => $arElement['DATE_CREATE'], 'TITLE_TEMPLATE' => GetMessage('WIKI_SONET_LOG_TITLE_TEMPLATE'), 'TITLE' => $arElement['NAME'], 'MESSAGE' => $text4message, 'TEXT_MESSAGE' => '', 'MODULE_ID' => 'wiki', 'URL' => $url, 'CALLBACK_FUNC' => false, 'SOURCE_ID' => $arFields['PARAM2'], 'PARAMS' => 'forum_id=' . $this->ForumID, 'RATING_TYPE_ID' => 'IBLOCK_ELEMENT', 'RATING_ENTITY_ID' => intval($arFields['PARAM2'])); $log_id = CSocNetLog::Add($arSoFields, false); if (intval($log_id) > 0) { CSocNetLog::Update($log_id, array("TMP_ID" => $log_id)); CSocNetLogRights::SetForSonet($log_id, SONET_SUBSCRIBE_ENTITY_GROUP, intval($this->SonetGroupID), "wiki", "view", true); } } } if (intval($log_id) > 0) { $arForum = CForumNew::GetByID($this->ForumID); $parser = new textParser(LANGUAGE_ID, $this->arPath['PATH_TO_SMILE']); $parser->image_params['width'] = false; $parser->image_params['height'] = false; $arAllow = array('HTML' => "N", 'ANCHOR' => "N", 'BIU' => "N", 'IMG' => "N", 'LIST' => "N", 'QUOTE' => "N", 'CODE' => "N", 'FONT' => "N", 'UPLOAD' => $arForum['ALLOW_UPLOAD'], 'NL2BR' => "N", 'SMILES' => "N"); $sAuthorForMail = str_replace('#TITLE#', $arMessage['AUTHOR_NAME'], GetMessage('SONET_FORUM_LOG_TEMPLATE_GUEST')); if ($bSocNetLogRecordExists) { $arMessage = CForumMessage::GetByIDEx($ID); $parser = new textParser(LANGUAGE_ID, $this->arPath['PATH_TO_SMILE']); $parser->image_params['width'] = false; $parser->image_params['height'] = false; if (intVal($arMessage['AUTHOR_ID']) > 0) { $sAuthorForMail = str_replace(array('#URL#', '#TITLE#'), array('http://' . SITE_SERVER_NAME . CComponentEngine::MakePathFromTemplate($this->arPath['PATH_TO_USER'], array('user_id' => $arMessage['AUTHOR_ID'])), $arMessage['AUTHOR_NAME']), GetMessage('SONET_FORUM_LOG_TEMPLATE_AUTHOR')); } $arFieldsForSocnet = array('ENTITY_TYPE' => SONET_SUBSCRIBE_ENTITY_GROUP, 'ENTITY_ID' => intval($this->SonetGroupID), 'EVENT_ID' => 'wiki_comment', '=LOG_DATE' => $GLOBALS['DB']->CurrentTimeFunction(), 'MESSAGE' => $parser->convert($arMessage['POST_MESSAGE'], $arAllow), 'TEXT_MESSAGE' => $parser->convert4mail($arMessage['POST_MESSAGE'] . $sAuthorForMail), 'URL' => $url, 'MODULE_ID' => false, 'SOURCE_ID' => $ID, 'LOG_ID' => $log_id, 'RATING_TYPE_ID' => 'FORUM_POST', 'RATING_ENTITY_ID' => intval($arMessage['ID'])); if (intVal($arMessage['AUTHOR_ID']) > 0) { $arFieldsForSocnet['USER_ID'] = $arMessage['AUTHOR_ID']; } CSocNetLogComments::Add($arFieldsForSocnet); } else { $dbMessage = CForumMessage::GetListEx(array(), array('TOPIC_ID' => $arFields["TOPIC_ID"], "NEW_TOPIC" => "N")); while ($arMessage = $dbMessage->GetNext()) { if (intVal($arMessage['AUTHOR_ID']) > 0) { $sAuthorForMail = str_replace(array('#URL#', '#TITLE#'), array('http://' . SITE_SERVER_NAME . CComponentEngine::MakePathFromTemplate($this->arPath['PATH_TO_USER'], array('user_id' => $arMessage['AUTHOR_ID'])), $arMessage['AUTHOR_NAME']), GetMessage('SONET_FORUM_LOG_TEMPLATE_AUTHOR')); } $arFieldsForSocnet = array('ENTITY_TYPE' => SONET_SUBSCRIBE_ENTITY_GROUP, 'ENTITY_ID' => intval($this->SonetGroupID), 'EVENT_ID' => 'wiki_comment', '=LOG_DATE' => $GLOBALS['DB']->CharToDateFunction($arMessage['POST_DATE'], "FULL", SITE_ID), 'MESSAGE' => $parser->convert($arMessage['POST_MESSAGE'], $arAllow), 'TEXT_MESSAGE' => $parser->convert4mail($arMessage['POST_MESSAGE'] . $sAuthorForMail), 'URL' => $url, 'MODULE_ID' => false, 'SOURCE_ID' => $ID, 'LOG_ID' => $log_id, 'RATING_TYPE_ID' => 'FORUM_POST', 'RATING_ENTITY_ID' => intval($arMessage['ID'])); if (intVal($arMessage['AUTHOR_ID']) > 0) { $arFieldsForSocnet['USER_ID'] = $arMessage['AUTHOR_ID']; } CSocNetLogComments::Add($arFieldsForSocnet); } } } } }
<font style="font-size:5px;"> <br></font> <table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td class="forumhr"><img src="/bitrix/images/1.gif" width="1" height="1" alt=""></td></tr></table> <font style="font-size:8px;"> <br></font> <font class="forumbodytext"> <?php $arAllow["SMILES"] = $arForum["ALLOW_SMILES"]; if ($arMessage["USE_SMILES"] != "Y") { $arAllow["SMILES"] = "N"; } if (COption::GetOptionString("forum", "FILTER", "Y") == "Y" || COption::GetOptionString("forum", "MESSAGE_HTML", "Y") == "Y") { $message = $arMessage["POST_MESSAGE_HTML"]; } else { $message = $arMessage["POST_MESSAGE"]; } if (COption::GetOptionString("forum", "MESSAGE_HTML", "Y") == "N") { $message = $parser->convert($message, $arAllow); } echo $message; if (IntVal($arMessage["ATTACH_IMG"]) > 0) { echo "<br><br>"; if ($arForum["ALLOW_UPLOAD"] == "Y" || $arForum["ALLOW_UPLOAD"] == "F" || $arForum["ALLOW_UPLOAD"] == "A") { echo CFile::ShowFile($arMessage["ATTACH_IMG"], 0, 300, 300, true, "border=0", false); } } if (strlen($arMessage["SIGNATURE"]) > 0) { $arAllow["SMILES"] = "N"; ?> <br><br><font class="forumsigntext"><?php echo $parser->convert($arMessage["SIGNATURE"], $arAllow); ?> </font><?php
} ?> </nobr><br></small> <?php } ?> </font> </td> <td width="100%"> <font class="forumbodytext"> <?php $arAllow["SMILES"] = $arForum["ALLOW_SMILES"]; if ($ar_Message["USE_SMILES"] != "Y") { $arAllow["SMILES"] = "N"; } echo $parser->convert($ar_Message["POST_MESSAGE"], $arAllow); if (IntVal($ar_Message["ATTACH_IMG"]) > 0) { echo "<br>"; if ($arForum["ALLOW_UPLOAD"] == "Y" || $arForum["ALLOW_UPLOAD"] == "F" || $arForum["ALLOW_UPLOAD"] == "A") { echo CFile::ShowFile($ar_Message["ATTACH_IMG"], 0, 400, 400, false, "border=0", false); } } if (strlen($ar_Message["SIGNATURE"]) > 0) { echo "<br><br>"; $arAllow["SMILES"] = "N"; echo $parser->convert($ar_Message["SIGNATURE"], $arAllow); } ?> </font> </td> </tr>
private function createLogComment($messageID, $bSocNetLogRecordExists, $iblockElementID, $topicID, $arLogParams) { $dbComment = CSocNetLogComments::GetList(array(), array('EVENT_ID' => 'wiki_comment', 'SOURCE_ID' => $messageID), false, false, array('ID')); if (($arComment = $dbComment->Fetch()) && intval($arComment['ID']) > 0) { return false; } $arForum = CForumNew::GetByID($this->ForumID); $parser = new textParser(LANGUAGE_ID, $this->arPath['PATH_TO_SMILE']); $parser->image_params['width'] = false; $parser->image_params['height'] = false; $arAllow = array('HTML' => "N", 'ANCHOR' => "N", 'BIU' => "N", 'IMG' => "N", 'LIST' => "N", 'QUOTE' => "N", 'CODE' => "N", 'FONT' => "N", 'UPLOAD' => $arForum['ALLOW_UPLOAD'], 'NL2BR' => "N", 'SMILES' => "N"); if ($bSocNetLogRecordExists) { $arMessage = CForumMessage::GetByIDEx($messageID); $sAuthorForMail = str_replace('#TITLE#', $arMessage['AUTHOR_NAME'], GetMessage('SONET_FORUM_LOG_TEMPLATE_GUEST')); $parser = new textParser(LANGUAGE_ID, $this->arPath['PATH_TO_SMILE']); $parser->image_params['width'] = false; $parser->image_params['height'] = false; if (intVal($arMessage['AUTHOR_ID']) > 0) { $sAuthorForMail = str_replace(array('#URL#', '#TITLE#'), array('http://' . SITE_SERVER_NAME . CComponentEngine::MakePathFromTemplate($this->arPath['PATH_TO_USER'], array('user_id' => $arMessage['AUTHOR_ID'])), $arMessage['AUTHOR_NAME']), GetMessage('SONET_FORUM_LOG_TEMPLATE_AUTHOR')); } $arFieldsForSocnet = array('ENTITY_TYPE' => SONET_SUBSCRIBE_ENTITY_GROUP, 'ENTITY_ID' => intval($this->SonetGroupID), 'EVENT_ID' => 'wiki_comment', '=LOG_DATE' => $GLOBALS['DB']->CharToDateFunction($arMessage['POST_DATE'], "FULL", SITE_ID), 'MESSAGE' => $parser->convert($arMessage['POST_MESSAGE'], $arAllow), 'TEXT_MESSAGE' => $parser->convert4mail($arMessage['POST_MESSAGE'] . $sAuthorForMail), 'URL' => $arLogParams["URL"], 'MODULE_ID' => false, 'SOURCE_ID' => $messageID, 'LOG_ID' => $arLogParams["LOG_ID"], 'RATING_TYPE_ID' => 'FORUM_POST', 'RATING_ENTITY_ID' => intval($arMessage['ID'])); if (intVal($arMessage['AUTHOR_ID']) > 0) { $arFieldsForSocnet['USER_ID'] = $arMessage['AUTHOR_ID']; } $log_comment_id = CSocNetLogComments::Add($arFieldsForSocnet, false, false); if ($log_comment_id) { CSocNetLog::CounterIncrement($log_comment_id, false, false, "LC"); if (CModule::IncludeModule("im") && intval($arMessage["AUTHOR_ID"]) > 0 && $arMessage["AUTHOR_ID"] != $arLogParams["LOG_USER_ID"]) { $rsUnFollower = CSocNetLogFollow::GetList(array("USER_ID" => $arLogParams["LOG_USER_ID"], "CODE" => "L" . $arLogParams["LOG_ID"], "TYPE" => "N"), array("USER_ID")); $arUnFollower = $rsUnFollower->Fetch(); if (!$arUnFollower) { $arMessageFields = array("MESSAGE_TYPE" => IM_MESSAGE_SYSTEM, "TO_USER_ID" => $arLogParams["LOG_USER_ID"], "FROM_USER_ID" => $arMessage["AUTHOR_ID"], "NOTIFY_TYPE" => IM_NOTIFY_FROM, "NOTIFY_MODULE" => "wiki", "NOTIFY_EVENT" => "comment"); $arParams["TITLE"] = str_replace(array("\r\n", "\n"), " ", $arLogParams["LOG_TITLE"]); $arParams["TITLE"] = TruncateText($arParams["TITLE"], 100); $arParams["TITLE_OUT"] = TruncateText($arParams["TITLE"], 255); $arTmp = CSocNetLogTools::ProcessPath(array("ELEMENT_URL" => $arLogParams["URL"]), $arLogParams["LOG_USER_ID"]); $serverName = $arTmp["SERVER_NAME"]; $url = $arTmp["URLS"]["ELEMENT_URL"]; $arMessageFields["NOTIFY_TAG"] = "WIKI|COMMENT|" . $iblockElementID; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("WIKI_SONET_IM_COMMENT", array("#title#" => "<a href=\"" . $url . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("WIKI_SONET_IM_COMMENT", array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " (" . $serverName . $url . ")#BR##BR#" . $arFieldsForSocnet["MESSAGE"]; CIMNotify::Add($arMessageFields); } } } } else { $dbMessage = CForumMessage::GetListEx(array(), array("TOPIC_ID" => $topicID, "NEW_TOPIC" => "N")); while ($arMessage = $dbMessage->GetNext()) { if (intVal($arMessage['AUTHOR_ID']) > 0) { $sAuthorForMail = str_replace(array('#URL#', '#TITLE#'), array('http://' . SITE_SERVER_NAME . CComponentEngine::MakePathFromTemplate($this->arPath['PATH_TO_USER'], array('user_id' => $arMessage['AUTHOR_ID'])), $arMessage['AUTHOR_NAME']), GetMessage('SONET_FORUM_LOG_TEMPLATE_AUTHOR')); } $arFieldsForSocnet = array('ENTITY_TYPE' => SONET_SUBSCRIBE_ENTITY_GROUP, 'ENTITY_ID' => intval($this->SonetGroupID), 'EVENT_ID' => 'wiki_comment', '=LOG_DATE' => $GLOBALS['DB']->CharToDateFunction($arMessage['POST_DATE'], "FULL", SITE_ID), 'MESSAGE' => $parser->convert($arMessage['POST_MESSAGE'], $arAllow), 'TEXT_MESSAGE' => $parser->convert4mail($arMessage['POST_MESSAGE'] . $sAuthorForMail), 'URL' => $arLogParams["URL"], 'MODULE_ID' => false, 'SOURCE_ID' => $arMessage['ID'], 'LOG_ID' => $arLogParams["LOG_ID"], 'RATING_TYPE_ID' => 'FORUM_POST', 'RATING_ENTITY_ID' => intval($arMessage['ID'])); if (intVal($arMessage['AUTHOR_ID']) > 0) { $arFieldsForSocnet['USER_ID'] = $arMessage['AUTHOR_ID']; } $log_comment_id = CSocNetLogComments::Add($arFieldsForSocnet, false, false); CSocNetLog::CounterIncrement($log_comment_id, false, false, "LC"); } } }
public function SocnetLogMessageAdd($ID, $arFields, $bUpdate = false) { $arForum = CForumNew::GetByID($this->forumID); $arMessage = CForumMessage::GetByIDEx($ID); if ($arMessage["TOPIC_ID"]) { $arTopic = CForumTopic::GetByID($arMessage["TOPIC_ID"]); } $arRes = $this->_getSocnetLogEntityByComment($arMessage); if ($arRes && intval($arRes["TMP_ID"]) > 0) { $parser = new textParser(LANGUAGE_ID, $this->arPath["PATH_TO_SMILE"]); $parser->image_params["width"] = false; $parser->image_params["height"] = false; $arAllow = array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "LIST" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "UPLOAD" => $arForum["ALLOW_UPLOAD"], "NL2BR" => "N", "SMILES" => "N"); if (intval($arRes["COMMENTS_COUNT"]) == intval($arTopic["POSTS"])) { $url = CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_MESSAGE"], array("FID" => $arMessage["FORUM_ID"], "TID" => $arMessage["TOPIC_ID"], "MID" => $ID)); $arFieldsForSocnet = array("ENTITY_TYPE" => $arRes["ENTITY_TYPE"], "ENTITY_ID" => $arRes["ENTITY_ID"], "EVENT_ID" => $this->event_comments_id, "=LOG_DATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "MESSAGE" => $parser->convert($arMessage["POST_MESSAGE"], $arAllow), "TEXT_MESSAGE" => $parser->convert4mail($arMessage["POST_MESSAGE"]), "URL" => $url, "MODULE_ID" => false, "SOURCE_ID" => $ID, "LOG_ID" => $arRes["TMP_ID"], "RATING_TYPE_ID" => "FORUM_POST", "RATING_ENTITY_ID" => intval($ID)); if (intVal($arMessage["AUTHOR_ID"]) > 0) { $arFieldsForSocnet["USER_ID"] = $arMessage["AUTHOR_ID"]; } if ($bUpdate) { $commentID = $this->_getSocnetLogCommentByForumComment($ID, $arRes); if ($arMessage['APPROVED'] == 'Y') { if ($commentID) { CSocNetLogComments::Update($commentID, $arFieldsForSocnet); } else { $log_comment_id = CSocNetLogComments::Add($arFieldsForSocnet, false, false); //, true CSocNetLog::CounterIncrement($log_comment_id, false, false, "LC"); } } else { if ($commentID) { CSocNetLogComments::Delete($commentID); } } } else { $log_comment_id = CSocNetLogComments::Add($arFieldsForSocnet, false, false); //, true CSocNetLog::CounterIncrement($log_comment_id, false, false, "LC"); } } else { $dbComments = CForumMessage::GetListEx(array(), array('TOPIC_ID' => $arMessage["TOPIC_ID"], "NEW_TOPIC" => "N")); while ($arComment = $dbComments->GetNext()) { $url = CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_MESSAGE"], array("FID" => $arComment["FORUM_ID"], "TID" => $arComment["TOPIC_ID"], "MID" => $arComment["ID"])); $arFieldsForSocnet = array("ENTITY_TYPE" => $arRes["ENTITY_TYPE"], "ENTITY_ID" => $arRes["ENTITY_ID"], "EVENT_ID" => $this->event_comments_id, "=LOG_DATE" => $GLOBALS["DB"]->CharToDateFunction($arComment['POST_DATE'], "FULL", SITE_ID), "MESSAGE" => $parser->convert($arComment["POST_MESSAGE"], $arAllow), "TEXT_MESSAGE" => $parser->convert4mail($arComment["POST_MESSAGE"]), "URL" => $url, "MODULE_ID" => false, "SOURCE_ID" => $arComment["ID"], "LOG_ID" => $arRes["TMP_ID"], "RATING_TYPE_ID" => "FORUM_POST", "RATING_ENTITY_ID" => intval($arComment["ID"])); if (intVal($arComment["AUTHOR_ID"]) > 0) { $arFieldsForSocnet["USER_ID"] = $arComment["AUTHOR_ID"]; } $log_comment_id = CSocNetLogComments::Add($arFieldsForSocnet, false, false); //, true CSocNetLog::CounterIncrement($log_comment_id, false, false, "LC"); } } } }