1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
group_features.php
См. документацию.
1<?
2
4
5require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/socialnetwork/classes/general/group_features.php");
6
8{
9 /***************************************/
10 /******** DATA MODIFICATION **********/
11 /***************************************/
12 public static function Add($arFields)
13 {
14 global $DB, $CACHE_MANAGER, $SONET_FEATURES_CACHE;
15
17
19 {
20 return false;
21 }
22
23 $db_events = GetModuleEvents("socialnetwork", "OnBeforeSocNetFeaturesAdd");
24 while ($arEvent = $db_events->Fetch())
25 {
26 if (ExecuteModuleEventEx($arEvent, array($arFields))===false)
27 {
28 return false;
29 }
30 }
31
32 $arInsert = $DB->PrepareInsert("b_sonet_features", $arFields);
34
35 $ID = false;
36 if ($arInsert[0] <> '')
37 {
38 $strSql =
39 "INSERT INTO b_sonet_features(".$arInsert[0].") ".
40 "VALUES(".$arInsert[1].")";
41 $DB->Query($strSql);
42
43 $ID = intval($DB->LastID());
44
45 if (array_key_exists("ENTITY_TYPE", $arFields) && array_key_exists("ENTITY_ID", $arFields))
46 {
47 unset($SONET_FEATURES_CACHE[$arFields["ENTITY_TYPE"]][$arFields["ENTITY_ID"]]);
48 }
49
50 $events = GetModuleEvents("socialnetwork", "OnSocNetFeaturesAdd");
51 while ($arEvent = $events->Fetch())
52 {
54 }
55
56 if (
57 defined("BX_COMP_MANAGED_CACHE")
58 && array_key_exists("ENTITY_TYPE", $arFields)
59 && array_key_exists("ENTITY_ID", $arFields)
60 )
61 {
62 $CACHE_MANAGER->ClearByTag('sonet_features');
63 $CACHE_MANAGER->ClearByTag("sonet_features_".$arFields["ENTITY_TYPE"]."_".$arFields["ENTITY_ID"]);
64 }
65
66 FeatureTable::cleanCache();
67 }
68
69 return $ID;
70 }
71
72
73 /***************************************/
74 /********** DATA SELECTION ***********/
75 /***************************************/
76 public static function GetList($arOrder = Array("ID" => "DESC"), $arFilter = Array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
77 {
78 global $DB;
79
80 if (count($arSelectFields) <= 0)
81 {
82 $arSelectFields = array("ID", "ENTITY_TYPE", "ENTITY_ID", "FEATURE", "FEATURE_NAME", "ACTIVE", "DATE_CREATE", "DATE_UPDATE");
83 }
84
85 static $arFields = array(
86 "ID" => Array("FIELD" => "GF.ID", "TYPE" => "int"),
87 "ENTITY_TYPE" => Array("FIELD" => "GF.ENTITY_TYPE", "TYPE" => "string"),
88 "ENTITY_ID" => Array("FIELD" => "GF.ENTITY_ID", "TYPE" => "int"),
89 "FEATURE" => Array("FIELD" => "GF.FEATURE", "TYPE" => "string"),
90 "FEATURE_NAME" => Array("FIELD" => "GF.FEATURE_NAME", "TYPE" => "string"),
91 "ACTIVE" => Array("FIELD" => "GF.ACTIVE", "TYPE" => "string"),
92 "DATE_CREATE" => Array("FIELD" => "GF.DATE_CREATE", "TYPE" => "datetime"),
93 "DATE_UPDATE" => Array("FIELD" => "GF.DATE_UPDATE", "TYPE" => "datetime"),
94 "GROUP_NAME" => Array("FIELD" => "G.NAME", "TYPE" => "string", "FROM" => "INNER JOIN b_sonet_group G ON (GF.GROUP_ID = G.ID)"),
95 );
96
97 $arSqls = CSocNetGroup::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
98
99 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
100
101 if (is_array($arGroupBy) && count($arGroupBy)==0)
102 {
103 $strSql =
104 "SELECT ".$arSqls["SELECT"]." ".
105 "FROM b_sonet_features GF ".
106 " ".$arSqls["FROM"]." ";
107 if ($arSqls["WHERE"] <> '')
108 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
109 if ($arSqls["GROUPBY"] <> '')
110 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
111
112 //echo "!1!=".htmlspecialcharsbx($strSql)."<br>";
113
114 $dbRes = $DB->Query($strSql);
115 if ($arRes = $dbRes->Fetch())
116 {
117 return $arRes["CNT"];
118 }
119 else
120 {
121 return False;
122 }
123 }
124
125
126 $strSql =
127 "SELECT ".$arSqls["SELECT"]." ".
128 "FROM b_sonet_features GF ".
129 " ".$arSqls["FROM"]." ";
130 if ($arSqls["WHERE"] <> '')
131 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
132 if ($arSqls["GROUPBY"] <> '')
133 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
134 if ($arSqls["ORDERBY"] <> '')
135 $strSql .= "ORDER BY ".$arSqls["ORDERBY"]." ";
136
137 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"]) <= 0)
138 {
139 $strSql_tmp =
140 "SELECT COUNT('x') as CNT ".
141 "FROM b_sonet_features GF ".
142 " ".$arSqls["FROM"]." ";
143 if ($arSqls["WHERE"] <> '')
144 $strSql_tmp .= "WHERE ".$arSqls["WHERE"]." ";
145 if ($arSqls["GROUPBY"] <> '')
146 $strSql_tmp .= "GROUP BY ".$arSqls["GROUPBY"]." ";
147
148 //echo "!2.1!=".htmlspecialcharsbx($strSql_tmp)."<br>";
149
150 $dbRes = $DB->Query($strSql_tmp);
151 $cnt = 0;
152 if ($arSqls["GROUPBY"] == '')
153 {
154 if ($arRes = $dbRes->Fetch())
155 $cnt = $arRes["CNT"];
156 }
157 else
158 {
159 // ТОЛЬКО ДЛЯ MYSQL!!! ДЛЯ ORACLE ДРУГОЙ КОД
160 $cnt = $dbRes->SelectedRowsCount();
161 }
162
163 $dbRes = new CDBResult();
164
165 //echo "!2.2!=".htmlspecialcharsbx($strSql)."<br>";
166
167 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
168 }
169 else
170 {
171 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"]) > 0)
172 $strSql .= "LIMIT ".intval($arNavStartParams["nTopCount"]);
173
174 //echo "!3!=".htmlspecialcharsbx($strSql)."<br>";
175
176 $dbRes = $DB->Query($strSql);
177 }
178
179 return $dbRes;
180 }
181}
static getEqualityFields(&$fields)
Определения util.php:207
static processEqualityFieldsToInsert($fields1, &$insert)
Определения util.php:222
static CheckFields($ACTION, &$arFields, $ID=0)
Определения group_features.php:15
Определения dbresult.php:88
static Add($arFields)
Определения group_features.php:12
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения group_features.php:76
global $CACHE_MANAGER
Определения clear_component_cache.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
ExecuteModuleEventEx($arEvent, $arParams=[])
Определения tools.php:5214
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
Определения tools.php:5177
</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