• Модуль: mobile
  • Путь к файлу: ~/bitrix/modules/mobile/classes/general/mobile_helper.php
  • Класс: CMobileHelper
  • Вызов: CMobileHelper::SendPullComment
static function SendPullComment($type, $arFields)
{
	if (!CModule::IncludeModule("pull"))
	{
		return;
	}

	if ($type == "blog")
	{
		$arCommentParams = Array(
			"ID" => $arFields["COMMENT_ID"],
			"ENTITY_XML_ID" => "BLOG_".$arFields["POST_ID"],
			"FULL_ID" => array(
				"BLOG_".$arFields["POST_ID"],
				$arFields["COMMENT_ID"]
			),
			"ACTION" => "REPLY",
			"APPROVED" => "Y",
			"PANELS" => array(
				"EDIT" => "N",
				"MODERATE" => "N",
				"DELETE" => "N"
			),
			"NEW" => "Y",
			"AUTHOR" => array(
				"ID" => $GLOBALS["USER"]->GetID(),
				"NAME" => $arFields["arAuthor"]["NAME_FORMATED"],
				"URL" => $arFields["arAuthor"]["url"],
				"E-MAIL" => $arFields["arComment"]["AuthorEmail"],
				"AVATAR" => $arFields["arAuthor"]["PERSONAL_PHOTO_resized"]["src"],
				"IS_EXTRANET" => (is_array($GLOBALS["arExtranetUserID"]) && in_array($GLOBALS["USER"]->GetID(), $GLOBALS["arExtranetUserID"])),
			),
			"POST_TIMESTAMP" => $arFields["arComment"]["DATE_CREATE_TS"],
			"POST_TIME" => $arFields["arComment"]["DATE_CREATE_TIME"],
			"POST_DATE" => $arFields["arComment"]["DateFormated"],
			"POST_MESSAGE_TEXT" => $arFields["arComment"]["TextFormated"],
			"POST_MESSAGE_TEXT_MOBILE" => $arFields["arComment"]["TextFormatedMobile"],
			"URL" => array(
				"LINK" => str_replace(
					array("##comment_id#", "#comment_id#"),
					array("", $arFields["COMMENT_ID"]),
					$arFields["arUrl"]["LINK"]
				),
				"EDIT" => "__blogEditComment('".$arFields["COMMENT_ID"]."', '".$arFields["POST_ID"]."');",
				"MODERATE" => str_replace(
					array("#source_post_id#", "#post_id#", "#comment_id#", "&".bitrix_sessid_get()),
					array($arFields["POST_ID"], $arFields["POST_ID"], $arFields["COMMENT_ID"], ""),
					($arFields["arComment"]["CAN_SHOW"] == "Y"
						? $arFields["arUrl"]["SHOW"]
						: ($arFields["arComment"]["CAN_HIDE"] == "Y"
							? $arFields["arUrl"]["HIDE"]
							: ""
						)
					)
				),
				"DELETE" => str_replace(
					array("#source_post_id#", "#post_id#", "#comment_id#", "&".bitrix_sessid_get()),
					array($arFields["POST_ID"], $arFields["POST_ID"], $arFields["COMMENT_ID"], ""),
					$arFields["arUrl"]["DELETE"]
				)
			),
			"AFTER" => "",
			"BEFORE_ACTIONS_MOBILE" => "",
			"AFTER_MOBILE" => ""
		);

		if ($arFields["SHOW_RATING"] == "Y")
		{
			ob_start();
			$GLOBALS["APPLICATION"]->IncludeComponent(
				"bitrix:rating.vote", $arFields["RATING_TYPE"],
				Array(
					"ENTITY_TYPE_ID" => "BLOG_COMMENT",
					"ENTITY_ID" => $arFields["arComment"]["ID"],
					"OWNER_ID" => $arFields["arComment"]["AUTHOR_ID"],
					"USER_VOTE" => $arFields["arRating"][$arFields["arComment"]["ID"]]["USER_VOTE"],
					"USER_HAS_VOTED" => $arFields["arRating"][$arFields["arComment"]["ID"]]["USER_HAS_VOTED"],
					"TOTAL_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_VOTES"],
					"TOTAL_POSITIVE_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_POSITIVE_VOTES"],
					"TOTAL_NEGATIVE_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_NEGATIVE_VOTES"],
					"TOTAL_VALUE" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_VALUE"],
					"PATH_TO_USER_PROFILE" => $arFields["arUrl"]["USER"]
				),
				false,
				array("HIDE_ICONS" => "Y")
			);
			$arCommentParams["BEFORE_ACTIONS"] = ob_get_clean();

			ob_start();
			$GLOBALS["APPLICATION"]->IncludeComponent(
				"bitrix:rating.vote", "mobile_comment_".$arFields["RATING_TYPE"],
				Array(
					"ENTITY_TYPE_ID" => "BLOG_COMMENT",
					"ENTITY_ID" => $arFields["arComment"]["ID"],
					"OWNER_ID" => $arFields["arComment"]["AUTHOR_ID"],
					"USER_VOTE" => $arFields["arRating"][$arFields["arComment"]["ID"]]["USER_VOTE"],
					"USER_HAS_VOTED" => $arFields["arRating"][$arFields["arComment"]["ID"]]["USER_HAS_VOTED"],
					"TOTAL_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_VOTES"],
					"TOTAL_POSITIVE_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_POSITIVE_VOTES"],
					"TOTAL_NEGATIVE_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_NEGATIVE_VOTES"],
					"TOTAL_VALUE" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_VALUE"],
					"PATH_TO_USER_PROFILE" => $arFields["arUrl"]["USER"]
				),
				false,
				array("HIDE_ICONS" => "Y")
			);
			$arCommentParams["BEFORE_ACTIONS_MOBILE"] = ob_get_clean();
		}

		$arComment["UF"] = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("BLOG_COMMENT", $arFields["arComment"]["ID"], LANGUAGE_ID);
		$arUFResult = self::BuildUFFields($arComment["UF"]);
		$arCommentParams["AFTER"] .= $arUFResult["AFTER"];
		$arCommentParams["AFTER_MOBILE"] .= $arUFResult["AFTER_MOBILE"];

		if($arFields["arComment"]["CAN_EDIT"] == "Y")
		{
			ob_start();

			?> 'unicomments',
				'command' => 'comment',
				'params' => $arCommentParams
			)
		);
	}
}