1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
user.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
11{
12 public static function OnUserLogin()
13 {
14 $_SESSION["VOTE"] = array("VOTES" => array());
15 }
16
17 public static function Delete($USER_ID)
18 {
19 global $DB;
20 $USER_ID = intval($USER_ID);
21 if ($USER_ID<=0) return;
22 $strSql = "DELETE FROM b_vote_user WHERE ID=$USER_ID";
23 $res = $DB->Query($strSql);
24 return $res;
25 }
26
27 public static function GetList($by = 's_id', $order = 'desc', $arFilter = [])
28 {
29 global $DB;
30
31 $arSqlSearch = Array();
32 $str_table = "";
33 $left_join = "";
34 if (is_array($arFilter))
35 {
36 $filter_keys = array_keys($arFilter);
37 foreach ($arFilter as $key => $val)
38 {
39 if(is_array($val))
40 {
41 if(count($val) <= 0)
42 continue;
43 }
44 else
45 {
46 if( ((string)$val == '') || ($val === "NOT_REF") )
47 continue;
48 }
49 $match_value_set = (in_array($key."_EXACT_MATCH", $filter_keys)) ? true : false;
50 $key = strtoupper($key);
51 switch($key)
52 {
53 case "ID":
54 $match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" : "N";
55 $arSqlSearch[] = GetFilterQuery("U.ID",$val,$match);
56 break;
57 case "DATE_START_1":
58 $arSqlSearch[] = "U.DATE_FIRST>=".$DB->CharToDateFunction($val, "SHORT");
59 break;
60 case "DATE_START_2":
61 $arSqlSearch[] = "U.DATE_FIRST<=".$DB->CharToDateFunction($val." 23:59:59", "FULL");
62 break;
63 case "DATE_END_1":
64 $arSqlSearch[] = "U.DATE_LAST>=".$DB->CharToDateFunction($val, "SHORT");
65 break;
66 case "DATE_END_2":
67 $arSqlSearch[] = "U.DATE_LAST<=".$DB->CharToDateFunction($val." 23:59:59", "FULL");
68 break;
69 case "COUNTER_1":
70 $arSqlSearch[] = "U.COUNTER>='".intval($val)."'";
71 break;
72 case "COUNTER_2":
73 $arSqlSearch[] = "U.COUNTER<='".intval($val)."'";
74 break;
75 case "USER":
76 $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y";
77 $arSqlSearch[] = GetFilterQuery("U.AUTH_USER_ID,A.LOGIN,A.LAST_NAME,A.NAME",$val,$match);
78 $left_join = "LEFT JOIN b_user A ON (A.ID=U.AUTH_USER_ID)";
79 break;
80 case "GUEST":
81 $match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" : "N";
82 $arSqlSearch[] = GetFilterQuery("U.STAT_GUEST_ID",$val,$match);
83 break;
84 case "IP":
85 $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y";
86 $arSqlSearch[] = GetFilterQuery("U.LAST_IP",$val,$match,array("."));
87 break;
88 case "VOTE":
89 $str_table = "
90 INNER JOIN b_vote_event E ON (E.VOTE_USER_ID = U.ID)
91 INNER JOIN b_vote V ON (V.ID = E.VOTE_ID)
92 ";
93 $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y";
94 $arSqlSearch[] = GetFilterQuery("E.VOTE_ID, V.TITLE",$val,$match);
95 break;
96 case "VOTE_ID":
97 $str_table = "
98 INNER JOIN b_vote_event E ON (E.VOTE_USER_ID = U.ID)
99 INNER JOIN b_vote V ON (V.ID = E.VOTE_ID)
100 ";
101 $match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" : "N";
102 $arSqlSearch[] = GetFilterQuery("E.VOTE_ID",$val,$match);
103 break;
104 }
105 }
106 }
107
108 if ($by == "s_id") $strSqlOrder = "ORDER BY U.ID";
109 elseif ($by == "s_date_start") $strSqlOrder = "ORDER BY U.DATE_FIRST";
110 elseif ($by == "s_date_end") $strSqlOrder = "ORDER BY U.DATE_LAST";
111 elseif ($by == "s_counter") $strSqlOrder = "ORDER BY U.COUNTER";
112 elseif ($by == "s_user") $strSqlOrder = "ORDER BY U.AUTH_USER_ID";
113 elseif ($by == "s_stat_guest_id") $strSqlOrder = "ORDER BY U.STAT_GUEST_ID";
114 elseif ($by == "s_ip") $strSqlOrder = "ORDER BY U.LAST_IP";
115 else
116 {
117 $strSqlOrder = "ORDER BY U.ID";
118 }
119
120 if ($order != "asc")
121 {
122 $strSqlOrder .= " desc ";
123 }
124
125 $strSqlSearch = GetFilterSqlSearch($arSqlSearch);
126 $strSql = "
127 SELECT VU.ID, U.STAT_GUEST_ID, U.AUTH_USER_ID, U.COUNTER, U.LAST_IP,
128 ".$DB->DateToCharFunction("U.DATE_FIRST")." DATE_FIRST,
129 ".$DB->DateToCharFunction("U.DATE_LAST")." DATE_LAST,
130 BUSER.LOGIN, BUSER.NAME, BUSER.LAST_NAME, BUSER.SECOND_NAME, BUSER.PERSONAL_PHOTO
131 FROM (
132 SELECT U.ID
133 FROM b_vote_user U
134 $str_table
135 $left_join
136 WHERE $strSqlSearch
137 GROUP BY U.ID
138 ) VU
139 LEFT JOIN b_vote_user U ON (VU.ID = U.ID)
140 LEFT JOIN b_user BUSER ON (U.AUTH_USER_ID = BUSER.ID)
141 ".$strSqlOrder;
142 $res = $DB->Query($strSql);
143
144 return $res;
145 }
146}
Определения user.php:11
static OnUserLogin()
Определения user.php:12
static Delete($USER_ID)
Определения user.php:17
static GetList($by='s_id', $order='desc', $arFilter=[])
Определения user.php:27
</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
GetFilterSqlSearch($arSqlSearch=array(), $FilterLogic="FILTER_logic")
Определения filter_tools.php:397
GetFilterQuery($field, $val, $procent="Y", $ex_sep=array(), $clob="N", $div_fields="Y", $clob_upper="N")
Определения filter_tools.php:383
global $DB
Определения cron_frame.php:29
$order
Определения payment.php:8
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
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
$val
Определения options.php:1793
$arFilter
Определения user_search.php:106