- Модуль: 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;
}