1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
question.php
См. документацию.
1<?php
2
3#############################################
4# Bitrix Site Manager Forum #
5# Copyright (c) 2002-2009 Bitrix #
6# https://www.bitrixsoft.com #
7# mailto:admin@bitrixsoft.com #
8#############################################
9
10use Bitrix\Vote;
11
12IncludeModuleLangFile(__FILE__);
13
15{
16 public static function CheckFields($ACTION, &$arFields, $ID = 0)
17 {
18 $aMsg = array();
19 $ID = intval($ID);
20 $ACTION = ($ACTION == "UPDATE" ? "UPDATE" : "ADD");
21 $arQuestion = array();
22 if ($ID > 0 && $ACTION == "UPDATE"):
24 if (!($db_res && $arQuestion = $db_res->Fetch())):
25 $aMsg[] = array(
26 "id" => "ID",
27 "text" => GetMessage("VOTE_QUESTION_NOT_FOUND"));
28 endif;
29 endif;
30
31 unset($arFields["ID"]);
32 if (is_set($arFields, "VOTE_ID") || $ACTION == "ADD")
33 {
34 $arFields["VOTE_ID"] = intval($arFields["VOTE_ID"]);
35 if ($arFields["VOTE_ID"] <= 0):
36 $aMsg[] = array(
37 "id" => "VOTE_ID",
38 "text" => GetMessage("VOTE_FORGOT_VOTE_ID"));
39 endif;
40 }
41
42 if (isset($arFields["QUESTION"]) || $ACTION == "ADD")
43 {
44 $arFields["QUESTION"] = trim($arFields["QUESTION"]);
45
46 global $USER;
47 if (!$USER || $USER->CanDoOperation('edit_php') !== true)
48 {
49 $arFields["QUESTION"] = Vote\Inner\Sanitizer::cleanText($arFields["QUESTION"]);
50 }
51 if ($arFields["QUESTION"] === "")
52 {
53 $aMsg[] = ["id" => "QUESTION", "text" => GetMessage("VOTE_FORGOT_QUESTION")];
54 }
55 }
56
57 if (is_set($arFields, "IMAGE_ID") && $arFields["IMAGE_ID"]["name"] == '' && $arFields["IMAGE_ID"]["del"] == '')
58 {
59 unset($arFields["IMAGE_ID"]);
60 }
61 elseif (is_set($arFields, "IMAGE_ID"))
62 {
63 if ($str = CFile::CheckImageFile($arFields["IMAGE_ID"])):
64 $aMsg[] = array(
65 "id" => "IMAGE_ID",
66 "text" => $str);
67 else:
68 $arFields["IMAGE_ID"]["MODULE_ID"] = "vote";
69 if (!empty($arQuestion)):
70 $arFields["IMAGE_ID"]["old_file"] = $arQuestion["IMAGE_ID"];
71 endif;
72 endif;
73 }
74
75 if (isset($arFields['ACTIVE']) || $ACTION == 'ADD') $arFields['ACTIVE'] = ($arFields['ACTIVE'] ?? 'Y') === 'N' ? 'N' : 'Y';
76 if (isset($arFields['FIELD_TYPE']) || $ACTION == 'ADD') $arFields['FIELD_TYPE'] = intval($arFields['FIELD_TYPE'] ?? 0);
77 unset($arFields['TIMESTAMP_X']);
78 if (isset($arFields['C_SORT']) || $ACTION == 'ADD') $arFields['C_SORT'] = intval($arFields['C_SORT'] ?? 100);
79 if (isset($arFields['COUNTER']) || $ACTION == 'ADD') $arFields['COUNTER'] = intval($arFields['COUNTER'] ?? 0);
80 if (isset($arFields['QUESTION_TYPE']) || $ACTION == 'ADD') $arFields['QUESTION_TYPE'] = (($arFields['QUESTION_TYPE'] ?? 'text') == 'html' ? 'html' : 'text');
81 if (isset($arFields['DIAGRAM']) || $ACTION == 'ADD') $arFields['DIAGRAM'] = (($arFields['DIAGRAM'] ?? 'Y') === 'N' ? 'N' : 'Y');
82 if (isset($arFields['DIAGRAM_TYPE']) && (empty($arFields['DIAGRAM_TYPE']) || in_array($arFields['DIAGRAM_TYPE'], GetVoteDiagramArray()))):
83 $arFields['DIAGRAM_TYPE'] = VOTE_DEFAULT_DIAGRAM_TYPE;
84 endif;
85 if (isset($arFields['TEMPLATE'])) $arFields['TEMPLATE'] = mb_substr(trim($arFields['TEMPLATE']), 0, 255);
86 if (isset($arFields['TEMPLATE_NEW'])) $arFields['TEMPLATE_NEW'] = mb_substr(trim($arFields['TEMPLATE_NEW']), 0, 255);
87
88 if ((isset($arFields['TEMPLATE']) || isset($arFields['TEMPLATE_NEW']))
89 && COption::GetOptionString("vote", "VOTE_COMPATIBLE_OLD_TEMPLATE", "N") == "Y")
90 {
92 if ($old_module_version != "Y")
93 unset($arFields["TEMPLATE"]);
94 else
95 unset($arFields["TEMPLATE_NEW"]);
96 }
97
98 if(!empty($aMsg))
99 {
100 global $APPLICATION;
101 $e = new CAdminException(array_reverse($aMsg));
102 $APPLICATION->ThrowException($e);
103 return false;
104 }
105 return true;
106 }
107
108 public static function Add($arFields, $strUploadDir = false)
109 {
110 global $DB;
111 $strUploadDir = ($strUploadDir === false ? "vote" : $strUploadDir);
112
114 return false;
115/***************** Event onBeforeVoteQuestionAdd *******************/
116 foreach (GetModuleEvents("vote", "onBeforeVoteQuestionAdd", true) as $arEvent)
117 if (ExecuteModuleEventEx($arEvent, array(&$arFields)) === false)
118 return false;
119/***************** /Event ******************************************/
120 if (empty($arFields))
121 return false;
122
123 if (
124 array_key_exists("IMAGE_ID", $arFields)
125 && is_array($arFields["IMAGE_ID"])
126 && (
127 !array_key_exists("MODULE_ID", $arFields["IMAGE_ID"])
128 || $arFields["IMAGE_ID"]["MODULE_ID"] == ''
129 )
130 )
131 $arFields["IMAGE_ID"]["MODULE_ID"] = "vote";
132
133 CFile::SaveForDB($arFields, "IMAGE_ID", $strUploadDir);
134
135 if ($DB->type == "ORACLE")
136 $arFields["ID"] = $DB->NextID("SQ_B_VOTE_QUESTION");
137
138 if (isset($arFields['QUESTION']))
139 {
140 $arFields['QUESTION'] = \Bitrix\Main\Text\Emoji::encode($arFields['QUESTION']);
141 }
142
143 $arInsert = $DB->PrepareInsert("b_vote_question", $arFields);
144
145 $DB->QueryBind("INSERT INTO b_vote_question (".$arInsert[0].", TIMESTAMP_X) VALUES(".$arInsert[1].", ".$DB->GetNowFunction().")", array("QUESTION" => $arFields["QUESTION"]), false);
146 $ID = intval($DB->type == "ORACLE" ? $arFields["ID"] : $DB->LastID());
147
148/***************** Event onAfterVoteQuestionAdd ********************/
149 foreach (GetModuleEvents("vote", "onAfterVoteQuestionAdd", true) as $arEvent)
151/***************** /Event ******************************************/
152 return $ID;
153 }
154
155 public static function Update($ID, $arFields, $strUploadDir = false)
156 {
157 global $DB;
158
159 $arBinds = array();
160 $strUploadDir = ($strUploadDir === false ? "vote" : $strUploadDir);
161
162 $ID = intval($ID);
163 if ($ID <= 0 || !CVoteQuestion::CheckFields("UPDATE", $arFields, $ID))
164 return false;
165/***************** Event onBeforeVoteQuestionUpdate ****************/
166 foreach (GetModuleEvents("vote", "onBeforeVoteQuestionUpdate", true) as $arEvent)
167 if (ExecuteModuleEventEx($arEvent, array(&$ID, &$arFields)) === false)
168 return false;
169/***************** /Event ******************************************/
170 if (empty($arFields))
171 return false;
172
173 if (
174 array_key_exists("IMAGE_ID", $arFields)
175 && is_array($arFields["IMAGE_ID"])
176 && (
177 !array_key_exists("MODULE_ID", $arFields["IMAGE_ID"])
178 || $arFields["IMAGE_ID"]["MODULE_ID"] == ''
179 )
180 )
181 $arFields["IMAGE_ID"]["MODULE_ID"] = "vote";
182
183 CFile::SaveForDB($arFields, "IMAGE_ID", $strUploadDir);
184
185 if (isset($arFields['QUESTION']))
186 {
187 $arFields['QUESTION'] = \Bitrix\Main\Text\Emoji::encode($arFields['QUESTION']);
188 }
189
190 $arFields["~TIMESTAMP_X"] = $DB->GetNowFunction();
191 $strUpdate = $DB->PrepareUpdate("b_vote_question", $arFields);
192 if (is_set($arFields, "QUESTION"))
193 $arBinds["QUESTION"] = $arFields["QUESTION"];
194
195 if (!empty($strUpdate))
196 $DB->QueryBind("UPDATE b_vote_question SET ".$strUpdate." WHERE ID=".$ID, $arBinds);
197
198 unset($GLOBALS["VOTE_CACHE"]["QUESTION"][$ID]);
199/***************** Event onAfterVoteQuestionUpdate *****************/
200 foreach (GetModuleEvents("vote", "onAfterVoteQuestionUpdate", true) as $arEvent)
202/***************** /Event ******************************************/
203 return $ID;
204 }
205
206 public static function Copy($ID, $newVoteID)
207 {
208 $ID = intval($ID);
209 if ($ID <= 0)
210 return false;
211 $newVoteID = intval($newVoteID);
212 if ($newVoteID <= 0)
213 return false;
215 if (!($arQuestion = $res->Fetch()))
216 return false;
217 $arQuestion['VOTE_ID'] = $newVoteID;
218 unset($arQuestion['ID']);
219 $newQuestionID = CVoteQuestion::Add($arQuestion);
220 if ($newQuestionID === false)
221 return false;
222 $state = true;
223 $rAnswers = CVoteAnswer::GetList($ID);
224 while ($arAnswer = $rAnswers->Fetch())
225 {
226 $arAnswer['QUESTION_ID'] = $newQuestionID;
227 unset($arAnswer['ID']);
228 $state = $state && (CVoteAnswer::Add($arAnswer) !== false);
229 }
230 if (!$state) return $state;
231 CVoteQuestion::Reset($newQuestionID);
232
233 return $newQuestionID;
234 }
235
236 public static function GetNextSort($VOTE_ID)
237 {
238 global $DB;
239
240 $VOTE_ID = intval($VOTE_ID);
241 $strSql = "SELECT max(C_SORT) as MAX_SORT FROM b_vote_question WHERE VOTE_ID='$VOTE_ID'";
242 $z = $DB->Query($strSql);
243 $zr = $z->Fetch();
244 return (intval($zr["MAX_SORT"]) + 100);
245 }
246
247 public static function GetByID($ID)
248 {
249 $ID = intval($ID);
250 $res = false;
251 if ($ID <= 0):
252 return false;
253 endif;
254 if (!is_array($GLOBALS["VOTE_CACHE"]["QUESTION"]))
255 $GLOBALS["VOTE_CACHE"]["QUESTION"] = array();
256
257 if (!array_key_exists($ID, $GLOBALS["VOTE_CACHE"]["QUESTION"]))
258 {
259 $db_res = CVoteQuestion::GetList(0, '', '', array("ID" => $ID));
260 if ($db_res) $res = $db_res->Fetch();
261 $GLOBALS["VOTE_CACHE"]["QUESTION"][$ID] = $res;
262 }
263 $db_res = new CDBResult;
264 $db_res->InitFromArray(array($GLOBALS["VOTE_CACHE"]["QUESTION"][$ID]));
265 return $db_res;
266 }
267
268 public static function GetList($VOTE_ID, $by = 's_c_sort', $order = 'asc', $arFilter = [])
269 {
270 global $DB;
271
272 $VOTE_ID = (int) $VOTE_ID;
273 $arSqlSearch = [];
274 $arFilter = (is_array($arFilter) ? $arFilter : []);
275
276 foreach ($arFilter as $key => $val)
277 {
278 if (empty($key) || empty($val) || $val === 'NOT_REF')
279 {
280 continue;
281 }
282
283 $key_res = VoteGetFilterOperation($key);
284 $strNegative = $key_res['NEGATIVE'];
285 $strOperation = $key_res['OPERATION'];
286 $key = strtoupper($key_res['FIELD']);
287
288 switch($key)
289 {
290 case 'ID':
291 $match = (($arFilter[$key . '_EXACT_MATCH'] ?? 'Y') === 'N' ? 'Y' : 'N'); //turn off
292 $arSqlSearch[] = GetFilterQuery('Q.ID', $val, $match);
293 break;
294 case 'DIAGRAM':
295 case 'ACTIVE':
296 case 'REQUIRED':
297 $arSqlSearch[] = ($strNegative === 'Y' ? ' Q.' . $key . ' IS NULL OR NOT ' : '')
298 . ' (Q.' . $key . ' ' . $strOperation . ' \'' . $DB->ForSql($val) . '\')';
299 break;
300 case 'QUESTION':
301 $match = (($arFilter[$key . '_EXACT_MATCH'] ?? 'Y') !== 'N' ? 'Y' : 'N'); //turn on
302 $arSqlSearch[] = GetFilterQuery('Q.QUESTION', $val, $match);
303 break;
304 }
305 }
306 if ($VOTE_ID > 0)
307 $arSqlSearch[] = 'Q.VOTE_ID = ' . $VOTE_ID;
308
309 // Order
310 $by = strtoupper(strpos($by, 's_') === 0 ? substr($by, 2) : $by);
311 $by = in_array($by, ['ID', 'TIMESTAMP_X', 'ACTIVE', 'DIAGRAM', 'C_SORT', 'REQUIRED']) ? $by : 'C_SORT';
312 $order = ($order !== 'desc' ? 'asc' : 'desc');
313 $strSqlOrder = 'Q.' . $by . ' ' . $order;
314
315 // Sql
316 $strSqlSearch = GetFilterSqlSearch($arSqlSearch);
317 $strSql = '
318 SELECT Q.*,
319 ' . $DB->DateToCharFunction('Q.TIMESTAMP_X','SHORT') . ' TIMESTAMP_X
320 FROM b_vote_question Q
321 WHERE ' . $strSqlSearch . '
322 ORDER BY ' . $strSqlOrder;
323 $res = $DB->Query($strSql);
324
325 return $res;
326 }
327
328 public static function GetListEx($arOrder = array("ID" => "ASC"), $arFilter=array())
329 {
330 global $DB;
331
332 $arSqlSearch = array();
333 $strSqlSearch = "";
334 $arSqlOrder = array();
335 $strSqlOrder = "";
336
337 $arFilter = (is_array($arFilter) ? $arFilter : array());
338 foreach ($arFilter as $key => $val)
339 {
340 if($val === "NOT_REF")
341 continue;
342 $key_res = VoteGetFilterOperation($key);
343 $strNegative = $key_res["NEGATIVE"];
344 $strOperation = $key_res["OPERATION"];
345 $key = mb_strtoupper($key_res["FIELD"]);
346
347 switch($key)
348 {
349 case "ID":
350 case "VOTE_ID":
351 $str = ($strNegative=="Y"?"NOT":"")."(VQ.".$key." IS NULL OR VQ.".$key."<=0)";
352 if (!empty($val))
353 {
354 $str = ($strNegative=="Y"?" VQ.".$key." IS NULL OR NOT ":"")."(VQ.".$key." ".$strOperation." ".intval($val).")";
355 if ($strOperation == "IN")
356 {
357 $val = array_unique(array_map("intval", (is_array($val) ? $val : explode(",", $val))), SORT_NUMERIC);
358 if (!empty($val))
359 {
360 $str = ($strNegative=="Y"?" NOT ":"")."(VQ.".$key." IN (".implode(",", $val)."))";
361 }
362 }
363 }
364 $arSqlSearch[] = $str;
365 break;
366 case "CHANNEL_ID":
367 if ($val == '')
368 $arSqlSearch[] = ($strNegative=="Y"?"NOT":"")."(V.".$key." IS NULL OR V.".$key."<=0)";
369 else
370 $arSqlSearch[] = ($strNegative=="Y"?" V.".$key." IS NULL OR NOT ":"")."(V.".$key." ".$strOperation." ".intval($val).")";
371 break;
372 case "ACTIVE":
373 if (empty($val))
374 $arSqlSearch[] = ($strNegative=="Y"?"NOT":"")."(VQ.".$key." IS NULL OR ".($DB->type == "MSSQL" ? "LEN" : "LENGTH")."(VQ.".$key.")<=0)";
375 else
376 $arSqlSearch[] = ($strNegative=="Y"?" VQ.".$key." IS NULL OR NOT ":"")."(VQ.".$key." ".$strOperation." '".$DB->ForSql($val)."')";
377 break;
378 }
379 }
380 if (count($arSqlSearch) > 0)
381 $strSqlSearch = " AND (".implode(") AND (", $arSqlSearch).") ";
382
383 foreach ($arOrder as $by => $order)
384 {
385 $by = mb_strtoupper($by);
386 $order = mb_strtoupper($order);
387 $by = ($by == "ACTIVE" ? $by : "ID");
388 if ($order!="ASC") $order = "DESC";
389 if ($by == "ACTIVE") $arSqlOrder[] = " VQ.ACTIVE ".$order." ";
390 else $arSqlOrder[] = " VQ.ID ".$order." ";
391 }
392 DelDuplicateSort($arSqlOrder);
393 if (count($arSqlOrder) > 0)
394 $strSqlOrder = " ORDER BY ".implode(", ", $arSqlOrder);
395
396 $strSql = "
397 SELECT VQ.*
398 FROM
399 b_vote_question VQ, b_vote V
400 WHERE VQ.VOTE_ID = V.ID ".
401 $strSqlSearch."
402 ".$strSqlOrder;
403 return $DB->Query($strSql);
404 }
405
406 public static function Delete($ID, $VOTE_ID = false)
407 {
408 global $DB;
409/***************** Event onBeforeVoteQuestionDelete ****************/
410 foreach (GetModuleEvents("vote", "onBeforeVoteQuestionDelete", true) as $arEvent)
411 if (ExecuteModuleEventEx($arEvent, array(&$ID, &$VOTE_ID)) === false)
412 return false;
413/***************** /Event ******************************************/
414 if (!CVoteAnswer::Delete(false, $ID, $VOTE_ID))
415 return false;
416
417 $ID = (intval($ID) > 0 ? intval($ID) : false);
418 $VOTE_ID = (intval($VOTE_ID) > 0 ? intval($VOTE_ID) : false);
419 if ($ID === false && $VOTE_ID === false):
420 return false;
421 elseif ($ID === false):
422 $strSqlID = "SELECT Q.ID FROM b_vote_question Q WHERE Q.VOTE_ID=".$VOTE_ID;
423 else:
424 $strSqlID = "".$ID."";
425 endif;
426
427 $DB->StartTransaction();
428 $strSql = "SELECT IMAGE_ID FROM b_vote_question WHERE ID IN (".$strSqlID.") AND IMAGE_ID > 0";
429 $z = $DB->Query($strSql);
430 while ($zr = $z->Fetch()) CFile::Delete($zr["IMAGE_ID"]);
431
432 // drop question events
433 if (!$DB->Query("DELETE FROM b_vote_event_question WHERE QUESTION_ID IN (".$strSqlID.")")):
434 $DB->Rollback();
435 return false;
436 endif;
437 // drop question
438 if ($ID === false):
439 $strSql = "DELETE FROM b_vote_question WHERE VOTE_ID=".$VOTE_ID;
440 else:
441 $strSql = "DELETE FROM b_vote_question WHERE ID=".$ID;
442 endif;
443
444 if (!$DB->Query($strSql)):
445 $DB->Rollback();
446 return false;
447 endif;
448
449 $DB->Commit();
450/***************** Cleaning cache **********************************/
451 if ($ID === false)
452 unset($GLOBALS["VOTE_CACHE"]["QUESTION"]);
453 else
454 unset($GLOBALS["VOTE_CACHE"]["QUESTION"][$ID]);
455
456/***************** Cleaning cache/**********************************/
457
458/***************** Event onAfterForumDelete ************************/
459 foreach (GetModuleEvents("vote", "onAfterVoteQuestionDelete", true) as $arEvent)
460 ExecuteModuleEventEx($arEvent, array($ID, $VOTE_ID));
461/***************** /Event ******************************************/
462 return true;
463 }
464
465 public static function Reset($ID, $VOTE_ID = false)
466 {
467 global $DB;
468
469 $ID = (intval($ID) > 0 ? intval($ID) : false);
470 $VOTE_ID = (intval($VOTE_ID) > 0 ? intval($VOTE_ID) : false);
471
472 if ($ID > 0):
473 $strSqlID = "".$ID."";
474 elseif ($VOTE_ID > 0):
475 $strSqlID = "SELECT Q.ID FROM b_vote_question Q WHERE Q.VOTE_ID=".$VOTE_ID;
476 else:
477 return false;
478 endif;
479
480 // drop answer events
481 $DB->Query("DELETE FROM b_vote_event_answer WHERE EVENT_QUESTION_ID IN (
482 SELECT ID FROM b_vote_event_question WHERE QUESTION_ID IN (".$strSqlID."))");
483 // drop question events
484 $DB->Query("DELETE FROM b_vote_event_question WHERE QUESTION_ID IN (".$strSqlID.")");
485
486 // zeroize answers counter
487 $arFields = array("COUNTER"=>"0");
488 $DB->Update("b_vote_answer", $arFields, "WHERE QUESTION_ID IN (".$strSqlID.")");
489
490 // zeroize questions counter
491 $arFields = array("COUNTER" => "0");
492 $DB->Update("b_vote_question", $arFields, "WHERE ".(
493 $ID > 0 ? "ID = ".$ID."" : "VOTE_ID = ".$VOTE_ID.""));
494
495
496/***************** Cleaning cache **********************************/
497 if ($ID === false)
498 unset($GLOBALS["VOTE_CACHE"]["QUESTION"]);
499 else
500 unset($GLOBALS["VOTE_CACHE"]["QUESTION"][$ID]);
501/***************** Cleaning cache/**********************************/
502 return true;
503 }
504
505 public static function setActive($ID, $activate = true)
506 {
507 $ID = intval($ID);
508 if ($ID <= 0)
509 return false;
510 $activate = (!!$activate);
511/***************** Event onBeforeVoteQuestionUpdate ****************/
512 foreach (GetModuleEvents("vote", "onVoteQuestionActivate", true) as $arEvent)
513 if (ExecuteModuleEventEx($arEvent, array($ID, $activate)) === false)
514 return false;
515/***************** /Event ******************************************/
516
517 global $DB;
518
519 $strUpdate = $DB->PrepareUpdate("b_vote_question", array("ACTIVE" => ($activate ? "Y" : "N"), "~TIMESTAMP_X" => $DB->GetNowFunction()));
520 $DB->QueryBind("UPDATE b_vote_question SET ".$strUpdate." WHERE ID=".$ID, array());
521 unset($GLOBALS["VOTE_CACHE"]["QUESTION"][$ID]);
522
523 return $ID;
524 }
525}
$db_res
Определения options_user_settings.php:8
global $APPLICATION
Определения include.php:80
static encode($text)
Определения emoji.php:17
static cleanText(?string $text)
Определения sanitizer.php:20
static GetList($QUESTION_ID, $by="s_c_sort", $order="asc", $arFilter=array(), $arAddParams=array())
Определения answer.php:238
static Add($arFields)
Определения answer.php:103
static IsOldVersion()
Определения vote.php:336
Определения question.php:15
static GetList($VOTE_ID, $by='s_c_sort', $order='asc', $arFilter=[])
Определения question.php:268
static GetNextSort($VOTE_ID)
Определения question.php:236
static GetByID($ID)
Определения question.php:247
static Update($ID, $arFields, $strUploadDir=false)
Определения question.php:155
static CheckFields($ACTION, &$arFields, $ID=0)
Определения question.php:16
static Copy($ID, $newVoteID)
Определения question.php:206
static Reset($ID, $VOTE_ID=false)
Определения question.php:465
static Add($arFields, $strUploadDir=false)
Определения question.php:108
Определения dbresult.php:88
$str
Определения commerceml2.php:63
$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
$res
Определения filter_act.php:7
GetFilterQuery($field, $val, $procent="Y", $ex_sep=array(), $clob="N", $div_fields="Y", $clob_upper="N")
Определения filter_tools.php:383
$old_module_version
Определения options.php:12
$zr
Определения options.php:5
if($ajaxMode) $ID
Определения get_user.php:27
global $DB
Определения cron_frame.php:29
global $USER
Определения csv_new_run.php:40
$ACTION
Определения csv_new_setup.php:27
endif
Определения csv_new_setup.php:990
$z
Определения options.php:31
ExecuteModuleEventEx($arEvent, $arParams=[])
Определения tools.php:5214
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
Определения tools.php:5177
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
is_set($a, $k=false)
Определения tools.php:2133
GetMessage($name, $aReplace=null)
Определения tools.php:3397
$GLOBALS['____1690880296']
Определения license.php:1
Определения answer.php:8
$order
Определения payment.php:8
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
if(empty($signedUserToken)) $key
Определения quickway.php:257
$val
Определения options.php:1793
$arFilter
Определения user_search.php:106
VoteGetFilterOperation($key)
Определения channel.php:504
const VOTE_DEFAULT_DIAGRAM_TYPE
Определения include.php:11
GetVoteDiagramArray()
Определения vote_tools.php:14