1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
sitepath.php
См. документацию.
1<?php
2
3require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/learning/classes/general/sitepath.php");
4
5// 2012-04-16 Checked/modified for compatibility with new data model
7{
8 /*************** ADD, UPDATE, DELETE *****************/
9 // 2012-04-16 Checked/modified for compatibility with new data model
10 public static function Add($arFields)
11 {
12 global $DB;
13
14 foreach ($arFields as $key => $value)
15 {
16 if (mb_substr($key, 0, 1) == "=")
17 {
18 unset($arFields[$key]);
19 $arFields['~' . mb_substr($key, 1)] = $value;
20 }
21 }
22
24 return false;
25
26 if ($arFields)
27 {
28 return $DB->Add('b_learn_site_path', $arFields);
29 }
30 else
31 {
32 return false;
33 }
34 }
35
36 // 2012-04-16 Checked/modified for compatibility with new data model
37 public static function Update($ID, $arFields)
38 {
39 global $DB;
40
41 $ID = intval($ID);
42
43 $arFields1 = array();
44 foreach ($arFields as $key => $value)
45 {
46 if (mb_substr($key, 0, 1) == "=")
47 {
48 $arFields1[mb_substr($key, 1)] = $value;
49 unset($arFields[$key]);
50 }
51 }
52
53 if (!CSitePath::CheckFields("UPDATE", $arFields, $ID))
54 return false;
55
56 $strUpdate = $DB->PrepareUpdate("b_learn_site_path", $arFields);
57
58 foreach ($arFields1 as $key => $value)
59 {
60 if ($strUpdate <> '')
61 $strUpdate .= ", ";
62 $strUpdate .= $key."=".$value." ";
63 }
64
65 if ($strUpdate <> '')
66 {
67 $strSql =
68 "UPDATE b_learn_site_path SET ".
69 " ".$strUpdate." ".
70 "WHERE ID = ".$ID." ";
71 $DB->Query($strSql);
72
73 unset($GLOBALS["LEARNING_SITE_PATH"]["LEARNING_SITE_PATH_CACHE_".$ID]);
74
75 return $ID;
76 }
77
78 return False;
79 }
80
81 //*************** SELECT *********************/
82 // 2012-04-16 Checked/modified for compatibility with new data model
83 public static function GetList($arOrder = Array("ID" => "DESC"), $arFilter = Array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
84 {
85 global $DB;
86
87 if (count($arSelectFields) <= 0)
88 $arSelectFields = array("ID", "SITE_ID", "PATH", "TYPE");
89
90 // FIELDS -->
92 "ID" => array("FIELD" => "P.ID", "TYPE" => "int"),
93 "SITE_ID" => array("FIELD" => "P.SITE_ID", "TYPE" => "string"),
94 "PATH" => array("FIELD" => "P.PATH", "TYPE" => "string"),
95 "TYPE" => array("FIELD" => "P.TYPE", "TYPE" => "string"),
96 );
97 // <-- FIELDS
98
99 $arSqls = CSitePath::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
100
101 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
102
103 if (is_array($arGroupBy) && count($arGroupBy)==0)
104 {
105 $strSql =
106 "SELECT ".$arSqls["SELECT"]." ".
107 "FROM b_learn_site_path P ".
108 " ".$arSqls["FROM"]." ";
109 if ($arSqls["WHERE"] <> '')
110 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
111 if ($arSqls["GROUPBY"] <> '')
112 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
113
114 //echo "!1!=".htmlspecialcharsbx($strSql)."<br>";
115
116 $dbRes = $DB->Query($strSql);
117 if ($arRes = $dbRes->Fetch())
118 return $arRes["CNT"];
119 else
120 return False;
121 }
122
123 $strSql =
124 "SELECT ".$arSqls["SELECT"]." ".
125 "FROM b_learn_site_path P ".
126 " ".$arSqls["FROM"]." ";
127 if ($arSqls["WHERE"] <> '')
128 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
129 if ($arSqls["GROUPBY"] <> '')
130 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
131 if ($arSqls["ORDERBY"] <> '')
132 $strSql .= "ORDER BY ".$arSqls["ORDERBY"]." ";
133
134 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"])<=0)
135 {
136 $strSql_tmp =
137 "SELECT COUNT('x') as CNT ".
138 "FROM b_learn_site_path P ".
139 " ".$arSqls["FROM"]." ";
140 if ($arSqls["WHERE"] <> '')
141 $strSql_tmp .= "WHERE ".$arSqls["WHERE"]." ";
142 if ($arSqls["GROUPBY"] <> '')
143 $strSql_tmp .= "GROUP BY ".$arSqls["GROUPBY"]." ";
144
145 //echo "!2.1!=".htmlspecialcharsbx($strSql_tmp)."<br>";
146
147 $dbRes = $DB->Query($strSql_tmp);
148 $cnt = 0;
149 if ($arSqls["GROUPBY"] == '')
150 {
151 if ($arRes = $dbRes->Fetch())
152 $cnt = $arRes["CNT"];
153 }
154 else
155 {
156 // MYSQL only
157 $cnt = $dbRes->SelectedRowsCount();
158 }
159
160 $dbRes = new CDBResult();
161
162 //echo "!2.2!=".htmlspecialcharsbx($strSql)."<br>";
163
164 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
165 }
166 else
167 {
168 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"]) > 0)
169 $strSql .= "LIMIT " . (int) $arNavStartParams["nTopCount"];
170
171 //echo "!3!=".htmlspecialcharsbx($strSql)."<br>";
172
173 $dbRes = $DB->Query($strSql);
174 }
175
176 return $dbRes;
177 }
178}
Определения sitepath.php:9
static PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields, $obUserFieldsSql=false)
Определения sitepath.php:212
static CheckFields($ACTION, &$arFields, $ID=0)
Определения sitepath.php:12
Определения sitepath.php:7
static Add($arFields)
Определения sitepath.php:10
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения sitepath.php:83
static Update($ID, $arFields)
Определения sitepath.php:37
$arFields
Определения dblapprove.php:5
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
if($ajaxMode) $ID
Определения get_user.php:27
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $DB
Определения cron_frame.php:29
if(empty($signedUserToken)) $key
Определения quickway.php:257
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936
$arRes
Определения options.php:104
$GLOBALS['_____370096793']
Определения update_client.php:1
$arFilter
Определения user_search.php:106
$dbRes
Определения yandex_detail.php:168