65 if (!is_array($arSelect))
69 if (
count($arSelect) < 1)
81 if (!is_array($arOrder))
85 if (
count($arOrder) < 1)
94 foreach ($arOrder as $strColumn => $strDirection)
96 $strColumn = mb_strtoupper($strColumn);
97 $strDirection = mb_strtoupper($strDirection) ===
'ASC' ?
'ASC' :
'DESC';
106 $arSelect[] = $strColumn;
107 $arQueryOrder[$strColumn] = $strColumn .
' ' . $strDirection;
112 $arSelect[] = $strColumn;
113 $arQueryOrder[$strColumn] = $strColumn .
' ' . $strDirection;
121 foreach ($arSelect as $strColumn)
123 $strColumn = mb_strtoupper($strColumn);
130 $arQuerySelect[$strColumn] =
'e.' . $strColumn;
139 $arQueryGroup[$strColumn] =
'e.' . $strColumn;
141 $arQuerySelect[$strColumn] =
'e.' . $strColumn;
146 $arQuerySelect[$strColumn] =
'COUNT(e.ID) ' . $strColumn;
155 'TABLE_ALIAS' =>
'e',
156 'FIELD_NAME' =>
'HIT_ID',
157 'FIELD_TYPE' =>
'int',
161 'TABLE_ALIAS' =>
'e',
162 'FIELD_NAME' =>
'ERRNO',
163 'FIELD_TYPE' =>
'int',
167 'TABLE_ALIAS' =>
'e',
168 'FIELD_NAME' =>
'ERRFILE',
169 'FIELD_TYPE' =>
'string',
173 'TABLE_ALIAS' =>
'e',
174 'FIELD_NAME' =>
'ERRSTR',
175 'FIELD_TYPE' =>
'string',
179 'TABLE_ALIAS' =>
'e',
180 'FIELD_NAME' =>
'ERRLINE',
181 'FIELD_TYPE' =>
'int',
186 if (
count($arQuerySelect) < 1)
188 $arQuerySelect = [
'ID' =>
'e.ID'];
193 ' . implode(
', ', $arQuerySelect) .
'
201 if ($strQueryWhere = $obQueryWhere->GetQuery(
$arFilter))
205 ' . $strQueryWhere .
'
208 if ($bGroup &&
count($arQueryGroup) > 0)
212 ' . implode(
', ', $arQueryGroup) .
'
215 if (
count($arQueryOrder) > 0)
219 ' . implode(
', ', $arQueryOrder) .
'
223 return $DB->Query($strSql);