23 static public function CheckAccess(
$USER, $iblock_type_id, $iblock_id =
false, $socnet_group_id = 0)
25 if($socnet_group_id > 0 && CModule::IncludeModule(
'socialnetwork'))
27 if(CSocNetFeatures::IsActiveFeature(
SONET_ENTITY_GROUP, $socnet_group_id,
"group_lists"))
29 if($iblock_id !==
false)
41 if($iblock_id !==
false)
65 $iblock_socnet_group_id = CIBlock::GetArrayByID($iblock_id,
"SOCNET_GROUP_ID");
66 if($iblock_socnet_group_id != $socnet_group_id)
69 $socnet_role = CSocNetUserToGroup::GetUserRole(
$USER->GetID(), $socnet_group_id);
71 if (CSocNetUser::IsCurrentUserModuleAdmin())
76 if ($socnet_role !==
"A" && CIBlock::GetArrayByID($iblock_id,
"RIGHTS_MODE") ===
"E")
81 static $roles =
array(
"A",
"E",
"K",
"T");
82 if(!in_array($socnet_role, $roles))
84 if(
$USER->IsAuthorized())
90 if (!CSocNetFeaturesPerms::CanPerformOperation(
$USER->GetID(),
SONET_ENTITY_GROUP, $socnet_group_id,
"group_lists",
"write", CSocNetUser::IsCurrentUserModuleAdmin()))
96 $arSocnetPerm = CLists::GetSocnetPermission($iblock_id);
97 return $arSocnetPerm[$socnet_role];
109 if($iblock_type_id === COption::GetOptionString(
"lists",
"socnet_iblock_type_id"))
111 $socnet_role = CSocNetUserToGroup::GetUserRole(
$USER->GetID(), $socnet_group_id);
113 if (CSocNetUser::IsCurrentUserModuleAdmin())
120 && CSocNetFeaturesPerms::CanPerformOperation(
$USER->GetID(),
SONET_ENTITY_GROUP, $socnet_group_id,
"group_lists",
"write", CSocNetUser::IsCurrentUserModuleAdmin())
144 if (!is_array($listsPermission) || !
count($listsPermission))
147 $userGroups =
$USER->GetUserGroupArray();
148 if (
count(array_intersect($listsPermission, $userGroups)) > 0)
163 if($iblock_check < 0)
164 return $iblock_check;
166 $arListsPerm = CLists::GetPermission($iblock_type_id);
172 $arUSER_GROUPS =
$USER->GetUserGroupArray();
173 if(
count(array_intersect($arListsPerm, $arUSER_GROUPS)) > 0)
176 return CIBlock::GetPermission($iblock_id);
186 $iblock_id = intval($iblock_id);
189 $iblock_type = CIBlock::GetArrayByID($iblock_id,
"IBLOCK_TYPE_ID");
190 if($iblock_type_id === $iblock_type)
207 foreach(
$DB as $RIGHT_ID => $arRight)
211 preg_match(
"/^G(\\d)\$/", $arRight[
"GROUP_CODE"], $match)
212 && is_array($arListsPerm)
213 && in_array($match[1], $arListsPerm)
220 foreach($arOperations as $operation)
222 if(preg_match(
"/^iblock_(?!admin)/", $operation))
232 foreach($POST as $RIGHT_ID => $arRight)
236 preg_match(
"/^G(\\d)\$/", $arRight[
"GROUP_CODE"], $match)
237 && is_array($arListsPerm)
238 && in_array($match[1], $arListsPerm)
240 unset($POST[$RIGHT_ID]);
245 foreach($arOperations as $operation)
247 if(preg_match(
"/^iblock_(?!admin)/", $operation))
249 unset($POST[$RIGHT_ID]);
257 foreach($POST as $RIGHT_ID => $arRight)
259 foreach(
$arResult as $RIGHT_ID2 => $arRight2)
261 if($arRight[
"GROUP_CODE"] == $arRight2[
"GROUP_CODE"])
276 if ($field_id ===
"DETAIL_PICTURE")
278 elseif ($field_id ===
"PREVIEW_PICTURE")
280 elseif ($field_id ===
"PICTURE")
284 elseif (!preg_match(
"/^PROPERTY_(.+)\$/", $field_id, $match))
288 $db_prop = CIBlockProperty::GetPropertyArray($match[1], $iblock_id);
289 if(is_array($db_prop) && $db_prop[
"PROPERTY_TYPE"] ===
"F")
static GetOperations($ID, $return_names=false)
static _lists_type_check($USER, $iblockTypeId)
static CheckFieldId($iblock_id, $field_id)
const LISTS_FOR_SONET_GROUP_DISABLED
static CheckAccess($USER, $iblock_type_id, $iblock_id=false, $socnet_group_id=0)
static _lists_check($USER, $iblock_type_id, $iblock_id)
static _socnet_check($USER, $iblock_type_id, $iblock_id, $socnet_group_id)
static _iblock_check($iblock_type_id, $iblock_id)
static _socnet_type_check($USER, $iblock_type_id, $socnet_group_id)
static MergeRights($IBLOCK_TYPE_ID, $DB, $POST)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
</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."%"