• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_tools_photo.php
  • Класс: CSocNetPhotoCommentEvent
  • Вызов: CSocNetPhotoCommentEvent::AddComment_Photo_Blog
static function AddComment_Photo_Blog($arFields, $BLOG_ID, $arLog)
{
	global $USER;

	if (!CModule::IncludeModule("blog"))
		return false;

	if (!CModule::IncludeModule("iblock"))
		return false;

	$arElement = false;

	$arFilter = array("ID" => $arLog["SOURCE_ID"]);
	$arSelectedFields = array("IBLOCK_ID", "ID", "NAME", "TAGS", "CODE", "IBLOCK_SECTION_ID", "DETAIL_PAGE_URL",
			"CREATED_BY", "PREVIEW_PICTURE", "PREVIEW_TEXT", "PROPERTY_BLOG_POST_ID", "PROPERTY_BLOG_COMMENT_CNT", "PROPERTY_REAL_PICTURE");
	$db_res = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelectedFields);
	if ($db_res && $res = $db_res->GetNext())
		$arElement = $res;

	if ($arElement)
	{
		// check iblock properties
		$ELEMENT_BLOG_POST_ID = CSocNetLogTools::AddComment_Review_CheckIBlock_Blog($arElement);

		if ($ELEMENT_BLOG_POST_ID <= 0)
		{
			// Add Post
			$POST_ID = CSocNetLogTools::AddComment_Review_CreateRoot_Blog($arElement, $BLOG_ID);
			$bNewPost = true;
		}
		else
			$POST_ID = $ELEMENT_BLOG_POST_ID;

		if(intval($POST_ID) > 0)
		{
			// Add comment
			$commentID = false;

			$UserIP = CBlogUser::GetUserIP();
			$arFieldsComment = Array(
				"POST_ID" => $POST_ID,
				"BLOG_ID" => $BLOG_ID,
				"POST_TEXT" => trim($arFields["TEXT_MESSAGE"]),
				"DATE_CREATE" => ConvertTimeStamp(time()+CTimeZone::GetOffset(), "FULL"),
				"AUTHOR_IP" => $UserIP[0],
				"AUTHOR_IP1" => $UserIP[1],
				"PARENT_ID" => false
			);

			if($USER->IsAuthorized())
				$arFieldsComment["AUTHOR_ID"] = $USER->GetID();

			$commentID = CBlogComment::Add($arFieldsComment);
			if (!$commentID)
				$strError = GetMessage("SONET_ADD_COMMENT_SOURCE_ERROR");
			else
				CSocNetLogTools::AddComment_Review_UpdateElement_Blog($arElement, $POST_ID, $BLOG_ID, $bNewPost);
		}
		else
			$strError = GetMessage("SONET_ADD_COMMENT_SOURCE_ERROR");
	}
	else
		$strError = GetMessage("SONET_ADD_COMMENT_SOURCE_ERROR");

	return array(
		"SOURCE_ID" => $commentID,
		"RATING_TYPE_ID" => "BLOG_COMMENT",
		"RATING_ENTITY_ID" => $commentID,
		"ERROR" => $strError,
		"NOTES" => "",
		"IM_MESSAGE" => ($arFieldsComment ? $arFieldsComment["POST_TEXT"] : false)
	);
}