1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
measure.php
См. документацию.
1
<?php
2
3
require_once(
$_SERVER
[
"DOCUMENT_ROOT"
].
"/bitrix/modules/catalog/general/measure.php"
);
4
5
class
CCatalogMeasure
extends
CCatalogMeasureAll
6
{
15
public
static
function
getList
($arOrder =
array
(),
$arFilter
=
array
(), $arGroupBy =
false
, $arNavStartParams =
false
, $arSelectFields =
array
())
16
{
17
global
$DB
;
18
19
if
(empty($arSelectFields))
20
{
21
$arSelectFields =
array
(
"ID"
,
"CODE"
,
"MEASURE_TITLE"
,
"SYMBOL_RUS"
,
"SYMBOL_INTL"
,
"SYMBOL_LETTER_INTL"
,
"IS_DEFAULT"
);
22
}
23
elseif
(is_array($arSelectFields))
24
{
25
if
(!in_array(
'*'
, $arSelectFields))
26
{
27
$selectCodes = array_fill_keys($arSelectFields,
true
);
28
if
(!isset($selectCodes[
'CODE'
]))
29
$arSelectFields[] =
'CODE'
;
30
if
(
31
(isset($selectCodes[
'MEASURE_TITLE'
]) || isset($selectCodes[
'SYMBOL_RUS'
]))
32
&& !isset($selectCodes[
'SYMBOL_INTL'
])
33
)
34
$arSelectFields[] =
'SYMBOL_INTL'
;
35
unset($selectCodes);
36
}
37
}
38
if
(in_array(
'SYMBOL_RUS'
, $arSelectFields))
39
$arSelectFields[] =
'SYMBOL'
;
40
41
$arFields
=
array
(
42
"ID"
=>
array
(
"FIELD"
=>
"CM.ID"
,
"TYPE"
=>
"int"
),
43
"CODE"
=>
array
(
"FIELD"
=>
"CM.CODE"
,
"TYPE"
=>
"int"
),
44
"MEASURE_TITLE"
=>
array
(
"FIELD"
=>
"CM.MEASURE_TITLE"
,
"TYPE"
=>
"string"
),
45
"SYMBOL_RUS"
=>
array
(
"FIELD"
=>
"CM.SYMBOL_RUS"
,
"TYPE"
=>
"string"
),
46
"SYMBOL"
=>
array
(
"FIELD"
=>
"CM.SYMBOL_RUS"
,
"TYPE"
=>
"string"
),
47
"SYMBOL_INTL"
=>
array
(
"FIELD"
=>
"CM.SYMBOL_INTL"
,
"TYPE"
=>
"string"
),
48
"SYMBOL_LETTER_INTL"
=>
array
(
"FIELD"
=>
"CM.SYMBOL_LETTER_INTL"
,
"TYPE"
=>
"string"
),
49
"IS_DEFAULT"
=>
array
(
"FIELD"
=>
"CM.IS_DEFAULT"
,
"TYPE"
=>
"char"
),
50
);
51
$arSqls =
CCatalog::PrepareSql
(
$arFields
, $arOrder,
$arFilter
, $arGroupBy, $arSelectFields);
52
$arSqls[
"SELECT"
] = str_replace(
"%%_DISTINCT_%%"
,
""
, $arSqls[
"SELECT"
]);
53
54
if
(empty($arGroupBy) && is_array($arGroupBy))
55
{
56
$strSql =
"SELECT "
.$arSqls[
"SELECT"
].
" FROM b_catalog_measure CM "
.$arSqls[
"FROM"
];
57
if
(!empty($arSqls[
"WHERE"
]))
58
$strSql .=
" WHERE "
.$arSqls[
"WHERE"
];
59
if
(!empty($arSqls[
"GROUPBY"
]))
60
$strSql .=
" GROUP BY "
.$arSqls[
"GROUPBY"
];
61
62
$dbRes
=
$DB
->Query($strSql);
63
if
(
$arRes
=
$dbRes
->Fetch())
64
return
$arRes
[
"CNT"
];
65
else
66
return
false
;
67
}
68
69
$strSql =
"SELECT "
.$arSqls[
"SELECT"
].
" FROM b_catalog_measure CM "
.$arSqls[
"FROM"
];
70
if
(!empty($arSqls[
"WHERE"
]))
71
$strSql .=
" WHERE "
.$arSqls[
"WHERE"
];
72
if
(!empty($arSqls[
"GROUPBY"
]))
73
$strSql .=
" GROUP BY "
.$arSqls[
"GROUPBY"
];
74
if
(!empty($arSqls[
"ORDERBY"
]))
75
$strSql .=
" ORDER BY "
.$arSqls[
"ORDERBY"
];
76
77
$intTopCount = 0;
78
$boolNavStartParams = (!empty($arNavStartParams) && is_array($arNavStartParams));
79
if
($boolNavStartParams && array_key_exists(
'nTopCount'
, $arNavStartParams))
80
{
81
$intTopCount = intval($arNavStartParams[
"nTopCount"
]);
82
}
83
if
($boolNavStartParams && 0 >= $intTopCount)
84
{
85
$strSql_tmp =
"SELECT COUNT('x') as CNT FROM b_catalog_measure CM "
.$arSqls[
"FROM"
];
86
if
(!empty($arSqls[
"WHERE"
]))
87
$strSql_tmp .=
" WHERE "
.$arSqls[
"WHERE"
];
88
if
(!empty($arSqls[
"GROUPBY"
]))
89
$strSql_tmp .=
" GROUP BY "
.$arSqls[
"GROUPBY"
];
90
91
$dbRes
=
$DB
->Query($strSql_tmp);
92
$cnt = 0;
93
if
(empty($arSqls[
"GROUPBY"
]))
94
{
95
if
(
$arRes
=
$dbRes
->Fetch())
96
$cnt =
$arRes
[
"CNT"
];
97
}
98
else
99
{
100
$cnt =
$dbRes
->SelectedRowsCount();
101
}
102
103
$dbRes
=
new
CDBResult();
104
105
$dbRes
->NavQuery($strSql, $cnt, $arNavStartParams);
106
}
107
else
108
{
109
if
($boolNavStartParams && 0 < $intTopCount)
110
$strSql .=
" LIMIT "
.$intTopCount;
111
112
$dbRes
=
$DB
->Query($strSql);
113
}
114
115
return
new
CCatalogMeasureResult
(
$dbRes
);
116
}
117
}
CAllCatalog\PrepareSql
static PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields)
Определения
catalog.php:389
CCatalogMeasureAll
Определения
measure.php:11
CCatalogMeasure
Определения
measure.php:6
CCatalogMeasure\getList
static getList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения
measure.php:15
CCatalogMeasureResult
Определения
measure.php:286
$arFields
$arFields
Определения
dblapprove.php:5
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$_SERVER
$_SERVER["DOCUMENT_ROOT"]
Определения
cron_frame.php:9
$DB
global $DB
Определения
cron_frame.php:29
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
$arRes
$arRes
Определения
options.php:104
$arFilter
$arFilter
Определения
user_search.php:106
$dbRes
$dbRes
Определения
yandex_detail.php:168
bitrix
modules
catalog
mysql
measure.php
Создано системой
1.14.0