2require_once(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/socialnetwork/classes/general/group_features_perms.php");
20 $db_events =
GetModuleEvents(
"socialnetwork",
"OnBeforeSocNetFeaturesPermsAdd");
21 while ($arEvent = $db_events->Fetch())
29 $arInsert =
$DB->PrepareInsert(
"b_sonet_features2perms",
$arFields);
33 if ($arInsert[0] <>
'')
36 "INSERT INTO b_sonet_features2perms(".$arInsert[0].
") ".
37 "VALUES(".$arInsert[1].
")";
40 $ID = intval(
$DB->LastID());
43 while ($arEvent = $events->Fetch())
50 && defined(
"BX_COMP_MANAGED_CACHE")
65 public static function GetList($arOrder = Array(
"ID" =>
"DESC"),
$arFilter = Array(), $arGroupBy =
false, $arNavStartParams =
false, $arSelectFields =
array())
69 if (
count($arSelectFields) <= 0)
70 $arSelectFields =
array(
"ID",
"FEATURE_ID",
"OPERATION_ID",
"ROLE");
73 "ID" => Array(
"FIELD" =>
"GFP.ID",
"TYPE" =>
"int"),
74 "FEATURE_ID" => Array(
"FIELD" =>
"GFP.FEATURE_ID",
"TYPE" =>
"int"),
75 "OPERATION_ID" => Array(
"FIELD" =>
"GFP.OPERATION_ID",
"TYPE" =>
"string"),
76 "ROLE" => Array(
"FIELD" =>
"GFP.ROLE",
"TYPE" =>
"string"),
77 "FEATURE_ENTITY_TYPE" => Array(
"FIELD" =>
"GF.ENTITY_TYPE",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_sonet_features GF ON (GFP.FEATURE_ID = GF.ID)"),
78 "FEATURE_ENTITY_ID" => Array(
"FIELD" =>
"GF.ENTITY_ID",
"TYPE" =>
"int",
"FROM" =>
"INNER JOIN b_sonet_features GF ON (GFP.FEATURE_ID = GF.ID)"),
79 "FEATURE_FEATURE" => Array(
"FIELD" =>
"GF.FEATURE",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_sonet_features GF ON (GFP.FEATURE_ID = GF.ID)"),
80 "FEATURE_FEATURE_NAME" => Array(
"FIELD" =>
"GF.FEATURE_NAME",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_sonet_features GF ON (GFP.FEATURE_ID = GF.ID)"),
81 "FEATURE_ACTIVE" => Array(
"FIELD" =>
"GF.ACTIVE",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_sonet_features GF ON (GFP.FEATURE_ID = GF.ID)"),
84 $arSqls = CSocNetGroup::PrepareSql(
$arFields, $arOrder,
$arFilter, $arGroupBy, $arSelectFields);
86 $arSqls[
"SELECT"] = str_replace(
"%%_DISTINCT_%%",
"", $arSqls[
"SELECT"]);
88 if (is_array($arGroupBy) &&
count($arGroupBy)==0)
91 "SELECT ".$arSqls[
"SELECT"].
" ".
92 "FROM b_sonet_features2perms GFP ".
93 " ".$arSqls[
"FROM"].
" ";
94 if ($arSqls[
"WHERE"] <>
'')
95 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
96 if ($arSqls[
"GROUPBY"] <>
'')
97 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
110 "SELECT ".$arSqls[
"SELECT"].
" ".
111 "FROM b_sonet_features2perms GFP ".
112 " ".$arSqls[
"FROM"].
" ";
113 if ($arSqls[
"WHERE"] <>
'')
114 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
115 if ($arSqls[
"GROUPBY"] <>
'')
116 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
117 if ($arSqls[
"ORDERBY"] <>
'')
118 $strSql .=
"ORDER BY ".$arSqls[
"ORDERBY"].
" ";
120 if (is_array($arNavStartParams) && intval($arNavStartParams[
"nTopCount"]) <= 0)
123 "SELECT COUNT('x') as CNT ".
124 "FROM b_sonet_features2perms GFP ".
125 " ".$arSqls[
"FROM"].
" ";
126 if ($arSqls[
"WHERE"] <>
'')
127 $strSql_tmp .=
"WHERE ".$arSqls[
"WHERE"].
" ";
128 if ($arSqls[
"GROUPBY"] <>
'')
129 $strSql_tmp .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
135 if ($arSqls[
"GROUPBY"] ==
'')
143 $cnt =
$dbRes->SelectedRowsCount();
150 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
154 if (is_array($arNavStartParams) && intval($arNavStartParams[
"nTopCount"]) > 0)
155 $strSql .=
"LIMIT ".intval($arNavStartParams[
"nTopCount"]);
169 if($entityType ==
'' || $role ==
'' || $operation ==
'')
171 if($entityType ==
'')
180 $strSql =
"select b.ID as ID,
181 b.ENTITY_TYPE as ENTITY_TYPE,
182 b.ENTITY_ID as ENTITY_ID,
183 b.FEATURE as FEATURE,
184 b.ACTIVE as FEATURE_ACTIVE,
185 p.OPERATION_ID as OPERATION_ID,
187 if($entityType ==
"G")
188 $strSql .=
", g.SITE_ID as GROUP_SITE_ID,
189 g.NAME as GROUP_NAME,
190 g.VISIBLE as GROUP_VISIBLE,
191 g.OWNER_ID as GROUP_OWNER_ID ";
192 $strSql .=
" from b_sonet_features b ".
193 "LEFT JOIN b_sonet_features2perms p ON (b.ID = p.FEATURE_ID AND ".
194 "p.ROLE = '".$DB->ForSQL($role).
"' AND p.OPERATION_ID = '".
$DB->ForSQL($operation).
"') ";
195 if($entityType ==
"G")
196 $strSql .=
"INNER JOIN b_sonet_group g ON (g.ID = b.ENTITY_ID) ";
198 "b.FEATURE='".$DB->ForSQL($feature).
"' AND ".
199 "b.ACTIVE = '".$DB->ForSQL($active).
"' AND ".
200 "b.ENTITY_TYPE = '".$DB->ForSQL($entityType).
"' ";
202 if($entityType ==
"G")
203 $strSql .=
" AND g.ACTIVE = 'Y' AND ".
204 "g.VISIBLE= 'Y' AND ".
205 "g.SITE_ID= '".$DB->ForSQL(
$siteID).
"'";
static getEqualityFields(&$fields)
static processEqualityFieldsToInsert($fields1, &$insert)
static CheckFields($ACTION, &$arFields, $ID=0)
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
GetAvaibleEntity($entityType, $feature, $role, $operation, $active, $visible, $siteID)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
ExecuteModuleEventEx($arEvent, $arParams=[])
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
</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."%"