Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/fileman/admin/ |
Upload File : |
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/prolog.php"); require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/condition.php"); if(!$USER->CanDoOperation('fileman_edit_menu_elements')) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/include.php"); IncludeModuleLangFile(__FILE__); $logical = $logical ?? null; $addUrl = 'lang='.LANGUAGE_ID.($logical == "Y"?'&logical=Y':''); $extended = $extended ?? null; if(($extended=="Y" || $extended=="N") && $extended != (${COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_menumode"} ?? null)) setcookie(COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_menumode", $extended, time()+60*60*24*30*60 ,'/'); else $extended = ${COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_menumode"} ?? null; $strWarning = ""; $menufilename = ""; $io = CBXVirtualIo::GetInstance(); $path = $io->CombinePath("/", $path); $dbSitesList = CSite::GetList("lendir", "desc"); $multiSite = false; $docRoot = $dbSitesList->Fetch(); $docRoot = $docRoot['DOC_ROOT']; while($arSite = $dbSitesList->GetNext()) { if($arSite['DOC_ROOT'] == '' || $arSite['DOC_ROOT'] == $docRoot) { $docRoot = $arSite['DOC_ROOT']; continue; } $multiSite = true; break; } reset($dbSitesList->arResult); if($multiSite) { while($arSite = $dbSitesList->GetNext()) { $dir = rtrim($arSite["DIR"], "/"); if (mb_substr($path, 0, mb_strlen($dir)) == $dir && $arSite["DOC_ROOT"] == CSite::GetSiteDocRoot($site)) { $site = $arSite["ID"]; break; } } } else { while($arSite = $dbSitesList->GetNext()) { $dir = rtrim($arSite["DIR"], "/"); if (mb_substr($path, 0, mb_strlen($dir)) == $dir) { $site = $arSite["ID"]; break; } } } $site = CFileMan::__CheckSite($site); $DOC_ROOT = CSite::GetSiteDocRoot($site); $arParsedPath = CFileMan::ParsePath(Array($site, $path), true, false, "", $logical == "Y"); $menufilename = $path; $name = preg_replace("/[^a-z0-9_]/i", "", ($_REQUEST["name"] ?? '')); $bExists = false; $arTypes = Array(); $armt = GetMenuTypes($site, "left=".GetMessage("FILEMAN_MENU_EDIT_LEFT_MENU").",top=".GetMessage("FILEMAN_MENU_EDIT_TOP_MENU")); foreach($armt as $key => $title) { if(!$USER->CanDoFileOperation('fm_edit_existent_file', Array($site, $path."/.".$key.".menu.php"))) continue; $arTypes[] = array($key, $title); if($key == $name) $bExists = true; } if(!$bExists) { $arTypes[] = array($name, $name); } if($name <> '') $menufilename = $path."/.".$name.".menu.php"; $abs_path = $DOC_ROOT.$menufilename; $new = $new ?? null; if($io->FileExists($abs_path) && $new == '') $bEdit = true; else $bEdit = false; if($extended=="Y") $bSimple = false; else $bSimple = true; $arPath_m = Array($site, $menufilename); $only_edit = (!$USER->CanDoOperation('fileman_add_element_to_menu') || !$USER->CanDoFileOperation('fm_create_new_file',$arPath_m)); // Check access to folder $back_url = $back_url ?? null; $aMenuLinksTmp = $aMenuLinksTmp ?? null; $template = $template ?? null; if(!$USER->CanDoOperation('fileman_edit_existent_files') || !$USER->CanDoFileOperation('fm_edit_existent_file', $arPath_m) || (!$bEdit && $only_edit)) $strWarning = GetMessage("ACCESS_DENIED"); else { if($_SERVER['REQUEST_METHOD']=="POST" && $save <> '' && is_array($ids) && check_bitrix_sessid()) { $sMenuTemplateTmp = ""; if($template <> '' && $template!=GetMessage("FILEMAN_MENU_EDIT_DEF")) $sMenuTemplateTmp = Rel2Abs("/", $template); $res = CFileMan::GetMenuArray($abs_path); if($bSimple) { $aMenuLinksTmp = $res["aMenuLinks"]; $sMenuTemplateTmp = $res["sMenuTemplate"]; } else { $aMenuLinksTmp = $res["aMenuLinks"]; $aMenuLinksTmp_ = Array(); } //соберем $aMenuLinksTmp из того что пришло с формы $aMenuSort = Array(); for($i = 0, $l = count($ids); $i < $l; $i++) { $num = $ids[$i]; if (!isset($aMenuLinksTmp[$num-1]) && $only_edit) continue; if($bSimple) { if(((${"del_".$num} ?? null)=="Y" || ((${"text_".$num} ?? null) == '' && (${"link_".$num} ?? null) == '')) && !$only_edit) { unset($aMenuLinksTmp[$num-1]); continue; } $aMenuLinksTmp[$num-1][0] = ${"text_".$num}; $aMenuLinksTmp[$num-1][1] = ${"link_".$num}; } else { if ((${"del_".$num} ?? null) == "Y" && !$only_edit) continue; $aMenuItem = Array(${"text_".$num}, ${"link_".$num}); $arAddLinks = Array(); $additional_link = ${"additional_link_".$num}; $arAddLinksTmp = explode("\n", $additional_link); for($j = 0, $m = count($arAddLinksTmp); $j < $m; $j++) { if(trim($arAddLinksTmp[$j]) <> '') $arAddLinks[] = trim($arAddLinksTmp[$j]); } $aMenuItem[] = $arAddLinks; $arParams = Array(); $param_cnt = intval(${"param_cnt_".$num}); for($j=1; $j<=intval($param_cnt); $j++) { $param_name = trim(${"param_name_".$num."_".$j}); $param_value = trim(${"param_value_".$num."_".$j}); if($param_name <> '' || $param_value <> '') $arParams[$param_name]=$param_value; } $aMenuItem[] = $arParams; if ($USER->CanDoOperation('edit_php') || $_REQUEST['selected_type'][$num] != 'php') $aMenuItem[] = ConditionCompose(${"condition_$num"}, $num); else $aMenuItem[] = $res["aMenuLinks"][$num-1][4]; $aMenuLinksTmp_[] = $aMenuItem; } $aMenuSort[] = intval(${"sort_".$num}); } if(!$bSimple) $aMenuLinksTmp = $aMenuLinksTmp_; for($i = 0, $l = count($aMenuSort)-1; $i < $l; $i++) for($j = $i + 1, $len = count($aMenuSort); $j < $len; $j++) if($aMenuSort[$i]>$aMenuSort[$j]) { $tmpSort = $aMenuLinksTmp[$i]; $aMenuLinksTmp[$i] = $aMenuLinksTmp[$j]; $aMenuLinksTmp[$j] = $tmpSort; $tmpSort = $aMenuSort[$i]; $aMenuSort[$i] = $aMenuSort[$j]; $aMenuSort[$j] = $tmpSort; } //теперь $aMenuLinksTmp прямо в таком готовом виде, что хоть меню рисуй :-) } if($_SERVER['REQUEST_METHOD']=="POST" && $save <> '' && $name == '' && check_bitrix_sessid()) { $strWarning = GetMessage("FILEMAN_MENU_EDIT_ENTER_TYPE"); } elseif($new <> '' && $name <> '' && $io->FileExists($abs_path) && check_bitrix_sessid()) { $strWarning = GetMessage("FILEMAN_MENU_EDIT_EXISTS_ERROR"); $bEdit = false; $abs_path = $DOC_ROOT.$path; } if($strWarning == '') { if($_SERVER['REQUEST_METHOD']=="POST" && $save <> '' && is_array($ids) && check_bitrix_sessid()) { CFileMan::SaveMenu(Array($site, $menufilename), $aMenuLinksTmp, $sMenuTemplateTmp); $bEdit = true; $module_id = "fileman"; if(COption::GetOptionString($module_id, "log_menu", "Y")=="Y") { $mt = COption::GetOptionString("fileman", "menutypes", ($default_value ?? ''), $site); $mt = unserialize(str_replace("\\", "", $mt), ['allowed_classes' => false]); $res_log['menu_name'] = $mt[$name]; $res_log['path'] = mb_substr($path, 1); if ($new == '') CEventLog::Log( "content", "MENU_EDIT", "fileman", "", serialize($res_log) ); else CEventLog::Log( "content", "MENU_ADD", "fileman", "", serialize($res_log) ); } if($apply == '') { if($back_url <> '') LocalRedirect("/".ltrim($back_url, "/")); else LocalRedirect("/bitrix/admin/fileman_admin.php?".$addUrl."&site=".$site."&path=".UrlEncode($path)); } else LocalRedirect("/bitrix/admin/fileman_menu_edit.php?".$addUrl."&site=".$site."&path=".UrlEncode($path)."&name=".$name); } } } if($bEdit) $APPLICATION->SetTitle(GetMessage("FILEMAN_MENU_EDIT_TITLE")); else $APPLICATION->SetTitle(GetMessage("FILEMAN_MENU_EDIT_TITLE_ADD")); foreach ($arParsedPath["AR_PATH"] as $chainLevel) { $adminChain->AddItem( array( "TEXT" => htmlspecialcharsex($chainLevel["TITLE"]), "LINK" => (($chainLevel["LINK"] <> '') ? $chainLevel["LINK"] : ""), ) ); } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); $aMenu = array( array( "TEXT" => GetMessage("FILEMAN_BACK"), "LINK" => "fileman_admin.php?".$addUrl."&site=".$site."&path=".UrlEncode($path) ) ); if($strWarning == ''): $aMenu[] = array("SEPARATOR"=>"Y"); if ($bSimple) { $aMenu[] = array( "TEXT" => GetMessage("FILEMAN_MENU_EDIT_EXT"), "LINK" => "fileman_menu_edit.php?path=".UrlEncode($path ?? '')."&site=".$site."&".$addUrl."&".($bEdit ? "name=".$name : "new=y")."&extended=Y&back_url=".urlencode($back_url ?? '') ); } else { $aMenu[] = array( "TEXT" => GetMessage("FILEMAN_MENU_EDIT_SIMPLE"), "LINK" => "fileman_menu_edit.php?path=".UrlEncode($path ?? '')."&site=".$site."&".$addUrl."&".($bEdit ? "name=".$name : "new=y")."&extended=N&back_url=".urlencode($back_url ?? '') ); } if ($bEdit && !$only_edit) { if ($USER->CanDoOperation('edit_php')) { $aMenu[] = array("SEPARATOR"=>"Y"); $aMenu[] = array( "TEXT" => GetMessage("FILEMAN_MENU_EDIT_AS_TEXT"), "LINK" => "fileman_file_edit.php?path=".UrlEncode($path."/.".$name.".menu.php")."&site=".$site."&full_src=Y&".$addUrl ); } $aMenu[] = array("SEPARATOR"=>"Y"); $aMenu[] = array( "TEXT" => GetMessage("FILEMAN_MENU_EDIT_DELETE"), "LINK" => "javascript:if(confirm('".GetMessage("FILEMAN_DEL_CONF")."')) window.location='fileman_admin.php?path=".UrlEncode($path)."&action=delete&ID[]=".UrlEncode(".".$name.".menu.php")."&".$addUrl."&".bitrix_sessid_get()."#tb';", "WARNING" => "Y" ); } $context = new CAdminContextMenu($aMenu); $context->Show(); $number_new_params = COption::GetOptionInt("fileman", "num_menu_param", 1, $site); ?> <?endif;?> <?CAdminMessage::ShowMessage($strWarning);?> <?if($strWarning == ''):?> <?if($USER->CanDoFileOperation('fm_edit_existent_file',$arPath_m)):?> <? CAdminCalendar::ShowScript() ?> <? ob_start(); ?> <tr> <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_CONDITION_TYPE")?></td> <td valign="top"> <? // NOTE: tmp_menu_item_id - will be replaced by real menu item index ConditionJS(array('enable_false'=>true)); ConditionParse(); ConditionSelect("tmp_menu_item_id"); ?> </tr> <tr> <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_CONDITION")?></td> <td valign="top"><?ConditionShow(array("i" => "tmp_menu_item_id","field_name" => "condition_tmp_menu_item_id","form" => "fmenu"));?> </tr> <? $cond_str = ob_get_contents(); $cond_str = CUtil::JSEscape($cond_str); ob_end_clean(); ?> <script> function AddMenuItem(ob) { var f = document.fmenu, tbl = document.getElementById("t"), row = ob.parentNode.parentNode, curnum = parseInt(row.id), srt = 10; if(document.fmenu["sort_"+curnum]) srt = parseInt(document.fmenu["sort_"+curnum].value) + 10; for(var i=1; i<=f.itemcnt.value; i++) { var s = document.fmenu["sort_"+i]; if(s) { s = parseInt(s.value); if(s>=srt) document.fmenu["sort_"+i].value = s + 10; } } var num = row.rowIndex / 2; var nums = parseInt(f.itemcnt.value) + 1; var oRow = tbl.insertRow(num * 2 + 1); var oCell = oRow.insertCell(-1); oRow.id = nums; oCell.className = ''; oCell.align='right'; oCell.colSpan="2"; oCell.innerHTML = '<input type="button" onClick="AddMenuItem(this)" value="<?=GetMessage("FILEMAN_MENU_EDIT_ADD_ITEM")?>">'; oRow = tbl.insertRow(num * 2 + 1); oRow.className = ''; oRow.vAlign = "top"; var cond_str = '<?= $cond_str?>'; cond_str = cond_str.replace(/tmp_menu_item_id/ig, nums); var code = [], start, end, i, cnt; while((start = cond_str.indexOf('<' + 'script>')) != -1) { var end = cond_str.indexOf('</' + 'script>', start); if(end == -1) break; code[code.length] = cond_str.substr(start + 8, end - start - 8); cond_str = cond_str.substr(0, start) + cond_str.substr(end + 9); } for(var i = 0, cnt = code.length; i < cnt; i++) if(code[i] != '') jsUtils.EvalGlobal(code[i]); oCell = oRow.insertCell(-1); oCell.width="50%"; oCell.innerHTML = '<input type="hidden" name="ids[]" value="'+nums+'">'+ '<table cellpadding="1" cellspacing="0" border="0" width="100%"> '+ '<tr>'+ ' <td valign="top" align="right" width="0%"><?=GetMessage("FILEMAN_MENU_EDIT_NAME")?></td>'+ ' <td valign="top" width="100%"><input type="text" size="20" name="text_'+nums+'" value="<?=htmlspecialcharsex(($aMenuLinksItem[0] ?? null))?>"></td>'+ '</tr>'+ '<tr>'+ ' <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_LINK")?>:</td>'+ ' <td valign="top"><input type="text" size="20" name="link_'+nums+'" value=""></td>'+ '</tr>'+ '<tr>'+ ' <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_SORT")?>:</td>'+ ' <td valign="top"><input type="text" size="5" name="sort_'+nums+'" value="'+srt+'"></td>'+ '</tr>'+ '<tr>'+ ' <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_DEL")?></td>'+ ' <td valign="top" align="left"><input type="checkbox" name="del_'+nums+'" value="Y"></td>'+ '</tr>'+ '</table>'; oCell = oRow.insertCell(-1); oCell.width="50%"; oCell.innerHTML = '<table>'+ '<tr>'+ ' <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_ADDITIONAL_LINK")?></td>'+ ' <td valign="top"><textarea rows="3" cols="30" name="additional_link_'+nums+'" WRAP="off"></textarea></td>'+ '</tr>'+ cond_str + <?if($number_new_params>0):?> '<tr>'+ ' <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_PARAMS")?></td>'+ ' <td nowrap valign="top">'+ ' <table cellpadding="0" cellspacing="1" border="0">'+ ' <tr>'+ ' <td align="center"><?=GetMessage("FILEMAN_MENU_EDIT_PARAM_NAME")?></td><td></td>'+ ' <td align="center"><?=GetMessage("FILEMAN_MENU_EDIT_PARAM_VALUE")?></td>'+ ' </tr>'+ <?for($k = 0; $k < $number_new_params; $k++):?> ' <tr>'+ ' <td nowrap><input type="text" size="15" name="param_name_' + nums+'_<?= $k+1?>" value=""></td><td>=</td>'+ ' <td><input type="text" size="25" name="param_value_'+nums+'_<?= $k+1?>" value=""></td>'+ ' </tr>'+ <?endfor?> ' </table>'+ ' <input type="hidden" name="param_cnt_'+nums+'" value="<?= $k+1?>">'+ ' </td>'+ '</tr>'+ <?endif?> '</table>'; f.itemcnt.value = nums; } </script> <form method="POST" action="<?= $APPLICATION->GetCurPage()?>?" name="fmenu"> <input type="hidden" name="logical" value="<?=htmlspecialcharsex($logical)?>"> <?echo GetFilterHiddens("filter_");?> <input type="hidden" name="site" value="<?= htmlspecialcharsex($site) ?>"> <input type="hidden" name="path" value="<?= htmlspecialcharsex($path) ?>"> <input type="hidden" name="lang" value="<?= LANG ?>"> <input type="hidden" name="extended" value="<?= ($bSimple ? "N" : "Y") ?>"> <input type="hidden" name="save" value="Y"> <input type="hidden" name="back_url" value="<?= htmlspecialcharsex($back_url)?>"> <?if(!$bEdit):?><input type="hidden" name="new" value="Y"><?endif?> <?=bitrix_sessid_post()?> <? $aTabs = array( array("DIV" => "edit1", "TAB" => GetMessage("FILEMAN_TAB1"), "ICON" => "fileman", "TITLE" => GetMessage("FILEMAN_TAB1_ALT")), ); $tabControl = new CAdminTabControl("tabControl", $aTabs); $tabControl->Begin(); ?> <? $tabControl->BeginNextTab(); ?> <? if($bEdit && $strWarning == '') { $res = CFileMan::GetMenuArray($abs_path); $aMenuLinksTmp = $res["aMenuLinks"]; $sMenuTemplateTmp = $res["sMenuTemplate"]; } if(!is_array($aMenuLinksTmp)) $aMenuLinksTmp = Array(); ?> <tr> <td><?=GetMessage("FILEMAN_MENU_EDIT_TYPE")?></td> <td> <script> function ChType(ob) { window.location = "<?echo $APPLICATION->GetCurPage()?>?lang=<?=LANG?>&site=<?=$site?>&path=<?=htmlspecialcharsex(addslashes($path))?><?if($back_url <> '')echo "&back_url=".URlEncode($back_url);?>&name="+ob[ob.selectedIndex].value; } </script> <select name="name" onChange="ChType(this)"> <? $bExists=false; for($i = 0, $l = count($arTypes); $i < $l; $i++) { $t = $arTypes[$i]; ?><option value="<?= htmlspecialcharsex($t[0])?>"<?if($name == $t[0]){$bExists=true; echo " selected";}?>> <?= htmlspecialcharsex("[".$t[0]."] ".$t[1])?> </option><? } ?> </select> </td> </tr> <?if(!$bSimple):?> <tr> <td><?=GetMessage("FILEMAN_MENU_EDIT_TEMPLATE")?></td> <td> <input type="text" name="template" size="50" maxlength="255" value="<?if(($sMenuTemplateTmp ?? '') <> '') echo htmlspecialcharsex($sMenuTemplateTmp); else echo GetMessage("FILEMAN_MENU_EDIT_DEF");?>" OnFocus="if(this.value=='<?=GetMessage("FILEMAN_MENU_EDIT_DEF")?>')this.value=''" onfocusout="if(this.value=='')this.value='<?=GetMessage("FILEMAN_MENU_EDIT_DEF")?>';"> </td> </tr> <?endif//if(!$bSimple):?> <tr> <td colspan="2"> <? if($bSimple):?> <table border="0" cellpadding="2" cellspacing="1" width="100%" class="internal"> <tr class="heading"> <td align="center"><?=GetMessage("FILEMAN_MENU_EDIT_PARAM_NAME")?></td> <td align="center"><?=GetMessage("FILEMAN_MENU_EDIT_LINK")?></td> <td align="center"><?=GetMessage("FILEMAN_MENU_EDIT_SORT")?></td> <td align="center"><?=GetMessage("FILEMAN_MENU_EDIT_DEL")?></td> </tr> <? $itemcnt = 0; for($i = 1, $l = count($aMenuLinksTmp)+5; $i <= $l; $i++): $itemcnt++; if($i<=count($aMenuLinksTmp)) $aMenuLinksItem = $aMenuLinksTmp[$i-1]; elseif($only_edit) continue; else $aMenuLinksItem = Array(); ?> <input type="hidden" name="ids[]" value="<?=$i?>"> <tr> <td align="center"><input type="text" size="30" name="text_<?= $i?>" value="<?= htmlspecialcharsex(($aMenuLinksItem[0] ?? null))?>"></td> <td align="center"><input type="text" size="35" name="link_<?= $i?>" value="<?= htmlspecialcharsex(($aMenuLinksItem[1] ?? null))?>"></td> <td align="center"><input type="text" size="4" name="sort_<?= $i?>" value="<?= $i*10?>"></td> <td align="center"> <?if($i<=count($aMenuLinksTmp)):?> <input type="checkbox" name="del_<?= $i?>" value="Y"> <?else:?> <?endif?> </td> </tr> <?endfor?> <input type="hidden" name="itemcnt" value="<?= $itemcnt?>"> </table> <?else:?> <?ConditionJS(array('enable_false'=>true));?> <table border="0" cellpadding="2" cellspacing="1" width="100%" id="t" class="internal"> <tr class="heading"> <td valign="top" colspan="2"><?=GetMessage("FILEMAN_MENU_EDIT_ITEMS")?></td> </tr> <?if(!$only_edit):?> <tr id="0"> <td colspan="2"><input type="button" onClick="AddMenuItem(this)" value="<?=GetMessage("FILEMAN_MENU_EDIT_ADD_ITEM")?>"></td> </tr> <?endif;?> <? $itemcnt = 0; for($i = 1, $l = count($aMenuLinksTmp); $i <= $l; $i++): $itemcnt++; $aMenuLinksItem = $aMenuLinksTmp[$i-1]; ?> <input type="hidden" name="ids[]" value="<?= $i?>"> <tr> <td valign="top" width="50%"> <table cellpadding="1" cellspacing="0" border="0" width="100%"> <tr> <td valign="top" align="right" width="0%"><?=GetMessage("FILEMAN_MENU_EDIT_NAME")?></td> <td valign="top" width="100%"><input type="text" size="20" name="text_<?= $i?>" value="<?= htmlspecialcharsex(($aMenuLinksItem[0] ?? null))?>"></td> </tr> <tr> <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_LINK")?>:</td> <td valign="top"><input type="text" size="20" name="link_<?= $i?>" value="<?= htmlspecialcharsex(($aMenuLinksItem[1] ?? null))?>"></td> </tr> <tr> <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_SORT")?>:</td> <td valign="top"><input type="text" size="5" name="sort_<?= $i?>" value="<?= $i*10?>"></td> </tr> <tr> <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_DEL")?></td> <td valign="top" align="left"><input type="checkbox" name="del_<?= $i?>" value="Y"></td> </tr> </table> </td> <td valign="top" width="50%"> <table> <tr> <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_ADDITIONAL_LINK")?></td> <td valign="top"><textarea rows="3" cols="30" name="additional_link_<?= $i?>" WRAP="off"><?for($j=0, $m=count(($aMenuLinksItem[2] ?? [])); $j<$m; $j++)echo htmlspecialcharsex(($aMenuLinksItem[2] ?? null)[$j])."\n"?></textarea></td> </tr> <tr> <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_CONDITION_TYPE")?></td> <td valign="top"> <?ConditionParse(($aMenuLinksItem[4] ?? null)); ConditionSelect($i);?> </tr> <tr> <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_CONDITION")?></td> <td valign="top"><?ConditionShow(array("i" => $i, "field_name" => "condition_$i", "form" => "fmenu"));?> </tr> <?if($number_new_params>0 || count(($aMenuLinksItem[3] ?? null))>0):?> <tr> <td valign="top" align="right"><?=GetMessage("FILEMAN_MENU_EDIT_PARAMS")?></td> <td nowrap valign="top"> <table cellpadding="0" cellspacing="1" border="0"> <tr> <td align="center"><?=GetMessage("FILEMAN_MENU_EDIT_PARAM_NAME")?></td> <td align="center"><?=GetMessage("FILEMAN_MENU_EDIT_PARAM_VALUE")?></td> </tr> <? $j=0; if(is_array(($aMenuLinksItem[3] ?? null))): foreach(($aMenuLinksItem[3] ?? null) as $key=>$value): $j++; ?> <tr> <td nowrap><input type="text" size="15" name="param_name_<?= $i?>_<?= $j?>" value="<?= htmlspecialcharsex($key)?>">=</td> <td><input type="text" size="25" name="param_value_<?= $i?>_<?=$j?>" value="<?= htmlspecialcharsex($value)?>"></td> </tr> <? endforeach; endif; for($k=0; $k<$number_new_params; $k++): $j++; ?> <tr> <td nowrap><input type="text" size="15" name="param_name_<?= $i?>_<?=$j?>" value=""> =</td> <td><input type="text" size="25" name="param_value_<?= $i?>_<?=$j?>" value=""></td> </tr> <?endfor?> </table> <input type="hidden" name="param_cnt_<?= $i?>" value="<?=$j?>"> </td> </tr> <?endif;//if($number_new_params>0 || count(($aMenuLinksItem[3] ?? null))>0):?> </table> </td> </tr> <?if(!$only_edit):?> <tr id="<?= $i?>"> <td align="right" colspan="2"><input type="button" onClick="AddMenuItem(this)" value="<?=GetMessage("FILEMAN_MENU_EDIT_ADD_ITEM")?>"></td> </tr> <?endif;?> <?endfor?> <input type="hidden" name="itemcnt" value="<?= $itemcnt?>"> <input type="hidden" name="extended" value="Y"> </table> <?endif//if($bSimple):?> </td> </tr> <?$tabControl->EndTab();?> <? $tabControl->Buttons( array( "disabled" => false, "back_url" => (($back_url <> '' && mb_strpos($back_url, "/bitrix/admin/fileman_menu_edit.php") !== 0) ? htmlspecialcharsex($back_url) : "/bitrix/admin/fileman_admin.php?".$addUrl."&site=".Urlencode($site)."&path=".UrlEncode($arParsedPath["FULL"])) ) ); ?> <?$tabControl->End();?> </form> <?endif?> <?= BeginNote();?> <span class="required"><sup>1</sup></span> - <?=GetMessage("MAIN_PERIOD_NOTE")?> <?= EndNote();?> <?endif?> <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");?>