require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/prolog.php"); if (!($USER->CanDoOperation('fileman_admin_files') || $USER->CanDoOperation('fileman_edit_existent_files') || $USER->CanDoOperation('fileman_view_file_structure'))) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/include.php"); IncludeModuleLangFile(__FILE__); $addUrl = 'lang='.LANGUAGE_ID.($logical == "Y"?'&logical=Y':''); $strWarning = ""; $site = CFileMan::__CheckSite($site); $DOC_ROOT = CSite::GetSiteDocRoot($site); $io = CBXVirtualIo::GetInstance(); if (CUtil::DetectUTF8($path)) CUtil::decodeURIComponent($path); $path = $io->CombinePath("/", $path); $arParsedPath = CFileMan::ParsePath(Array($site, $path), false, false, "", $logical == "Y"); $abs_path = $DOC_ROOT.$path; $arPath = Array($site, $path); $APPLICATION->SetTitle(GetMessage("FILEMAN_FILEVIEW_TITLE")." \"".$arParsedPath["LAST"]."\""); if(count($arParsedPath["AR_PATH"]) == 1) { $adminChain->AddItem( array( "TEXT" => htmlspecialcharsex($DOC_ROOT), "LINK" => "fileman_admin.php?lang=".LANGUAGE_ID."&site=".urlencode($site)."&path=/" ) ); } 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"); //Check access to file if(!$USER->CanDoFileOperation('fm_view_file', $arPath)) $strWarning = GetMessage("ACCESS_DENIED"); else if(!$io->FileExists($abs_path)) $strWarning = GetMessage("FILEMAN_FILENOT_FOUND"); elseif(!($USER->CanDoOperation('edit_php') || $USER->CanDoFileOperation('fm_lpa', $arPath)) && (HasScriptExtension($path) || mb_substr(CFileman::GetFileName($path), 0, 1) == ".")) $strWarning = GetMessage("FILEMAN_FILEVIEW_PHPERROR"); $limit_php_access = ($USER->CanDoFileOperation('fm_lpa',$arPath) && !$USER->CanDoOperation('edit_php')); $fileType = CFileMan::GetFileTypeEx($path); $fileTypeParent = $arFilemanPredifinedFileTypes[CFileMan::GetFileTypeEx($path)]["gtype"]; ?> $aMenu = Array(); if($fileTypeParent == "text") { if($USER->CanDoOperation('fileman_edit_existent_files') && $USER->CanDoFileOperation('fm_edit_existent_file',$arPath)) { $aDDMenuEdit = array(); $aDDMenuEdit[] = array( "TEXT" => GetMessage("FILEMAN_FILEVIEW_EDIT_AS_TEXT"), "ACTION" => "window.location='fileman_file_edit.php?".$addUrl."&site=".urlencode($site)."&path=".urlencode($path)."';", ); if($USER->CanDoOperation('edit_php')) { $aDDMenuEdit[] = array( "TEXT" => GetMessage("FILEMAN_FILEVIEW_EDIT_AS_PHP"), "ACTION" => "window.location='fileman_file_edit.php?".$addUrl."&site=".urlencode($site)."&path=".urlencode($path)."&full_src=Y';" ); } $aDDMenuEdit[] = array( "TEXT" => GetMessage("FILEMAN_FILEVIEW_EDIT_AS_HTML"), "ACTION" => "window.location='fileman_html_edit.php?".$addUrl."&site=".urlencode($site)."&path=".urlencode($path)."';" ); $aMenu[] = array( "TEXT" => GetMessage("FILEMAN_FILE_EDIT"), "TITLE" => GetMessage("FILEMAN_FILE_EDIT"), "MENU" => $aDDMenuEdit, //"ICON" => "btn_edit" ); } } if(($USER->CanDoFileOperation('fm_download_file', $arPath) && !(HasScriptExtension($path) || mb_substr(CFileman::GetFileName($path), 0, 1) == ".")) || $USER->CanDoOperation('edit_php')) { $aMenu[] = array( "TEXT" => GetMessage("FILEMAN_FILEVIEW_DOWNLOAD"), "LINK" => "fileman_file_download.php?".$addUrl."&site=".urlencode($site)."&path=".urlencode($path), //"ICON" => "btn_download" ); } $folder_path = mb_substr($path, 0, mb_strrpos($path, "/")); $id = GetFileName($path); if($USER->CanDoFileOperation('fm_rename_file', $arPath)) { $aMenu[] = array( "TEXT" => GetMessage("FILEMAN_FILEVIEW_RENAME"), "LINK" => "fileman_rename.php?".$addUrl."&site=".urlencode($site)."&path=".urlencode($folder_path)."&files[]=".urlencode($id), //"ICON" => "btn_rename" ); } if($USER->CanDoFileOperation('fm_delete_file', $arPath)) { $aMenu[] = array( "TEXT" => GetMessage("FILEMAN_FILE_DELETE"), "LINK" => "javascript:if(confirm('".GetMessage("FILEMAN_FILE_DELETE_CONFIRM")."')) window.location='/bitrix/admin/fileman_admin.php?ID=".urlencode(urlencode(GetFileName($path)))."&action=delete&".$addUrl."&site=".urlencode($site)."&path=".urlencode(urlencode($folder_path))."&".bitrix_sessid_get()."';", "TITLE" => GetMessage("FILEMAN_FILE_DELETE"), //"ICON" => "btn_delete" ); } if (count($aMenu) > 0) { $context = new CAdminContextMenu($aMenu); $context->Show(); } $aTabs = array( array("DIV" => "edit1", "TAB" => GetMessage('FILEMAN_VIEW_TAB'), "ICON" => "fileman", "TITLE" => GetMessage('FILEMAN_VIEW_TAB_ALT')), ); $tabControl = new CAdminTabControl("tabControl", $aTabs, true, true); $tabControl->Begin(); $tabControl->BeginNextTab(); $flTmp = $io->GetFile($abs_path); ?>