18 if (!$quota->CheckDiskQuota(Array(
"FILE_SIZE" => mb_strlen(
$fileContent) + mb_strlen($sectionFileContent))))
20 $GLOBALS[
"APPLICATION"]->ThrowException($quota->LAST_ERROR,
"BAD_QUOTA");
43 if(COption::GetOptionString(
"fileman",
"log_page",
"Y")==
"Y")
45 CEventLog::Log(
"content",
"PAGE_ADD",
"fileman", $sectionPath .
"/index.php");
57 Loc::loadLanguageFile(
$_SERVER[
"DOCUMENT_ROOT"].
BX_ROOT.
"/modules/main/public/folder_new.php");
61 Loc::loadLanguageFile(__FILE__);
67 "SUFFIX"=> (isset($_GET[
'subdialog']) && $_GET[
'subdialog'] ===
'Y'?
'subdialog':
'')
77 elseif (!
$USER->CanDoOperation(
"fileman_admin_files"))
80 if (!
$USER->CanDoOperation(
"fileman_edit_existent_files"))
97 $obSite = CSite::GetByID(
$_REQUEST[
"site"]);
98 if($arSite = $obSite->Fetch())
99 $site = $arSite[
"ID"];
110if(!
$USER->CanDoFileOperation(
"fm_edit_existent_file", Array(
$site,
$path)))
125 if($arSiteTemplate = $obTemplate->Fetch())
133 while ($arSiteTemplate = $obTemplate->Fetch())
135 if ($arSiteTemplate[
"CONDITION"] ==
'' )
144$edit_groups = explode(
",", COption::GetOptionString(
'fileman',
'default_edit_groups',
''));
148while($group =
$gr->Fetch())
195 for ($fileNumber =
""; ; $fileNumber++)
225 $actualDir = $menu->MenuDir;
226 $currentDir = rtrim(
$path,
"/").
"/";
228 $actualMenuFile =
null;
229 if ($actualDir <>
'')
231 $actualMenuFile = $actualDir.
".".
$type.
".menu.php";
232 $fileOperation = (
$io->FileExists(
$documentRoot.$actualMenuFile) ?
"fm_edit_existent_file" :
"fm_create_new_file" );
233 if (!
$USER->CanDoFileOperation(
"fm_add_to_menu", Array(
$site, $actualMenuFile)) || !
$USER->CanDoFileOperation($fileOperation, Array(
$site, $actualMenuFile)))
239 $currentMenuFile = $currentDir.
".".
$type.
".menu.php";
240 $fileOperation = (
$io->FileExists(
$documentRoot.$currentMenuFile) ?
"fm_edit_existent_file" :
"fm_create_new_file" );
241 if (!
$USER->CanDoFileOperation(
'fm_add_to_menu', Array(
$site, $currentMenuFile)) || !
$USER->CanDoFileOperation($fileOperation, Array(
$site, $currentMenuFile)))
244 if ($currentDir ===
false && $actualDir ===
false)
247 $arMenuItems = Array();
248 foreach ($menu->arMenu as $arItem)
250 if (isset($arItem[0]))
251 $arMenuItems[] = $arItem[0];
256 "ACTUAL_FILE" => ($actualDir ===
false ? $currentMenuFile : $actualMenuFile),
257 "CURRENT_FILE" => $currentMenuFile,
258 "CAN_CREATE_NEW" => ($actualDir !==
false && $currentDir !==
false && $actualDir != $currentDir),
259 "ITEMS" => (($actualMenuFile == $currentMenuFile) ? $arMenuItems :
array()),
260 "TEMPLATE" => $menu->template
291 $template_file =
$_REQUEST[
'page_template'];
296 if(!empty($arPageTemplates) && isset($arPageTemplates[0][
'file']))
297 $template_file = $arPageTemplates[0][
'file'];
299 if($template_file <>
'')
304 $fileContent =
'<'.
'?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");?'.
'>'.GetMessage(
"PAGE_NEW_CONTENT").
'<'.
'?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>';
307 $strSectionName =
"";
312 $strSectionName =
"\$sSectionName = \"".EscapePHPString(
$pageTitle).
"\";\n";
316 $strDirProperties =
"";
317 if (isset($_POST[
"PROPERTY"]) && is_array($_POST[
"PROPERTY"]))
320 foreach ($_POST[
"PROPERTY"] as $arProperty)
322 $arProperty[
"CODE"] = (isset($arProperty[
"CODE"]) ? trim($arProperty[
"CODE"]) :
"");
323 $arProperty[
"VALUE"] = (isset($arProperty[
"VALUE"]) ? trim($arProperty[
"VALUE"]) :
"");
325 if (preg_match(
"/[a-zA-Z_-~]+/i", $arProperty[
"CODE"]))
330 $strDirProperties .=
",\n";
332 $strDirProperties .=
" \"".EscapePHPString($arProperty[
"CODE"]).
"\" => \"".
EscapePHPString($arProperty[
"VALUE"]).
"\"";
343 $sectionFileContent =
"<".
"?\n".$strSectionName.
"\$arDirProperties = Array(\n".$strDirProperties.
"\n);\n".
"?".
">";
344 $sectionPath = mb_substr(
$path, 1).$fileName;
347 $arUndoParams =
array(
348 'module' =>
'fileman',
349 'undoType' =>
'new_section',
350 'undoHandler' =>
'CFileman::UndoNewSection',
351 'arContent' =>
array(
364 $arUndoParams =
array(
365 'module' =>
'fileman',
366 'undoType' =>
'new_file',
367 'undoHandler' =>
'CFileman::UndoNewFile',
368 'arContent' =>
array(
385 if(COption::GetOptionString(
"fileman",
"log_page",
"Y")==
"Y")
399 foreach(
$_REQUEST[
"limitGroupList"] as $group)
401 $group = intval($group);
419 $arPermission =
array(
"*"=>
"D");
421 $arPermission[$group] =
'X';
427 $relativePath = rtrim(
$path,
"/").
"/".
$fileName.($createNewFolder ?
"/" :
"");
435 $menuTemplate =
$arResult[
"sMenuTemplate"];
442 $arMenuItems[
$i+1] = $arMenuItems[
$i];
447 $arUndoParams[
'arContent'][
'menu'] =
array(
448 'menuFile' => $menuFile,
450 'menuPath' => $relativePath
453 if(COption::GetOptionString(
"fileman",
"log_page",
"Y")==
"Y")
462 $pathToEdit = $relativePath.($createNewFolder ?
"index.php" :
"");
463 if (!
$USER->CanDoFileOperation(
"fm_edit_existent_file", Array(
$site, $pathToEdit)))
473 if (
null != window.structReload && BX.type.isFunction(window.structReload))
475 structReload(
'<?=urlencode($pathToEdit)?>');
478 (
new BX.CEditorDialog({
479 content_url:
"/bitrix/admin/public_file_edit.php?<?=$_GET['subdialog'] == 'Y' ? "subdialog=Y
" : ""?>&bxpublic=Y&lang=<?=CUtil::JSEscape($lang)?>" +
"&path=<?=urlencode($pathToEdit)?>&site=<?=urlencode($site)?>&templateID=<?=urlencode($_REQUEST['templateID'])?>&back_url=<?=urlencode($relativePath)?>&edit_new_file_undo=<?= $ID?>",
489 if (isset($_GET[
'subdialog']) && $_GET[
'subdialog'] ==
'Y')
491 echo
"<script>structReload('".urlencode($pathToEdit).
"');</script>";
505if (CModule::IncludeModule(
"fileman") && is_callable(Array(
"CFileMan",
"GetPropstypes")))
510if (
$strWarning !=
"" && isset($_POST[
"PROPERTY"]) && is_array($_POST[
"PROPERTY"]))
513 foreach ($_POST[
"PROPERTY"] as $arProperty)
515 if (isset($arProperty[
"VALUE"]) && $arProperty[
"VALUE"] <>
'')
533 $tagPropertyCode = COption::GetOptionString(
"search",
"page_tag_property",
"tags");
571 <p><a href=
"/bitrix/admin/fileman_newfolder.php?lang=<?=urlencode($lang)?>&site=<?=urlencode($site)?>&path=<?=urlencode($path)?>&back_url=<?=urlencode($back_url)?>"><?=
GetMessage(
"PAGE_NEW_EDIT_IN_ADMIN")?></a></p>
573 <p><a href=
"/bitrix/admin/fileman_html_edit.php?lang=<?=urlencode($lang)?>&site=<?=urlencode($site)?>&path=<?=urlencode($path)?>&new=Y&back_url=<?=urlencode($back_url)?>"><?=
GetMessage(
"PAGE_NEW_EDIT_IN_ADMIN")?></a></p>
582<table
class=
"bx-width100" id=
"bx_new_page_common">
584 <td
class=
"bx-popup-label bx-width30"><?=
GetMessage(
"PAGE_NEW_PAGE_NAME")?>:</td>
585 <td><input type=
"text" style=
"width:90%;" id=
"bx_page_title" name=
"pageTitle" value=
"<?=htmlspecialcharsEx($pageTitle)?>"></td>
588 <td
class=
"bx-popup-label bx-width30"><?=
GetMessage(
"PAGE_NEW_FILENAME")?>:</td>
589 <td><input type=
"text" style=
"width:90%;" id=
"bx_new_page_name" name=
"fileName" value=
"<?=htmlspecialcharsEx($fileName)?>" onblur=
"BXCheckFileName(this, <?=($createNewFolder ? "true" : "false")?>);" onkeypress=
"BXCheckFileName(this, <?=($createNewFolder ? "true" : "false")?>);" onkeyup=
"BXCheckFileName(this, <?=($createNewFolder ? "true" : "false")?>);"><font
id=
"bx_error_text"></font>
591 <?
if (CModule::IncludeModule(
"fileman") && COption::GetOptionString(
"fileman",
"use_translit",
true))
593 include_once(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/fileman/classes/general/fileman_utils.php");
595 'fromInputId' =>
'bx_page_title',
596 'toInputId' =>
'bx_new_page_name',
609 <td
class=
"bx-popup-label bx-width30"></td>
610 <td><input type=
"checkbox" id=
"bx_edit_after_save" name=
"editAfterSave" value=
"Y" <?=(
$editAfterSave ?
"checked":
"")?>> <label
for=
"bx_edit_after_save"><?=
GetMessage(
"PAGE_NEW_EDIT_PAGE")?></label></td>
616 <td
class=
"bx-popup-label bx-width30"></td>
617 <td><input type=
"checkbox" id=
"bx_add_to_menu" name=
"addToMenu" value=
"Y" onclick=
"BXAddMenuStep(this.checked)" <?=(
$addToMenu ?
"checked" :
"")?>> <label
for=
"bx_add_to_menu"><?=
GetMessage(
"PAGE_NEW_ADD_MENU")?></label>
629 <td
class=
"bx-popup-label bx-width30"></td>
630 <td><input type=
"checkbox" id=
"bx_access_limit" name=
"limitAccess" value=
"Y" onclick=
"BXLimitAccess(this.checked)"> <label
for=
"bx_access_limit"><?=
GetMessage(
$createNewFolder ?
"PAGE_NEW_LIMIT_ACCESS_SEC" :
"PAGE_NEW_LIMIT_ACCESS_PAGE")?></label>
631 <div
id=
"bx_access_limit_row" style=
"display:none; margin: 4px 0 0 24px">
633 <?=
GetMessage(
"PAGE_NEW_LIMIT_ACCESS_LABLE_EX")?><br>
636 <div
style=
"margin-top:4px">
637 <input type=
"radio" name=
"limitAccessWho" value=
"editors" checked=
"checked" id=
"bx_acc_lim_who_editors" onclick=
"BXLimitAccessWho(this.checked);"/>
638 <label
for=
"bx_acc_lim_who_editors"><?=
GetMessage(
"PAGE_NEW_LIMIT_ACCESS_EDITORS")?> (<a href=
"/bitrix/admin/settings.php?lang=<?=LANGUAGE_ID?>&mid=fileman&tabControl_active_tab=edit3#limitaccess" target=
"_blank"><?echo
GetMessage(
"page_new_limit_settings")?></a>)</label>
641 <div
style=
"margin-top:2px">
642 <input type=
"radio" name=
"limitAccessWho" value=
"extended" id=
"bx_acc_lim_who_extended" onclick=
"BXLimitAccessWho(!this.checked);"/>
643 <label
for=
"bx_acc_lim_who_extended"><?=
GetMessage(
"PAGE_NEW_LIMIT_ACCESS_EXTENDED")?></label>
646 <input type=
"hidden" name=
"limitAccessWho" value=
"extended" />
648 <div
id=
"bx_acc_lim_group_list_row" style=
"display:<?=(!empty($arEditGroups)? "none
":"block
")?>; margin:4px 0 0 24px;">
649 <
select id=
"bx_acc_lim_group_list" name=
"limitGroupList[]" size=
"7" multiple=
"multiple">
657 <a href=
"/bitrix/admin/settings.php?lang=<?=LANGUAGE_ID?>&mid=fileman&tabControl_active_tab=edit3#limitaccess" target=
"_blank"><?echo
GetMessage(
"PAGE_NEW_EDITORS_DEF")?></a>
674<table
id=
"bx_new_page_menu" class=
"bx-width100" style=
"display:none;">
676 <td
class=
"bx-popup-label bx-width30"><?=
GetMessage(
"PAGE_NEW_MENU_NAME")?>:</td>
677 <td><input type=
"text" style=
"width:90%;" id=
"bx_menu_name" name=
"menuName" value=
"<?=htmlspecialcharsEx($menuName);?>"></td>
680 <td
class=
"bx-popup-label bx-width30"><?=
GetMessage(
"PAGE_NEW_MENU_TYPE")?>:</td>
682 <
select id=
"bx_menu_type" id=
"menuType" name=
"menuType" style=
"width:50%" onchange=
"BXChangeMenuType(this.options[this.selectedIndex].value, true)">
690 <td
class=
"bx-popup-label bx-width30" valign=
"top"><?=
GetMessage(
"PAGE_NEW_MENU_POSITION")?>:</td>
692 <
select name=
"menuItemPosition" id=
"bx_menu_items" style=
"width:50%"></
select><input type=
"hidden" id=
"bx_menu_position" value=
"<?=$menuItemPosition?>" />
703<table
id=
"bx_new_page_template" class=
"bx-width100" style=
"display:none;">
710<table
class=
"bx-width100" id=
"bx_new_page_prop" style=
"display:none;">
714 <table cellspacing=
"0">
716 <td><?=
GetMessage(
"PAGE_NEW_PROPERTIES")?></td>
717 <td
id=
"bx_page_prop_name">&
nbsp;</td>
729 <tr
style=
"height:30px;">
730 <td
class=
"bx-popup-label bx-width30"><?=(
743 <input type=
"hidden" name=
"PROPERTY[<?=$propertyIndex?>][CODE]" value=
"<?=htmlspecialcharsEx($propertyCode)?>" />
745 <div
id=
"bx_view_property_<?=$propertyIndex?>" style=
"overflow:hidden;padding:2px 12px 2px 2px; border:1px solid white; width:90%; cursor:text; box-sizing:border-box; -moz-box-sizing:border-box;background-color:transparent; background-position:right; background-repeat:no-repeat;" onclick=
"BXEditProperty(<?=$propertyIndex?>)" onmouseover=
"this.style.borderColor = '#434B50 #ADC0CF #ADC0CF #434B50';" onmouseout=
"this.style.borderColor = 'white'" class=
"edit-field"><?=
htmlspecialcharsEx($inheritValue)?></div>
747 <div
id=
"bx_edit_property_<?=$propertyIndex?>" style=
"display:none;"></div>
751 <input type=
"text" name=
"PROPERTY[<?=$propertyIndex?>][VALUE]" value=
"<?=htmlspecialcharsEx($propertyValue)?>" style=
"width:90%;"><input type=
"hidden" name=
"PROPERTY[<?=$propertyIndex?>][CODE]" value=
"<?=htmlspecialcharsEx($propertyCode)?>" />
765 <input type=
"hidden" name=
"PROPERTY[<?=$propertyIndex?>][CODE]" value=
"<?=htmlspecialcharsEx($propertyCode)?>" />
767 <div
id=
"bx_view_property_<?=$propertyIndex?>" style=
"overflow:hidden;padding:2px 12px 2px 2px; border:1px solid white; width:90%; cursor:text; box-sizing:border-box; -moz-box-sizing:border-box;background-color:transparent; background-position:right; background-repeat:no-repeat;" onclick=
"BXEditProperty(<?=$propertyIndex?>)" onmouseover=
"this.style.borderColor = '#434B50 #ADC0CF #ADC0CF #434B50'" onmouseout=
"this.style.borderColor = 'white'" class=
"edit-field"><?=
htmlspecialcharsEx(
$propertyValue)?></div>
769 <div
id=
"bx_edit_property_<?=$propertyIndex?>" style=
"display:none;"></div>
778 <tr
id=
"bx_user_property_<?=$propertyIndex?>">
779 <td
class=
"bx-popup-label bx-width30"><?=
htmlspecialcharsEx(mb_strtoupper($propertyCode))?><input type=
"hidden" name=
"PROPERTY[<?=$propertyIndex?>][CODE]" value=
"<?=htmlspecialcharsEx(mb_strtoupper($propertyCode))?>" />:</td>
780 <td><input type=
"text" name=
"PROPERTY[<?=$propertyIndex?>][VALUE]" value=
"<?=htmlspecialcharsEx($propertyValue)?>" style=
"width:90%;"></td>
790 <td colspan=
"2"><div
class=
"empty"></div></td>
794 <table cellspacing=
"0">
796 <td><?=
GetMessage(
"PAGE_NEW_TAGS_NAME")?></td>
797 <td
id=
"bx_page_tags">&
nbsp;</td>
803 <td
class=
"bx-popup-label bx-width30"><?=
GetMessage(
"PAGE_NEW_TAGS")?>:</td>
813<input type=
"hidden" name=
"save" value=
"Y" />
818<input name=
"btn_popup_prev" id=
"btn_popup_prev" type=
"button" value=
"<?=GetMessage("PAGE_NEW_BUTTON_PREV
")?>" title=
"<?=GetMessage("PAGE_NEW_BUTTON_PREV
")?>" />
819<input name=
"btn_popup_next" id=
"btn_popup_next" type=
"button" value=
"<?=GetMessage("PAGE_NEW_BUTTON_NEXT
")?>" title=
"<?=GetMessage("PAGE_NEW_BUTTON_NEXT
")?>" />
820<input name=
"btn_popup_finish" id=
"btn_popup_finish" type=
"button" value=
"<?=GetMessage("PAGE_NEW_BUTTON_FINISH
")?>" title=
"<?=GetMessage("PAGE_NEW_BUTTON_FINISH
")?>" />
821&
nbsp;&
nbsp;&
nbsp;&
nbsp;<input name=
"btn_popup_close" type=
"button" value=
"<?=GetMessage("PAGE_NEW_BUTTON_CANCEL
")?>" onclick=
"<?=$popupWindow->jsPopup?>.CloseDialog()" title=
"<?=GetMessage("PAGE_NEW_BUTTON_CANCEL
")?>" />
827var bxMenuType = <?= Json::encode(
$arMenu) ?>;
829window.BXChangeMenuType =
function(menuType, onChange)
831 if (!bxMenuType[menuType])
834 var menuItems = BX(
"bx_menu_items");
838 menuItems.options.length = 0;
841 var selectDocument = menuItems.ownerDocument;
843 selectDocument = menuItems.document;
845 for (var itemPosition = 0, length = bxMenuType[menuType][
"ITEMS"].length; itemPosition < length; itemPosition++)
847 var option = selectDocument.createElement(
"OPTION");
848 option.text = bxMenuType[menuType][
"ITEMS"][itemPosition];
849 option.value = itemPosition;
850 menuItems.options.add(option);
853 option = selectDocument.createElement(
"OPTION");
854 option.text =
"<?=GetMessage("PAGE_NEW_NEW_ITEM
")?>";
855 option.value = itemPosition;
856 menuItems.options.add(option);
858 var menuItemPosition = BX(
"bx_menu_position");
859 if ( (onChange && onChange ==
true) || (menuItemPosition && menuItemPosition.value < 0) )
860 menuItems.selectedIndex = menuItems.options.length - 1;
861 else if (menuItemPosition)
862 menuItems.selectedIndex = menuItemPosition.value;
865window.BXFirstStepShow =
function(wizard)
867 var addToMenu = BX(
"bx_add_to_menu");
871 if(addToMenu && addToMenu.checked || bTemplateWiz)
872 wizard.SetButtonDisabled(
"finish",
true);
874 wizard.SetButtonDisabled(
"next",
true);
877window.BXFirstStepNext =
function(wizard)
879 var addToMenu = BX(
"bx_add_to_menu");
883 if (!addToMenu || !addToMenu.checked)
885 wizard.SetCurrentStep(
"bx_new_page_menu");
888 wizard.SetCurrentStep(
"bx_new_page_template");
894 var menuName = BX(
"bx_menu_name");
895 var pageTitle = BX(
"bx_page_title");
897 if (!menuName || !pageTitle)
900 if (menuName.value ==
"" || menuName.disabled)
901 menuName.value = pageTitle.value;
904window.BXMenuStepShow =
function(wizard)
910 wizard.SetButtonDisabled(
"finish",
true);
912 if(!bProp && !bTemplateWiz)
913 window.bxNewPageWizard.SetButtonDisabled(
"next",
true);
916window.BXMenuStepNext =
function(wizard)
921 wizard.SetCurrentStep(
"bx_new_page_template");
924window.BXTemplateStepShow =
function(wizard)
929 window.bxNewPageWizard.SetButtonDisabled(
"next",
true);
932window.BXTemplateStepPrev =
function(wizard)
934 var addToMenu = BX(
"bx_add_to_menu");
936 if (!addToMenu || !addToMenu.checked)
937 wizard.SetCurrentStep(
"bx_new_page_menu");
940window.BXPropStepPrev =
function(wizard)
942 var addToMenu = BX(
"bx_add_to_menu");
947 wizard.SetCurrentStep(
"bx_new_page_template");
949 if (!addToMenu || !addToMenu.checked)
950 wizard.SetCurrentStep(
"bx_new_page_menu");
954window.BXAddMenuStep =
function(addStep)
958 var menuType = BX(
"bx_menu_type");
960 BXChangeMenuType(menuType.options[menuType.selectedIndex].value);
962 if (window.bxNewPageWizard)
964 window.bxNewPageWizard.SetButtonDisabled(
"finish",
true);
965 window.bxNewPageWizard.SetButtonDisabled(
"next",
false);
970 if (window.bxNewPageWizard)
976 window.bxNewPageWizard.SetButtonDisabled(
"finish",
false);
978 if(!bProp && !bTemplateWiz)
979 window.bxNewPageWizard.SetButtonDisabled(
"next",
true);
984BXAddMenuStep(<?=(
$addToMenu ?
"true" :
"false")?>);
986window.BXCheckFileName =
function(input, createNewFolder)
988 var onSaveCheck =
false;
991 input = BX(
"bx_new_page_name");
998 var fileName = input.value;
999 var errorBox = BX(
"bx_error_text");
1000 var validSymbols = /[\0\\\/:*?\
"\'<>|]/;
1002 var phpExtension = /\.php$/;
1004 function SetError(errorText)
1006 input.style.color = "red
";
1009 errorBox.style.display = "block
";
1010 errorBox.innerHTML = errorText;
1011 errorBox.className = "errortext
";
1015 if (onSaveCheck && fileName == "")
1017 SetError("<?=
GetMessage(
"PAGE_NEW_FILE_NAME_EMPTY")?>
");
1020<?if(!$createNewFolder):?>
1021 else if (!createNewFolder && fileName != "" && fileName.substr(0,1) == ".
")
1023 SetError("<?=
GetMessage(
"PAGE_NEW_FILE_NAME_DOT_FIRST")?>
");
1027 else if (fileName != "" && validSymbols.test(fileName))
1029 SetError("<?=
GetMessage(
"PAGE_NEW_FILE_NAME_VALID_SYMBOLS")?>
");
1034 input.style.color = "";
1037 errorBox.style.display = "none
";
1038 errorBox.innerHTML = "";
1039 errorBox.style.color = "";
static GetTemplate($template, $arSiteTemplates=array())
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
URL bitrix admin public_access_edit php subdialog
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( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)