5require(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/main/include/prolog_admin_before.php");
6require(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/main/include/prolog_admin_js.php");
14 if (!
$USER->CanDoOperation(
'fileman_edit_existent_folders') && !
$USER->CanDoOperation(
'fileman_admin_folders'))
29 $obSite = CSite::GetByID(
$_REQUEST[
"site"]);
30 if ($arSite = $obSite->Fetch())
69 $accessFile =
"/.access.php";
76 if ($position ===
false)
97 if (isset($PERM[
$name]) && is_array($PERM[
$name]))
105 if(preg_match(
'/^[0-9]+$/',
$val))
113while($arTask =
$obTask->Fetch())
121 include(
$io->GetPhysicalName(
$documentRoot.$assignFolderName.
".access.php"));
123 foreach($PERM as $file => $arPerm)
124 foreach($arPerm as
$code => $permission)
137 $arSavePermission =
array();
139 if (isset($_POST[
"REMOVE_PERMISSIONS"]) && $_POST[
"REMOVE_PERMISSIONS"] ==
"Y")
151 if (isset($_POST[
"PERMISSION"]) && is_array($_POST[
"PERMISSION"]))
156 $isAdmin =
$USER->IsAdmin();
158 foreach ($_POST[
"PERMISSION"] as $groupID => $taskID)
162 $groupID = trim($groupID);
170 $taskID = intval($taskID);
173 unset($arSavePermission[$groupID]);
177 $obTask = CTask::GetById($taskID);
178 if ( ($arTask =
$obTask->Fetch()) && $arTask[
"LETTER"] && $arTask[
"SYS"] ==
"Y")
179 $permLetter = $arTask[
"LETTER"];
181 $permLetter =
"T_".$taskID;
183 $arSavePermission[$groupID] = $permLetter;
222<table
class=
"bx-width100" id=
"bx_permission_table">
225 <td><b><?=
GetMessage(
"EDIT_ACCESS_PERMISSION")?></b> </td>
228 <td colspan=
"2"></td>
251 $jsTaskArray .=
",'".$taskID.
"':'".CUtil::JSEscape($taskTitle).
"'";
261 $errorOccured = (
$strWarning !=
"" && isset($_POST[
"PERMISSION"]) && is_array($_POST[
"PERMISSION"]) && array_key_exists($access_code, $_POST[
"PERMISSION"]));
268 if ($access_code ==
"*")
280 $currentPerm = intval($_POST[
"PERMISSION"][$access_code]);
286 if (str_starts_with($permLetter,
"T_"))
299 if ($access_code ==
"*")
306 $access_code ==
"*" ?
316 <div
id=
"bx_permission_view_<?=$permissionID?>" onclick=
"BXEditPermission('<?=$permissionID?>')" class=
"edit-field" style=
"width:90%;">
320 <div
id=
"bx_permission_edit_<?=$permissionID?>" style=
"display:none;"></div>
327 <
select name=
"PERMISSION[<?=$access_code?>]" style=
"width:90%;" id=
"bx_task_list_<?=$permissionID?>">
329 <?
if (
$path ==
"/"):?>
330 <option value=
"0"><?=
GetMessage(
"EDIT_ACCESS_NOT_SET")?></option>
353<p><a href=
"javascript:void(0)" onclick=
"BX.Access.ShowForm({callback:BXAddNewPermission})"><?=
GetMessage(
"EDIT_ACCESS_ADD_PERMISSION")?></a></p>
356 <p><b><a href=
"javascript:void(0)" onclick=
"BXClearPermission()"><?=(
$isFolder?
GetMessage(
"EDIT_ACCESS_REMOVE_PERM"):
GetMessage(
"EDIT_ACCESS_REMOVE_PERM_FILE"))?></a></b></p>
357 <input type=
"hidden" name=
"REMOVE_PERMISSIONS" id=
"REMOVE_PERMISSIONS" value=
"">
360<input type=
"hidden" name=
"save" value=
"Y" />
372BX.Access.SetSelected(<?=Json::encode(
$arSel)?>);
376window.BXAddNewPermission =
function(arRights)
378 var table = document.getElementById(
"bx_permission_table");
380 for(var provider in arRights)
382 for(var
id in arRights[provider])
385 var tableRow = table.insertRow(table.rows.length);
387 var groupTD = tableRow.insertCell(0);
388 var currentTD = tableRow.insertCell(1);
390 var pr = BX.Access.GetProviderName(provider);
391 groupTD.innerHTML = (pr?
'<b>'+BX.util.htmlspecialchars(pr)+
':</b> ':
'')+BX.util.htmlspecialchars(arRights[provider][
id].name);
394 var permissionID = Math.round(Math.random() * 100000);
395 var taskSelect = BXCreateTaskList(permissionID, 0, 0,
id);
396 taskSelect.onblur =
"";
398 currentTD.appendChild(taskSelect);
405window.BXCreateTaskList =
function(permissionID, currentPermission, inheritPermission, userGroupID)
407 var
select = document.createElement(
"SELECT");
408 select.name =
"PERMISSION["+userGroupID+
"]";
409 select.style.width =
"90%";
411 select.id =
"bx_task_list_" + permissionID;
414 var selectDocument =
select.ownerDocument;
416 selectDocument =
select.document;
420 <?
if (
$path ==
"/"):?>
421 window.BXTaskArray[
"0"] =
"<?=CUtil::JSEscape(GetMessage("EDIT_ACCESS_NOT_SET
"))?>";
423 window.BXTaskArray[
"0"] =
"<?=CUtil::JSEscape(GetMessage("EDIT_ACCESS_SET_INHERIT
"))?>" +
" \"" + window.BXTaskArray[(inheritPermission == 0 ? <?=intval(
$jsInheritPerm)?> : inheritPermission)] +
"\"";
428 var option = selectDocument.createElement(
"OPTION");
429 option.text = window.BXTaskArray[taskID];
430 option.value = taskID;
432 select.options.add(option);
434 if (taskID == currentPermission)
443window.BXBlurEditPermission =
function(
select, permissionID)
445 var viewPermission = document.getElementById(
"bx_permission_view_" + permissionID);
446 var setPermission =
select.options[
select.selectedIndex].value;
448 var arPermID = permissionID.split(
"_");
449 var userGroupID = arPermID[0];
450 var currentPermission = arPermID[1];
452 if (setPermission == currentPermission)
454 var editPermission = document.getElementById(
"bx_permission_edit_" + permissionID);
456 viewPermission.style.display =
"block";
457 editPermission.style.display =
"none";
459 while (editPermission.firstChild)
460 editPermission.removeChild(editPermission.firstChild);
464window.BXEditPermission =
function(permissionID)
466 if (document.getElementById(
"bx_task_list_" + permissionID))
469 var arPermID = permissionID.split(
"_");
471 var userGroupID = arPermID[0];
472 var currentPermission = arPermID[1];
473 var inheritPermission = arPermID[2];
475 if (userGroupID ==
"0")
478 var editPermission = document.getElementById(
"bx_permission_edit_" + permissionID);
479 var viewPermission = document.getElementById(
"bx_permission_view_" + permissionID);
481 editPermission.style.display =
"block";
482 viewPermission.style.display =
"none";
484 var taskSelect = BXCreateTaskList(permissionID, currentPermission, inheritPermission, userGroupID);
486 editPermission.appendChild(taskSelect);
491window.BXCreateAccessHint =
function()
493 var table = document.getElementById(
"bx_permission_table");
494 var tableRow = table.rows[0];
496 var groupTD = tableRow.cells[0];
497 var currentTD = tableRow.cells[1];
499 var oBXHint =
new BXHint(
"<?=CUtil::JSEscape(GetMessage("EDIT_ACCESS_PERMISSION_INFO
"))?>");
500 currentTD.appendChild(oBXHint.oIcon);
505 for (var index = 0; index < jsInheritPermIDs.length; index++)
506 oBXHint =
new BXHint(
"<?=CUtil::JSEscape(GetMessage("EDIT_ACCESS_SET_PERMISSION
"))?>", document.getElementById(
"bx_permission_view_"+ jsInheritPermIDs[index]), {
"width":200});
509window.BXClearPermission =
function()
511 if(confirm(
'<?=CUtil::JSEscape(GetMessage("EDIT_ACCESS_REMOVE_PERM_CONF"))?>'))
513 BX(
"REMOVE_PERMISSIONS").value =
"Y";
514 BX.WindowManager.Get().PostParameters();
518window.BXCreateAccessHint();
521<?require(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/main/include/epilog_admin_js.php");?>
if(!array_key_exists($inheritTaskID, $arPermTypes)) $currentPerm
if($path=="/")<?else:?> window BXTaskArray["0"]
<?endif?> for(var taskID in BXTaskArray) select selectedIndex
window BXBlurEditPermission
if( $_SERVER elseif["REQUEST_METHOD"]=="POST" &&!check_bitrix_sessid())( $_SERVER["REQUEST_METHOD"]=="POST" &&isset( $_REQUEST["save"]))
if($canUseYandexMarket) $strWarning
static GetLangTitle($name, $module="main")
static GetIdByLetter($letter, $module, $binding='module')
static GetList($arOrder=['MODULE_ID'=> 'asc', 'LETTER'=> 'asc'], $arFilter=[])
static Init($arExt=array(), $bReturn=false)
bx popup label bx width30 PAGE_NEW_MENU_NAME text width
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code
foreach(['Bitrix\\Main'=> '/lib', 'Psr\\Container'=> '/vendor/psr/container/src', 'Psr\\Log'=> '/vendor/psr/log/src', 'Psr\\Http\\Message'=> '/vendor/psr/http-message/src', 'Psr\\Http\\Client'=> '/vendor/psr/http-client/src', 'Http\\Promise'=> '/vendor/php-http/promise/src', 'PHPMailer\\PHPMailer'=> '/vendor/phpmailer/phpmailer/src', 'GeoIp2'=> '/vendor/geoip2/geoip2/src', 'MaxMind\\Db'=> '/vendor/maxmind-db/reader/src/MaxMind/Db', 'PhpParser'=> '/vendor/nikic/php-parser/lib/PhpParser', 'Recurr'=> '/vendor/simshaun/recurr/src/Recurr',] as $namespace=> $namespacePath) $documentRoot
if(!defined('SITE_ID')) $lang
if(!is_array($deviceNotifyCodes)) $access
check_bitrix_sessid($varname='sessid')
IsModuleInstalled($module_id)
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
GetMessage($name, $aReplace=null)
global_menu_<?echo $menu["menu_id"]?> adm main menu item icon adm main menu item text text adm main menu hover adm submenu menucontainer menu_id menu_id items_id items_id desktop menu_id block none adm global submenu<?=($subMenuDisplay=="block" ? " adm-global-submenu-active" :"")?> global_submenu_<?echo $menu["menu_id"]?> text MAIN_PR_ADMIN_FAV items adm submenu items wrap adm submenu items stretch wrap BX adminMenu itemsStretchScroll()"> <table class if (!empty( $menu["items"])) elseif ( $menu[ 'menu_id']=='desktop') if ( $menu[ 'menu_id']=='desktop') endforeach
if(empty($signedUserToken)) $key