1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
authmanager.php
См. документацию.
1<?php
2
3require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/socialservices/classes/general/authmanager.php");
4
10{
11 public static function Add($arFields)
12 {
13 global $DB;
14 if(!self::CheckFields('ADD', $arFields))
15 return false;
16
17 $arDbFields = $arFields;
18 if (static::hasEncryptedFields(array_keys($arDbFields)))
19 static::encryptFields($arDbFields);
20
21 $arInsert = $DB->PrepareInsert("b_socialservices_user", $arDbFields);
22 $strSql =
23 "INSERT INTO b_socialservices_user (".$arInsert[0].") ".
24 "VALUES(".$arInsert[1].")";
25
26 $res = $DB->Query($strSql, true);
27 if(!$res)
28 {
29 $_SESSION["LAST_ERROR"] = GetMessage("SC_ADD_ERROR");
30 return false;
31 }
32 $lastId = intval($DB->LastID());
33 $cache_id = 'socserv_ar_user';
34 $obCache = new CPHPCache;
35 $cache_dir = '/bx/socserv_ar_user';
36 $obCache->Clean($cache_id, $cache_dir);
37
38 $arFields['ID'] = $lastId;
39 foreach(GetModuleEvents("socialservices", "OnAfterSocServUserAdd", true) as $arEvent)
41
42 return $lastId;
43 }
44
45 public static function GetList($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
46 {
47 global $DB;
48 if (count($arSelectFields) <= 0)
49 $arSelectFields = array("ID", "LOGIN", "NAME", "LAST_NAME", "EMAIL", "PERSONAL_PHOTO",
50 "EXTERNAL_AUTH_ID", "USER_ID", "XML_ID", "CAN_DELETE", "PERSONAL_WWW", "PERMISSIONS", "OATOKEN", "OASECRET", "REFRESH_TOKEN", "ACTIVE", "SEND_ACTIVITY", "OATOKEN_EXPIRES", "INITIALIZED");
51
53 "ID" => array("FIELD" => "SU.ID", "TYPE" => "int"),
54 "LOGIN" => array("FIELD" => "SU.LOGIN", "TYPE" => "string"),
55 "NAME" => array("FIELD" => "SU.NAME", "TYPE" => "string"),
56 "LAST_NAME" => array("FIELD" => "SU.LAST_NAME", "TYPE" => "string"),
57 "EMAIL" => array("FIELD" => "SU.EMAIL", "TYPE" => "string"),
58 "PERSONAL_PHOTO" => array("FIELD" => "SU.PERSONAL_PHOTO", "TYPE" => "int"),
59 "EXTERNAL_AUTH_ID" => array("FIELD" => "SU.EXTERNAL_AUTH_ID", "TYPE" => "string"),
60 "USER_ID" => array("FIELD" => "SU.USER_ID", "TYPE" => "int"),
61 "XML_ID" => array("FIELD" => "SU.XML_ID", "TYPE" => "string"),
62 "CAN_DELETE" => array("FIELD" => "SU.CAN_DELETE", "TYPE" => "char"),
63 "PERSONAL_WWW" => array("FIELD" => "SU.PERSONAL_WWW", "TYPE" => "string"),
64 "PERMISSIONS" => array("FIELD" => "SU.PERMISSIONS", "TYPE" => "string"),
65 "OATOKEN" => array("FIELD" => "SU.OATOKEN", "TYPE" => "string"),
66 "OASECRET" => array("FIELD" => "SU.OASECRET", "TYPE" => "string"),
67 "REFRESH_TOKEN" => array("FIELD" => "SU.REFRESH_TOKEN", "TYPE" => "string"),
68 "SEND_ACTIVITY" => array("FIELD" => "SU.SEND_ACTIVITY", "TYPE" => "char"),
69 "SITE_ID" => array("FIELD" => "SU.SITE_ID", "TYPE" => "string"),
70 "OATOKEN_EXPIRES" => array("FIELD" => "SU.OATOKEN_EXPIRES", "TYPE" => "int"),
71 "INITIALIZED" => array("FIELD" => "SU.INITIALIZED", "TYPE" => "char"),
72 "ACTIVE" => array("FIELD" => "BU.ACTIVE", "TYPE" => "char", "FROM" => "INNER JOIN b_user BU ON (SU.USER_ID = BU.ID)"),
73 );
74 $arSqls = CGroup::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
75 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
76
77 if (is_array($arGroupBy) && count($arGroupBy)==0)
78 {
79 $strSql =
80 "SELECT ".$arSqls["SELECT"]." ".
81 "FROM b_socialservices_user SU ".
82 " ".$arSqls["FROM"]." ";
83 if ($arSqls["WHERE"] <> '')
84 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
85 if ($arSqls["GROUPBY"] <> '')
86 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
87
88 $dbRes = $DB->Query($strSql);
89 if ($arRes = $dbRes->Fetch())
90 return $arRes["CNT"];
91 else
92 return false;
93 }
94
95 $strSql =
96 "SELECT ".$arSqls["SELECT"]." ".
97 "FROM b_socialservices_user SU ".
98 " ".$arSqls["FROM"]." ";
99 if ($arSqls["WHERE"] <> '')
100 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
101 if ($arSqls["GROUPBY"] <> '')
102 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
103 if ($arSqls["ORDERBY"] <> '')
104 $strSql .= "ORDER BY ".$arSqls["ORDERBY"]." ";
105 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"])<=0)
106 {
107 $strSql_tmp =
108 "SELECT COUNT('x') as CNT ".
109 "FROM b_socialservices_user SU ".
110 " ".$arSqls["FROM"]." ";
111 if ($arSqls["WHERE"] <> '')
112 $strSql_tmp .= "WHERE ".$arSqls["WHERE"]." ";
113 if ($arSqls["GROUPBY"] <> '')
114 $strSql_tmp .= "GROUP BY ".$arSqls["GROUPBY"]." ";
115
116 $dbRes = $DB->Query($strSql_tmp);
117 $cnt = 0;
118 if ($arSqls["GROUPBY"] == '')
119 {
120 if ($arRes = $dbRes->Fetch())
121 $cnt = $arRes["CNT"];
122 }
123 else
124 {
125 $cnt = $dbRes->SelectedRowsCount();
126 }
127
128 $dbRes = new CDBResult();
129
130 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
131 }
132 else
133 {
134 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"])>0)
135 {
136 $strSql = $DB->TopSql($strSql, $arNavStartParams["nTopCount"]);
137 }
138
139 $dbRes = $DB->Query($strSql);
140 }
141
142 if (static::hasEncryptedFields($arSelectFields))
143 static::decryptDbRes($dbRes);
144
145 return $dbRes;
146 }
147
148 public static function decryptDbRes(\CDBResult $dbRes)
149 {
150 $cryptoField = new \Bitrix\Socialservices\EncryptedToken\CryptoField('OATOKEN');
151 $result = [];
152 while ($data = $dbRes->Fetch())
153 {
154 if (array_key_exists('OATOKEN', $data))
155 $data['OATOKEN'] = $cryptoField->decrypt($data['OATOKEN']);
156
157 if (array_key_exists('OASECRET', $data))
158 $data['OASECRET'] = $cryptoField->decrypt($data['OASECRET']);
159
160 if (array_key_exists('REFRESH_TOKEN', $data))
161 $data['REFRESH_TOKEN'] = $cryptoField->decrypt($data['REFRESH_TOKEN']);
162
163 $result[] = $data;
164 }
165 $dbRes->InitFromArray($result);
166 }
167
168}
169
171{
172 public static function CleanUp()
173 {
175 $helper = $connection->getSqlHelper();
176
177 $sql = 'DELETE FROM b_socialservices_message WHERE INSERT_DATE < ' . $helper->addDaysToDateTime(-4);
178 $connection->query($sql);
179
180 return "CSocServMessage::CleanUp();";
181 }
182
183 public static function Add($arFields)
184 {
185 global $DB;
186 if (!self::CheckFields('ADD',$arFields))
187 return false;
188
189 $arInsert = $DB->PrepareInsert("b_socialservices_message", $arFields);
190 $strSql =
191 "INSERT INTO b_socialservices_message (".$arInsert[0].") ".
192 "VALUES(".$arInsert[1].")";
193
194 $res=$DB->Query($strSql, true);
195 if(!$res)
196 {
197 return false;
198 }
199 $lastId = intval($DB->LastID());
200 $cache_id = 'socserv_mes_user';
201 $obCache = new CPHPCache;
202 $cache_dir = '/bx/socserv_mes_user';
203 $obCache->Clean($cache_id, $cache_dir);
204
205 return $lastId;
206 }
207
208 public static function GetList($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
209 {
210 global $DB;
211 if (count($arSelectFields) <= 0)
212 $arSelectFields = array("ID", "USER_ID", "SOCSERV_USER_ID", "PROVIDER", "MESSAGE", "INSERT_DATE", "SUCCES_SENT");
214 "ID" => array("FIELD" => "SM.ID", "TYPE" => "int"),
215 "USER_ID" => array("FIELD" => "SM.USER_ID", "TYPE" => "int"),
216 "SOCSERV_USER_ID" => array("FIELD" => "SM.SOCSERV_USER_ID", "TYPE" => "int"),
217 "PROVIDER" => array("FIELD" => "SM.PROVIDER", "TYPE" => "string"),
218 "MESSAGE" => array("FIELD" => "SM.MESSAGE", "TYPE" => "string"),
219 "INSERT_DATE" => array("FIELD" => "SM.INSERT_DATE", "TYPE" => "datetime"),
220 "SUCCES_SENT" => array("FIELD" => "SM.SUCCES_SENT", "TYPE" => "char"),
221 );
222 $arSqls = CGroup::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
223 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
224
225 if (is_array($arGroupBy) && count($arGroupBy)==0)
226 {
227 $strSql =
228 "SELECT ".$arSqls["SELECT"]." ".
229 "FROM b_socialservices_message SM ".
230 " ".$arSqls["FROM"]." ";
231 if ($arSqls["WHERE"] <> '')
232 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
233 if ($arSqls["GROUPBY"] <> '')
234 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
235
236 $dbRes = $DB->Query($strSql);
237 if ($arRes = $dbRes->Fetch())
238 return $arRes["CNT"];
239 else
240 return false;
241 }
242
243 $strSql =
244 "SELECT ".$arSqls["SELECT"]." ".
245 "FROM b_socialservices_message SM ".
246 " ".$arSqls["FROM"]." ";
247 if ($arSqls["WHERE"] <> '')
248 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
249 if ($arSqls["GROUPBY"] <> '')
250 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
251 if ($arSqls["ORDERBY"] <> '')
252 $strSql .= "ORDER BY ".$arSqls["ORDERBY"]." ";
253 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"])<=0)
254 {
255 $strSql_tmp =
256 "SELECT COUNT('x') as CNT ".
257 "FROM b_socialservices_message SM ".
258 " ".$arSqls["FROM"]." ";
259 if ($arSqls["WHERE"] <> '')
260 $strSql_tmp .= "WHERE ".$arSqls["WHERE"]." ";
261 if ($arSqls["GROUPBY"] <> '')
262 $strSql_tmp .= "GROUP BY ".$arSqls["GROUPBY"]." ";
263
264 $dbRes = $DB->Query($strSql_tmp);
265 $cnt = 0;
266 if ($arSqls["GROUPBY"] == '')
267 {
268 if ($arRes = $dbRes->Fetch())
269 $cnt = $arRes["CNT"];
270 }
271 else
272 {
273 $cnt = $dbRes->SelectedRowsCount();
274 }
275
276 $dbRes = new CDBResult();
277
278 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
279 }
280 else
281 {
282 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"])>0)
283 {
284 $strSql = $DB->TopSql($strSql, $arNavStartParams["nTopCount"]);
285 }
286
287 $dbRes = $DB->Query($strSql);
288 }
289
290 return $dbRes;
291 }
292}
$connection
Определения actionsdefinitions.php:38
static getConnection($name="")
Определения application.php:638
static PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields)
Определения group.php:379
Определения authmanager.php:10
static decryptDbRes(\CDBResult $dbRes)
Определения authmanager.php:148
static Add($arFields)
Определения authmanager.php:11
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения authmanager.php:45
Определения authmanager.php:985
Определения authmanager.php:171
static Add($arFields)
Определения authmanager.php:183
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения authmanager.php:208
static CleanUp()
Определения authmanager.php:172
if(!\Bitrix\Main\Loader::includeModule('clouds')) $lastId
Определения sync.php:68
$arFields
Определения dblapprove.php:5
$data['IS_AVAILABLE']
Определения .description.php:13
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$res
Определения filter_act.php:7
$result
Определения get_property_values.php:14
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $DB
Определения cron_frame.php:29
ExecuteModuleEventEx($arEvent, $arParams=[])
Определения tools.php:5214
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
Определения tools.php:5177
GetMessage($name, $aReplace=null)
Определения tools.php:3397
</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
$arFilter
Определения user_search.php:106
$dbRes
Определения yandex_detail.php:168