• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/topic.php
  • Класс: CAllForumTopic
  • Вызов: CAllForumTopic::GetSelectFields
static function GetSelectFields($arAddParams = array(), $fields = array())
{
	global $DB;
	$arAddParams = (is_array($arAddParams) ? $arAddParams : array());
	$arAddParams["sPrefix"] = $DB->ForSql(empty($arAddParams["sPrefix"]) ? "FT." : $arAddParams["sPrefix"]);
	$arAddParams["sTablePrefix"] = $DB->ForSql(empty($arAddParams["sTablePrefix"]) ? "FT." : $arAddParams["sTablePrefix"]);
	$arAddParams["sReturnResult"] = ($arAddParams["sReturnResult"] == "string" ? "string" : "array");
	$fields = (is_array($fields) ? $fields : array());
	$fields = array_merge(array(
		"ID" => "ID",
		"TITLE" => "TITLE",
		"TITLE_SEO_REAL" => $arAddParams["sTablePrefix"]."TITLE_SEO",
		"TITLE_SEO" => CForumNew::Concat("-", array($arAddParams["sTablePrefix"]."ID", $arAddParams["sTablePrefix"]."TITLE_SEO")),
		"TAGS" => "TAGS",
		"DESCRIPTION" => "DESCRIPTION",
		"VIEWS" => "VIEWS",
		"LAST_POSTER_ID" => "LAST_POSTER_ID",
		"START_DATE" => $DB->DateToCharFunction($arAddParams["sTablePrefix"]."START_DATE", "FULL"),
		"USER_START_NAME" => "USER_START_NAME",
		"USER_START_ID" => "USER_START_ID",
		"POSTS" => "POSTS",
		"LAST_POSTER_NAME" => "LAST_POSTER_NAME",
		"LAST_POST_DATE" => $DB->DateToCharFunction($arAddParams["sTablePrefix"]."LAST_POST_DATE", "FULL"),
		"LAST_MESSAGE_ID" => "LAST_MESSAGE_ID",
		"APPROVED" => "APPROVED",
		"STATE" => "STATE",
		"FORUM_ID" => "FORUM_ID",
		"TOPIC_ID" => "TOPIC_ID",
		"ICON" => "ICON",
		"SORT" => "SORT",
		"SOCNET_GROUP_ID" => "SOCNET_GROUP_ID",
		"OWNER_ID" => "OWNER_ID",
		"XML_ID" => "XML_ID"), $fields);
	$res = array();
	foreach($fields as $key => $val)
	{
		if ($key == $val)
		{
			$res[$arAddParams["sPrefix"].$key] = $arAddParams["sTablePrefix"].$val;
		}
		else
		{
			$res[($arAddParams["sPrefix"] == $arAddParams["sTablePrefix"] ? "" : $arAddParams["sPrefix"]).$key] = $val;
		}
	}
	if ($arAddParams["sReturnResult"] == "string")
	{
		$arRes = array();
		foreach ($res as $key => $val)
		{
			$arRes[] = $val.($key != $val ? " AS ".$key : "");
		}
		$res = implode(", ", $arRes);
	}
	return $res;
}