1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
blog_user_group_perms.php
См. документацию.
1<?php
2
3require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/blog/general/blog_user_group_perms.php");
4
6{
7 /*************** ADD, UPDATE, DELETE *****************/
8 public static function Add($arFields)
9 {
10 global $DB;
11
12 $arFields1 = array();
13 foreach ($arFields as $key => $value)
14 {
15 if (mb_substr($key, 0, 1) == "=")
16 {
17 $arFields1[mb_substr($key, 1)] = $value;
18 unset($arFields[$key]);
19 }
20 }
21
23 return false;
24
25 $arInsert = $DB->PrepareInsert("b_blog_user_group_perms", $arFields);
26
27 foreach ($arFields1 as $key => $value)
28 {
29 if ($arInsert[0] <> '')
30 $arInsert[0] .= ", ";
31 $arInsert[0] .= $key;
32 if ($arInsert[1] <> '')
33 $arInsert[1] .= ", ";
34 $arInsert[1] .= $value;
35 }
36
37 if ($arInsert[0] <> '')
38 {
39 $strSql =
40 "INSERT INTO b_blog_user_group_perms(".$arInsert[0].") ".
41 "VALUES(".$arInsert[1].")";
42 $DB->Query($strSql);
43
44 $ID = intval($DB->LastID());
45
47
48 return $ID;
49 }
50
51 return False;
52 }
53
54 public static function Update($ID, $arFields)
55 {
56 global $DB;
57
58 $ID = intval($ID);
59
60 //if ($ID == 1 || $ID == 2)
61 //return False;
62
63 $arFields1 = array();
64 foreach ($arFields as $key => $value)
65 {
66 if (mb_substr($key, 0, 1) == "=")
67 {
68 $arFields1[mb_substr($key, 1)] = $value;
69 unset($arFields[$key]);
70 }
71 }
72
74 return false;
75
76 $strUpdate = $DB->PrepareUpdate("b_blog_user_group_perms", $arFields);
77
78 foreach ($arFields1 as $key => $value)
79 {
80 if ($strUpdate <> '')
81 $strUpdate .= ", ";
82 $strUpdate .= $key."=".$value." ";
83 }
84
85 if ($strUpdate <> '')
86 {
87 $strSql =
88 "UPDATE b_blog_user_group_perms SET ".
89 " ".$strUpdate." ".
90 "WHERE ID = ".$ID." ";
91 $DB->Query($strSql);
92
93 unset($GLOBALS["BLOG_USER_GROUP_PERMS"]["BLOG_USER_GROUP_PERMS_CACHE_".$ID]);
94
96
97 return $ID;
98 }
99
100 return False;
101 }
102
103 //*************** SELECT *********************/
104 public static function GetList($arOrder = Array("ID" => "DESC"), $arFilter = Array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
105 {
106 global $DB;
107
108 if (count($arSelectFields) <= 0)
109 $arSelectFields = array("ID", "BLOG_ID", "USER_GROUP_ID", "PERMS_TYPE", "POST_ID", "PERMS", "AUTOSET");
110
111 // FIELDS -->
113 "ID" => array("FIELD" => "GP.ID", "TYPE" => "int"),
114 "BLOG_ID" => array("FIELD" => "GP.BLOG_ID", "TYPE" => "int"),
115 "USER_GROUP_ID" => array("FIELD" => "GP.USER_GROUP_ID", "TYPE" => "int"),
116 "PERMS_TYPE" => array("FIELD" => "GP.PERMS_TYPE", "TYPE" => "char"),
117 "POST_ID" => array("FIELD" => "GP.POST_ID", "TYPE" => "int"),
118 "PERMS" => array("FIELD" => "GP.PERMS", "TYPE" => "char"),
119 "AUTOSET" => array("FIELD" => "GP.AUTOSET", "TYPE" => "char"),
120 );
121 // <-- FIELDS
122
123 $arSqls = CBlog::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
124
125 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
126
127 if (is_array($arGroupBy) && count($arGroupBy)==0)
128 {
129 $strSql =
130 "SELECT ".$arSqls["SELECT"]." ".
131 "FROM b_blog_user_group_perms GP ".
132 " ".$arSqls["FROM"]." ";
133 if ($arSqls["WHERE"] <> '')
134 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
135 if ($arSqls["GROUPBY"] <> '')
136 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
137
138 //echo "!1!=".htmlspecialcharsbx($strSql)."<br>";
139
140 $dbRes = $DB->Query($strSql);
141 if ($arRes = $dbRes->Fetch())
142 return $arRes["CNT"];
143 else
144 return False;
145 }
146
147 $strSql =
148 "SELECT ".$arSqls["SELECT"]." ".
149 "FROM b_blog_user_group_perms GP ".
150 " ".$arSqls["FROM"]." ";
151 if ($arSqls["WHERE"] <> '')
152 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
153 if ($arSqls["GROUPBY"] <> '')
154 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
155 if ($arSqls["ORDERBY"] <> '')
156 $strSql .= "ORDER BY ".$arSqls["ORDERBY"]." ";
157
158 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"])<=0)
159 {
160 $strSql_tmp =
161 "SELECT COUNT('x') as CNT ".
162 "FROM b_blog_user_group_perms GP ".
163 " ".$arSqls["FROM"]." ";
164 if ($arSqls["WHERE"] <> '')
165 $strSql_tmp .= "WHERE ".$arSqls["WHERE"]." ";
166 if ($arSqls["GROUPBY"] <> '')
167 $strSql_tmp .= "GROUP BY ".$arSqls["GROUPBY"]." ";
168
169 //echo "!2.1!=".htmlspecialcharsbx($strSql_tmp)."<br>";
170
171 $dbRes = $DB->Query($strSql_tmp);
172 $cnt = 0;
173 if ($arSqls["GROUPBY"] == '')
174 {
175 if ($arRes = $dbRes->Fetch())
176 $cnt = $arRes["CNT"];
177 }
178 else
179 {
180 // ТОЛЬКО ДЛЯ MYSQL!!! ДЛЯ ORACLE ДРУГОЙ КОД
181 $cnt = $dbRes->SelectedRowsCount();
182 }
183
184 $dbRes = new CDBResult();
185
186 //echo "!2.2!=".htmlspecialcharsbx($strSql)."<br>";
187
188 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
189 }
190 else
191 {
192 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"]) > 0)
193 $strSql .= "LIMIT ".intval($arNavStartParams["nTopCount"]);
194
195 //echo "!3!=".htmlspecialcharsbx($strSql)."<br>";
196
197 $dbRes = $DB->Query($strSql);
198 }
199
200 return $dbRes;
201 }
202}
static PrepareSql(&$arFields, $arOrder, &$arFilter, $arGroupBy, $arSelectFields, $obUserFieldsSql=false)
Определения blog.php:487
static __AutoSetPerms($ID)
Определения blog_user_group_perms.php:69
static CheckFields($ACTION, &$arFields, $ID=0)
Определения blog_user_group_perms.php:10
static Add($arFields)
Определения blog_user_group_perms.php:8
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения blog_user_group_perms.php:104
static Update($ID, $arFields)
Определения blog_user_group_perms.php:54
$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