1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
blog_candid.php
См. документацию.
1<?php
2
3require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/blog/general/blog_candid.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_user2blog", $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 $ID = False;
38 if ($arInsert[0] <> '')
39 {
40 $strSql =
41 "INSERT INTO b_blog_user2blog(".$arInsert[0].") ".
42 "VALUES(".$arInsert[1].")";
43 $DB->Query($strSql);
44
45 $ID = intval($DB->LastID());
46 }
47
48 if ($ID)
49 {
50 $arCandidat = CBlogCandidate::GetByID($ID);
51 if ($arCandidat)
52 {
53 $arBlog = CBlog::GetByID($arCandidat["BLOG_ID"]);
54 if ($arBlog["AUTO_GROUPS"] <> '')
55 {
56 $arAutoGroups = unserialize($arBlog["AUTO_GROUPS"], ['allowed_classes' => false]);
57 if (is_array($arAutoGroups) && count($arAutoGroups) > 0)
58 {
59 $arBlogUser = CBlogUser::GetByID($arCandidat["USER_ID"], BLOG_BY_USER_ID);
60 if (!$arBlogUser)
61 {
63 array(
64 "USER_ID" => $arCandidat["USER_ID"],
65 "=LAST_VISIT" => $GLOBALS["DB"]->GetNowFunction(),
66 "=DATE_REG" => $GLOBALS["DB"]->GetNowFunction(),
67 "ALLOW_POST" => "Y"
68 )
69 );
70 }
71
72 CBlogUser::AddToUserGroup($arCandidat["USER_ID"], $arCandidat["BLOG_ID"], $arAutoGroups, "", BLOG_BY_USER_ID, BLOG_CHANGE);
73
75 }
76 }
77 }
78 }
79
80 return $ID;
81 }
82
83 public static function Update($ID, $arFields)
84 {
85 global $DB;
86
87 $ID = intval($ID);
88
89 $arFields1 = array();
90 foreach ($arFields as $key => $value)
91 {
92 if (mb_substr($key, 0, 1) == "=")
93 {
94 $arFields1[mb_substr($key, 1)] = $value;
95 unset($arFields[$key]);
96 }
97 }
98
100 return false;
101
102 $strUpdate = $DB->PrepareUpdate("b_blog_user2blog", $arFields);
103
104 foreach ($arFields1 as $key => $value)
105 {
106 if ($strUpdate <> '')
107 $strUpdate .= ", ";
108 $strUpdate .= $key."=".$value." ";
109 }
110
111 if ($strUpdate <> '')
112 {
113 $strSql =
114 "UPDATE b_blog_user2blog SET ".
115 " ".$strUpdate." ".
116 "WHERE ID = ".$ID." ";
117 $DB->Query($strSql);
118
119 unset($GLOBALS["BLOG_CANDIDATE"]["BLOG_CANDIDATE_CACHE_".$ID]);
120
121 return $ID;
122 }
123
124 return False;
125 }
126
127 //*************** SELECT *********************/
128 public static function GetList($arOrder = Array("ID" => "DESC"), $arFilter = Array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
129 {
130 global $DB;
131
132 if (count($arSelectFields) <= 0)
133 $arSelectFields = array("ID", "BLOG_ID", "USER_ID");
134
135 // FIELDS -->
137 "ID" => array("FIELD" => "C.ID", "TYPE" => "int"),
138 "BLOG_ID" => array("FIELD" => "C.BLOG_ID", "TYPE" => "int"),
139 "USER_ID" => array("FIELD" => "C.USER_ID", "TYPE" => "int"),
140
141 "USER_LOGIN" => array("FIELD" => "U.LOGIN", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (C.USER_ID = U.ID)"),
142 "USER_NAME" => array("FIELD" => "U.NAME", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (C.USER_ID = U.ID)"),
143 "USER_LAST_NAME" => array("FIELD" => "U.LAST_NAME", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (C.USER_ID = U.ID)"),
144 "USER_SECOND_NAME" => array("FIELD" => "U.SECOND_NAME", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (C.USER_ID = U.ID)"),
145 "USER_EMAIL" => array("FIELD" => "U.EMAIL", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (C.USER_ID = U.ID)"),
146 "USER" => array("FIELD" => "U.LOGIN,U.NAME,U.LAST_NAME,U.SECOND_NAME,U.EMAIL,U.ID", "WHERE_ONLY" => "Y", "TYPE" => "string", "FROM" => "INNER JOIN b_user U ON (C.USER_ID = U.ID)"),
147
148 "BLOG_USER_ID" => array("FIELD" => "BU.ID", "TYPE" => "int", "FROM" => "LEFT JOIN b_blog_user BU ON (C.USER_ID = BU.USER_ID)"),
149 "BLOG_USER_ALIAS" => array("FIELD" => "BU.ALIAS", "TYPE" => "string", "FROM" => "LEFT JOIN b_blog_user BU ON (C.USER_ID = BU.USER_ID)"),
150 );
151 // <-- FIELDS
152
153 $arSqls = CBlog::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
154
155 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
156
157 if (is_array($arGroupBy) && count($arGroupBy)==0)
158 {
159 $strSql =
160 "SELECT ".$arSqls["SELECT"]." ".
161 "FROM b_blog_user2blog C ".
162 " ".$arSqls["FROM"]." ";
163 if ($arSqls["WHERE"] <> '')
164 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
165 if ($arSqls["GROUPBY"] <> '')
166 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
167
168 //echo "!1!=".htmlspecialcharsbx($strSql)."<br>";
169
170 $dbRes = $DB->Query($strSql);
171 if ($arRes = $dbRes->Fetch())
172 return $arRes["CNT"];
173 else
174 return False;
175 }
176
177 $strSql =
178 "SELECT ".$arSqls["SELECT"]." ".
179 "FROM b_blog_user2blog C ".
180 " ".$arSqls["FROM"]." ";
181 if ($arSqls["WHERE"] <> '')
182 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
183 if ($arSqls["GROUPBY"] <> '')
184 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
185 if ($arSqls["ORDERBY"] <> '')
186 $strSql .= "ORDER BY ".$arSqls["ORDERBY"]." ";
187
188 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"])<=0)
189 {
190 $strSql_tmp =
191 "SELECT COUNT('x') as CNT ".
192 "FROM b_blog_user2blog C ".
193 " ".$arSqls["FROM"]." ";
194 if ($arSqls["WHERE"] <> '')
195 $strSql_tmp .= "WHERE ".$arSqls["WHERE"]." ";
196 if ($arSqls["GROUPBY"] <> '')
197 $strSql_tmp .= "GROUP BY ".$arSqls["GROUPBY"]." ";
198
199 //echo "!2.1!=".htmlspecialcharsbx($strSql_tmp)."<br>";
200
201 $dbRes = $DB->Query($strSql_tmp);
202 $cnt = 0;
203 if ($arSqls["GROUPBY"] == '')
204 {
205 if ($arRes = $dbRes->Fetch())
206 $cnt = $arRes["CNT"];
207 }
208 else
209 {
210 // ТОЛЬКО ДЛЯ MYSQL!!! ДЛЯ ORACLE ДРУГОЙ КОД
211 $cnt = $dbRes->SelectedRowsCount();
212 }
213
214 $dbRes = new CDBResult();
215
216 //echo "!2.2!=".htmlspecialcharsbx($strSql)."<br>";
217
218 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
219 }
220 else
221 {
222 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"]) > 0)
223 $strSql .= "LIMIT ".intval($arNavStartParams["nTopCount"]);
224
225 //echo "!3!=".htmlspecialcharsbx($strSql)."<br>";
226
227 $dbRes = $DB->Query($strSql);
228 }
229
230 return $dbRes;
231 }
232}
const BLOG_BY_USER_ID
Определения include.php:55
const BLOG_CHANGE
Определения include.php:59
Определения blog_candid.php:8
static Delete($ID)
Определения blog_candid.php:45
static GetByID($ID)
Определения blog_candid.php:57
static CheckFields($ACTION, &$arFields, $ID=0)
Определения blog_candid.php:10
static GetByID($ID)
Определения blog.php:931
static PrepareSql(&$arFields, $arOrder, &$arFilter, $arGroupBy, $arSelectFields, $obUserFieldsSql=false)
Определения blog.php:487
static AddToUserGroup($ID, $blogID, $arGroups=array(), $joinStatus="Y", $selectType=BLOG_BY_BLOG_USER_ID, $action=BLOG_CHANGE)
Определения blog_user.php:232
static GetByID($ID, $selectType=BLOG_BY_BLOG_USER_ID)
Определения blog_user.php:354
Определения blog_candid.php:6
static Add($arFields)
Определения blog_candid.php:8
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения blog_candid.php:128
static Update($ID, $arFields)
Определения blog_candid.php:83
static Add($arFields)
Определения blog_user.php:7
$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