'' && is_array($_POST["files"]) && count($_POST["files"])>0) { include($_SERVER["DOCUMENT_ROOT"]."/bitrix/admin/fileman_access.php"); die(); } require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); if (!$USER->CanDoOperation('fileman_view_file_structure')) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/include.php"); IncludeModuleLangFile(__FILE__); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/prolog.php"); $io = CBXVirtualIo::GetInstance(); $path = $APPLICATION->UnJSEscape(trim($_REQUEST['path'])); $site = $_REQUEST['site']; $site = CFileMan::__CheckSite($site); $show_perms_for = isset($_REQUEST['show_perms_for']) ? intval($_REQUEST['show_perms_for']) : 0; if($_SERVER["REQUEST_METHOD"]=="POST" && $_GET["fu_action"] <> '' && check_bitrix_sessid()) { include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/classes/general/fileman_utils.php"); CFilemanUtils::Request($_GET["fu_action"], $site); die(); } $searchSess=""; $bSearch = isset($_REQUEST["search"]) && $_REQUEST["search"] == 'Y'; if ($bSearch) // Disable logical { include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/classes/general/fileman_utils.php"); $bReplace = isset($_REQUEST["is_replace"]) && $_REQUEST["is_replace"] == 'Y'; $searchSess = preg_replace("/[^a-z0-9]/i", "", $_GET['ssess']); $logical = "N"; } $sTableID = "tbl_fileman_admin"; $oSort = new CAdminSorting($sTableID, "ID", "asc"); $lAdmin = new CAdminList($sTableID, $oSort); // Hide filter in the search result mode if (!$bSearch) { $arFilterFields = Array( "find_name", "find_timestamp_1", "find_timestamp_2", "find_type" ); $lAdmin->InitFilter($arFilterFields); function CheckFilter() // Check inserted fields { if (isset($_REQUEST['del_filter']) && $_REQUEST['del_filter']=='Y') return false; global $strError, $find_timestamp_1, $find_timestamp_2, $lAdmin; $str = ""; if (trim($find_timestamp_1) <> '' || trim($find_timestamp_2) <> '') { $date_1_ok = false; $date1_stm = MkDateTime(FmtDate($find_timestamp_1,"D.M.Y"),"d.m.Y"); $date2_stm = MkDateTime(FmtDate($find_timestamp_2,"D.M.Y")." 23:59","d.m.Y H:i"); if (!$date1_stm && trim($find_timestamp_1) <> '') $str.= GetMessage("MAIN_WRONG_DATE_FROM")."
"; else $date_1_ok = true; if (!$date2_stm && trim($find_timestamp_2) <> '') $str.= GetMessage("MAIN_WRONG_DATE_TILL")."
"; elseif ($date_1_ok && $date2_stm <= $date1_stm && $date2_stm <> '') $str.= GetMessage("MAIN_FROM_TILL_DATE")."
"; } $strError .= $str; if($str <> '') { $lAdmin->AddFilterError($str); return false; } return true; } if(CheckFilter($arFilterFields)) $arFilter = Array( "NAME" => ($find!='' && $find_type == "name"? $find : $find_name), "TIMESTAMP_1" => $find_timestamp_1, "TIMESTAMP_2" => $find_timestamp_2, "TYPE" => $find_type ); else $arFilter = Array(); } else { $arFilter = Array(); } $documentRoot = CSite::GetSiteDocRoot($site); $arSite = CSite::GetById($site); $arSite = $arSite->Fetch(); $addUrl = 'lang='.LANGUAGE_ID.($logical == "Y" ? '&logical=Y' : ''); $addUrl_s = $addUrl; if ($bSearch) $addUrl_s .= '&search=Y'.($searchSess ? '&ssess='.$searchSess : ''); $path = $io->CombinePath("/", $path); if (mb_strpos($path, '/..') !== false) $path = ''; $absPath = $documentRoot.$path; // Only for AJAX reuest from Quick Path controll in form - jump to viewing file if (isset($_GET['check_for_file']) && $_GET['check_for_file'] == 'Y' && $io->FileExists($absPath)) die(''); if (!$io->DirectoryExists($absPath)) { $lAdmin->AddGroupError(GetMessage("FILEMAN_ADM_INCORRECT_PATH", array("#PATH#" => $path))); $path = ""; $absPath = $documentRoot; } $arParsedPath = CFileMan::ParsePath(Array($site, $path), true, false, "", $logical == "Y"); $arPath = Array($site, $path); $arFilter["MIN_PERMISSION"] = "R"; $handle_action = true; CFileMan::SaveLastPath($path); // Check user rights if ($lAdmin->EditAction() && ($USER->CanDoOperation('fileman_admin_files') || $USER->CanDoOperation('fileman_admin_folders')) && is_array($FIELDS)) { foreach ($FIELDS as $ID => $arFields) { if (!$lAdmin->IsUpdated($ID)) continue; // For search results we have full pathes $pathFrom = $bSearch ? $ID : $path."/".$ID; $arPath_i = Array($site, $pathFrom); if (!($USER->CanDoFileOperation('fm_rename_file', $arPath_i) || $USER->CanDoFileOperation('fm_rename_file', $arPath_i))) { $lAdmin->AddGroupError(GetMessage("FILEMAN_RENAME_ACCESS_DENIED")." \"".$ID."\"", $ID); continue; } if ($arFields["NAME"] == '') { $lAdmin->AddGroupError(GetMessage("FILEMAN_RENAME_NEW_NAME")." \"".$ID."\"", $ID); } else { $prev_name_i = CFileman::GetFileName($ID); $name_i = CFileman::GetFileName($arFields["NAME"]); $isPhpFrom = HasScriptExtension($prev_name_i); $isPhpTo = HasScriptExtension($name_i); if ($bSearch) { $path_i = mb_substr($ID, 0, mb_strlen($ID) - mb_strlen($prev_name_i)); // substract path from $ID $pathTo = Rel2Abs($path_i, $name_i); } else { $pathTo = Rel2Abs($path, $name_i); } if (!($USER->CanDoFileOperation('fm_rename_file', $arPath_i) || $USER->CanDoFileOperation('fm_rename_file', $arPath_i))) $lAdmin->AddGroupError(GetMessage("FILEMAN_RENAME_ACCESS_ERROR"), $ID); elseif (!$USER->CanDoOperation('edit_php') && (mb_substr($prev_name_i, 0, 1) == "." || mb_substr($name_i, 0, 1) == "." || (!$isPhpFrom && $isPhpTo))) $lAdmin->AddGroupError(GetMessage("FILEMAN_RENAME_TOPHPFILE_ERROR"), $ID); elseif (!$USER->CanDoOperation('edit_php') && $isPhpFrom && !$isPhpTo) $lAdmin->AddGroupError(GetMessage("FILEMAN_RENAME_FROMPHPFILE_ERROR"), $ID); else { $pathParsed_tmp = CFileMan::ParsePath(Array($site, $pathTo)); $strWarningTmp = CFileMan::CreateDir($pathParsed_tmp["PREV"]); if ($strWarningTmp <> '') { $lAdmin->AddGroupError($strWarningTmp, $ID); } else { if (($mess = CFileMan::CheckFileName(str_replace('/', '', $pathTo))) !== true) { $lAdmin->AddGroupError($mess, $ID); } elseif (!$io->FileExists($documentRoot.$pathFrom) && !$io->DirectoryExists($documentRoot.$pathFrom)) { $lAdmin->AddGroupError(GetMessage("FILEMAN_RENAME_FILE")." \"".$pathFrom."\" ".GetMessage("FILEMAN_RENAME_NOT_FOUND"), $ID); } elseif ($io->FileExists($documentRoot.$pathTo) || $io->DirectoryExists($documentRoot.$pathTo)) { $lAdmin->AddGroupError(GetMessage("FILEMAN_RENAME_ALREADY_EXIST", Array("#FILE_NAME#" => $pathTo)), $ID); } elseif(!$io->Rename($documentRoot.$pathFrom, $documentRoot.$pathTo)) { $lAdmin->AddGroupError(GetMessage("FILEMAN_RENAME_ERROR")." \"".$pathFrom."\" ".GetMessage("FILEMAN_RENAME_IN")." \"".$pathTo."\"", $ID); } else { // File was successfully renamed $module_id = "fileman"; if(COption::GetOptionString($module_id, "log_page", "Y")=="Y") { $res_log['path'] = mb_substr($pathTo, 1); if (is_dir($documentRoot.$pathTo)) CEventLog::Log( "content", "SECTION_RENAME", "fileman", "", serialize($res_log) ); else CEventLog::Log( "content", "FILE_RENAME", "fileman", "", serialize($res_log) ); } if ($bSearch) // Rename item in search result DB CFilemanSearch::RenameInSearchResult($searchSess, $pathFrom, $pathTo); $APPLICATION->CopyFileAccessPermission($arPath_i, Array($site, $pathTo)); $APPLICATION->RemoveFileAccessPermission($arPath_i); } } } } } $handle_action = false; } // Handling actions: group and single if (($arID = $lAdmin->GroupAction()) && ($USER->CanDoOperation('fileman_admin_files') || $USER->CanDoOperation('fileman_admin_folders')) && $handle_action) { if ($_REQUEST['action_target'] == 'selected') { $arID = array(); if ($bSearch) { $searchRes = CFilemanSearch::GetSearchResult($searchSess); for($i = 0, $l = count($searchRes); $i < $l; $i++) $arID[] = $searchRes[$i]['path']; } elseif (!CSite::IsDistinctDocRoots() || $site <> '' || $path <> '') { $DOC_ROOT = CSite::GetSiteDocRoot($site); $path = $io->CombinePath("/", $path); $arParsedPath = CFileMan::ParsePath(Array($site, $path)); $abs_path = $DOC_ROOT.$path; CFileMan::GetDirList(Array($site, $path), $arDirs, $arFiles, $arFilter, Array($by => $order), "DF",false,true); foreach ($arDirs as $Dir) $arID[] = $Dir["NAME"]; foreach ($arFiles as $File) $arID[] = $File["NAME"]; } } foreach ($arID as $ID) { if ($ID == '' || $ID == '.') continue; // For search results we have full pathes $pathEx = $bSearch ? $ID : $path."/".$ID; $arPath_i = Array($site, $pathEx); switch ($_REQUEST['action']) { case "delete": if (!($USER->CanDoFileOperation('fm_delete_file',$arPath_i) || $USER->CanDoFileOperation('fm_delete_folder',$arPath_i))) break; $module_id = "fileman"; if(COption::GetOptionString($module_id, "log_page", "Y")=="Y") { $res_log['file_name'] = $ID; $res_log['path'] = mb_substr($path, 1); if (is_dir($_SERVER['DOCUMENT_ROOT']."/".$res_log['path']."/".$ID)) { $res_log['path'] = empty($res_log['path']) ? $ID : $res_log['path']."/".$ID; CEventLog::Log( "content", "SECTION_DELETE", "fileman", "", serialize($res_log) ); } else CEventLog::Log( "content", "FILE_DELETE", "fileman", "", serialize($res_log) ); } @set_time_limit(0); $strWarning_tmp = CFileMan::DeleteEx(Array($site, CFileMan::NormalizePath($pathEx))); // Delete file from search results, stored in db if ($bSearch) CFilemanSearch::DelFromSearchResult($searchSess, $pathEx); if($strWarning_tmp <> '') $lAdmin->AddGroupError($strWarning_tmp, $ID); break; case "copy": case "move": if (!($USER->CanDoFileOperation('fm_create_new_file',$arPath_i) || $USER->CanDoFileOperation('fm_create_new_folder',$arPath_i)) || (!($USER->CanDoFileOperation('fm_delete_file',$arPath_i) || $USER->CanDoFileOperation('fm_delete_folder',$arPath_i)) && $_REQUEST['action'] == 'move')) break; if (!CSite::IsDistinctDocRoots() || CFileMan::__CheckSite($copy_to_site) === false) $copy_to_site = $site; $name_i = $bSearch ? CFileman::GetFileName($ID) : $ID; if (($mess = CFileMan::CheckFileName(str_replace('/', '', $copy_to))) !== true) $lAdmin->AddGroupError($mess, $ID); else $strWarning_tmp = CFileMan::CopyEx(Array($site, CFileMan::NormalizePath($pathEx)), Array($copy_to_site, CFileMan::NormalizePath($copy_to."/".$name_i)), ($_REQUEST['action'] == "move" ? true : false)); if ($bSearch && $_REQUEST['action'] == "move") CFilemanSearch::DelFromSearchResult($searchSess, $pathEx); if ($strWarning_tmp <> '') $lAdmin->AddGroupError($strWarning_tmp, $ID); break; } } } InitSorting(); if (!$bSearch) // Display files and folders list { $arDirs = array(); $arFiles = array(); $title = GetMessage("FILEMAN_TITLE"); if($USER->CanDoFileOperation('fm_view_listing', $arPath)) { CFileMan::GetDirList(Array($site, $path), $arDirs, $arFiles, $arFilter, Array($by => $order), "DF", $logical=='Y',true); if($path <> '') { $dname = $path; if($logical=="Y") { if($io->FileExists($absPath."/.section.php")) { @include($io->GetPhysicalName($absPath."/.section.php")); if($sSectionName == '') $sSectionName = GetMessage("FILEMAN_ADM_UNTITLED"); $dname = $sSectionName; } } $lAdmin->onLoadScript = "BX.adminPanel.setTitle('".CUtil::JSEscape($title.": ".$dname)."');"; $title = $title.": ".$dname; } else { $lAdmin->onLoadScript = "BX.adminPanel.setTitle('".CUtil::JSEscape($title)."');"; } } $arDirContent_t = array_merge($arDirs, $arFiles); $arDirContent = Array(); for($i=0,$l = count($arDirContent_t);$i<$l;$i++) { $Elem = $arDirContent_t[$i]; $arPath = Array($site, $Elem['ABS_PATH']); if(($Elem["TYPE"]=="F" && !$USER->CanDoFileOperation('fm_view_file',$arPath)) || ($Elem["TYPE"]=="D" && !$USER->CanDoFileOperation('fm_view_listing',$arPath)) || ($Elem["TYPE"]=="F" && $Elem["NAME"]==".section.php")) continue; $arDirContent[] = $Elem; } unset($arDirContent_t); } else // Displaying search result { $arDirContent = Array(); $date_format = CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL")); //CUtil::JSPostUnescape(); http://jabber.bx/view.php?id=32552 if (isset($_POST['sres']) && CFilemanSearch::CheckSearchSess($searchSess)) $searchRes = CFilemanSearch::SetSearchResult($_POST['sres'], $searchSess); else $searchRes = CFilemanSearch::GetSearchResult($searchSess, array($by, $order)); for($i = 0, $l = count($searchRes); $i < $l; $i++) { $elPath = $searchRes[$i]['path']; $fullPath = $_SERVER["DOCUMENT_ROOT"].$elPath; $bIsDir = $io->DirectoryExists($fullPath); $arPerm = $APPLICATION->GetFileAccessPermission(Array($site, $elPath), $USER->GetUserGroupArray(), true); $arEl = array( "PATH" => $fullPath, "ABS_PATH" => $elPath, "NAME" => CFileman::GetFileName($elPath), "PERMISSION" => $arPerm[0], "TIMESTAMP" => $searchRes[$i]['time'], "DATE" => date($date_format, $searchRes[$i]['time']), "SIZE" => $bIsDir ? 0 : $searchRes[$i]['size'], "TYPE" => $bIsDir ? "D" : "F" ); if (is_array($arPerm[1]) && count($arPerm[1]) > 0) { $arEl["PERMISSION_EX"] = $arPerm[1]; } $arDirContent[] = $arEl; } } $db_DirContent = new CDBResult; $db_DirContent->InitFromArray($arDirContent); $db_DirContent = new CAdminResult($db_DirContent, $sTableID); $db_DirContent->NavStart(array( "sNavID" => "fileman_admin".$path, "nPageSize" => 20, )); // Init list params $lAdmin->NavText($db_DirContent->GetNavPrint(GetMessage("FILEMAN_PAGES"))); // List header if($logical=='Y') { $arHeaders = array( array("id"=>"LOGIC_NAME", "content"=>GetMessage("FILEMAN_FILE_NAME"), "default"=>true), array("id"=>"NAME", "content"=>GetMessage("FILEMAN_REAL_FILE_NAME"), "sort"=>"name_nat"), array("id"=>"SIZE","content"=>GetMessage("FILEMAN_ADMIN_FILE_SIZE"), "sort"=>"size", "default"=>true), array("id"=>"DATE", "content"=>GetMessage('FILEMAN_ADMIN_FILE_TIMESTAMP'), "sort"=>"timestamp", "default"=>true), array("id"=>"TYPE", "content"=>GetMessage('FILEMAN_ADMIN_FILE_TYPE'), "sort"=>"", "default"=>true) ); } else { $arHeaders = array( array("id"=>"NAME", "content"=>GetMessage("FILEMAN_FILE_NAME"), "sort"=>"name_nat", "default"=>true), array("id"=>"SIZE","content"=>GetMessage("FILEMAN_ADMIN_FILE_SIZE"), "sort"=>"size", "default"=>true), array("id"=>"DATE", "content"=>GetMessage('FILEMAN_ADMIN_FILE_TIMESTAMP'), "sort"=>"timestamp", "default"=>true), array("id"=>"TYPE", "content"=>GetMessage('FILEMAN_ADMIN_FILE_TYPE'), "sort"=>"", "default"=>true) ); } if (!CFileMan::IsWindows()) $arHeaders[] = array("id"=>"PERMS", "content"=>GetMessage('FILEMAN_ADMIN_ACCESS_PERMS'), "sort"=>"", "default"=>true); $arHeaders[] = array("id"=>"PERMS_B", "content"=>GetMessage('FILEMAN_ADMIN_ACCESS_PERMS_B'), "sort"=>"", "default"=>true); $lAdmin->AddHeaders($arHeaders); if(intval($show_perms_for) > 0) $lAdmin->AddVisibleHeaderColumn("PERMS_B"); $arVisibleColumns = $lAdmin->GetVisibleHeaderColumns(); if(!$bSearch && $path <> '' && ($logical != "Y" || rtrim($arSite["DIR"], "/") != rtrim($arParsedPath["FULL"], "/"))) { $row =& $lAdmin->AddRow(".", array("NAME" => GetMessage("FILEMAN_UP"))); $dbSitesList = CSite::GetList("lendir", "desc"); while ($arSite = $dbSitesList->GetNext()) { if ($arSite['DOC_ROOT'] == CSite::GetSiteDocRoot($site) || $arSite['DOC_ROOT'] == '') { $resSites[] = array( 'ID' => $arSite['ID'], 'DIR' => $arSite['DIR'], 'DOC_ROOT' => $arSite['DOC_ROOT'] ); } } $cnt_resSites = count($resSites); for($i = 0; $i < $cnt_resSites; $i++) { $dir = trim($resSites[$i]["DIR"], "/"); if (mb_substr(trim($arParsedPath["PREV"], "/"), 0, mb_strlen($dir)) == $dir) { $site = $resSites[$i]["ID"]; break; } } if($logical == "Y") $showField = " .."; else $showField = " .."; $row->AddField("NAME", $showField); $row->AddField("LOGIC_NAME", $showField); $row->AddField("SIZE", ""); $row->AddField("DATE", ""); $row->AddField("TYPE", ""); if (!CFileMan::IsWindows()) $row->AddField("PERMS", ""); $row->AddField("PERMS_B", ""); $arActions = Array(); $arActions[] = array( "ICON" => "", "TEXT" => GetMessage('FILEMAN_N_OPEN'), "DEFAULT" => true, "ACTION" => "javascript:".$sTableID.".GetAdminList('fileman_admin.php?".$addUrl_s."&site=".$site."&path=".urlencode($arParsedPath["PREV"])."&show_perms_for=".intval($show_perms_for)."', GALCallBack);" ); $row->AddActions($arActions); } // Building list while($Elem = $db_DirContent->NavNext(true, "f_")) { $arPath = Array($site, $Elem['ABS_PATH']); $fpath = $bSearch ? $Elem['ABS_PATH'] : ($path == "/" ? "" : $path)."/".$Elem["NAME"]; $fpathUrl = urlencode($fpath); for($i = 0; $i < $cnt_resSites; $i++) { $dir = trim($resSites[$i]["DIR"], "/"); if (mb_substr(trim($fpath, "/"), 0, mb_strlen($dir)) == $dir) { $site = $resSites[$i]["ID"]; break; } } //$fname = $documentRoot.$path."/".$Elem["NAME"]; $fname = $documentRoot.$fpath; $fnameConverted = CBXVirtualIoFileSystem::ConvertCharset($fname); //http://www.jabber.bx/view.php?id=26893 $bIsDir = $io->DirectoryExists($fname); $arrIsDir[$fpath] = $bIsDir; if(!file_exists($fnameConverted)) { $lAdmin->AddGroupError(GetMessage("FILEMAN_ADMIN_FLIST_ERROR")); break; } if ($bSearch) $f_NAME = $Elem['ABS_PATH']; $showFieldIcon = ""; $showFieldText = ""; if($Elem["TYPE"] == "D") { $showFieldIcon = ""; $showFieldText = "".$f_NAME.""; } else { $curFileType = CFileMan::GetFileTypeEx($f_NAME); if(preg_match('/^\.(.*)?\.menu\.(php|html|php3|php4|php5|php6|phtml)$/', $f_NAME, $regs)) { $showFieldIcon = ""; $showFieldText = GetMessage("FILEMAN_ADMIN_MENU_TYPE")."«".htmlspecialcharsbx($regs[1])."»"; } else { $showFieldIcon = "\"\""; $showFieldText = $f_NAME; } } $showField = "
".$showFieldIcon." ".$showFieldText."
"; $row =& $lAdmin->AddRow($f_NAME, $Elem); if($row->VarsFromForm() && $_REQUEST["FIELDS"]) $val = $_REQUEST["FIELDS"][$f_NAME]["NAME"]; else $val = $f_NAME; // In the search result mode - we will give to modify only name of files or folders if ($bSearch) $val = CFileman::GetFileName($val); //$editField = " "; if($logical=='Y') $row->AddField("NAME", $showField); else { //$row->AddField("NAME", $showField, $editField); $row->AddViewField("NAME",$showField); $row->AddInputField("NAME", Array('size'=>'40', 'name' => 'FIELDS['.$f_NAME.'][NAME]', 'value' => htmlspecialcharsbx($val))); } if($logical == 'Y') { $showFieldIcon = ""; $showFieldText = ""; if($f_LOGIC_NAME == '') $f_LOGIC_NAME = htmlspecialcharsbx(GetMessage("FILEMAN_ADM_UNTITLED")); if($Elem["TYPE"] == "D") { $showFieldIcon = ""; $showFieldText = "".$f_LOGIC_NAME.""; } else { $curFileType = CFileMan::GetFileTypeEx($f_NAME); if(preg_match('/^\.(.*)?\.menu\.(php|html|php3|php4|php5|phtml)$/', $f_NAME, $regs)) { $showFieldIcon = ""; $showFieldText = GetMessage("FILEMAN_ADMIN_MENU_TYPE")."«".htmlspecialcharsbx($regs[1])."»"; } else { $showFieldIcon = "\"\""; $showFieldText = $f_LOGIC_NAME; } } $showField = "
".$showFieldIcon." ".$showFieldText."
"; $row->AddViewField("LOGIC_NAME", $showField); } $row->AddField("SIZE", (($Elem["TYPE"] == "F") ? CFile::FormatSize($f_SIZE) : "")); $row->AddField("DATE", $f_DATE); $row->AddField("TYPE", ($Elem["TYPE"] == "D") ? GetMessage('FILEMAN_FOLDER') : htmlspecialcharsbx($arFilemanPredifinedFileTypes[$curFileType]["name"])); $showField = ""; if (!CFileMan::IsWindows()) { if(in_array("PERMS", $arVisibleColumns)) { if($USER->CanDoFileOperation('fm_view_permission', $arPath)) { $UnixFP = CFileMan::GetUnixFilePermissions($fname); $showField .= ''.$UnixFP[0].''; if(function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) { $arrFileOwner = posix_getpwuid(fileowner($fnameConverted)); $arrFileGroup = posix_getgrgid(filegroup($fnameConverted)); $showField .= " ".$arrFileOwner['name']." ".$arrFileGroup['name']; } } else $showField = " "; } $row->AddField("PERMS", $showField); } $showField = ""; if (in_array("PERMS_B", $arVisibleColumns)) { $showField = " "; if(($USER->CanDoOperation('fileman_view_permissions') || $USER->CanDoOperation('fileman_edit_all_settings')) && $USER->CanDoFileOperation('fm_view_permission', $arPath)) { $arP = $APPLICATION->GetFileAccessPermission(Array($site, $fpath), ((intval($show_perms_for) > 0) ? array($show_perms_for) : false), true); end($arP); $cur_dir_taskId = current($arP); if ($cur_dir_taskId) { $z = CTask::GetById($cur_dir_taskId); if ($r = $z->Fetch()) if ($r['NAME']) { $showField = GetMessage(mb_strtoupper($r['NAME'])); if($showField == '') $showField = $r['NAME']; } } } } $row->AddField("PERMS_B", $showField); $arActions = Array(); if ($Elem["TYPE"] == "F") { if($USER->CanDoFileOperation('fm_view_listing', $arPath)) { if ($USER->CanDoOperation('fileman_edit_menu_elements') && preg_match('/^\.(.*)?\.menu\.(php|html|php3|php4|php5|phtml)$/', $f_NAME, $regs) && $USER->CanDoFileOperation('fm_edit_existent_file', $arPath)) { $arActions[] = array( "ICON" => "edit", "TEXT" => GetMessage("FILEMAN_ADMIN_EDIT_AS_MENU"), "DEFAULT" => true, "ACTION" => $lAdmin->ActionRedirect("fileman_menu_edit.php?path=".urlencode($path)."&site=".$site."&name=".urlencode($regs[1])."&".$addUrl."&".GetFilterParams("filter_")."") ); if ($USER->CanDoOperation('edit_php') && $USER->CanDoFileOperation('fm_edit_existent_file', $arPath)) { $arActions[] = array( "ICON" => "btn_fileman_php", "TEXT" => GetMessage("FILEMAN_ADMIN_EDIT_AS_PHP"), "DEFAULT" => false, "ACTION" => $lAdmin->ActionRedirect("fileman_file_edit.php?path=".$fpathUrl."&full_src=Y&site=".$site."&".$addUrl."&".GetFilterParams("filter_")."") ); } } else { $curFilePreType = $arFilemanPredifinedFileTypes[$curFileType]["gtype"]; if($curFilePreType == "text") $defaultEdit = COption::GetOptionString("fileman", "default_edit"); else $defaultEdit = ""; if($curFilePreType == "text") { if($USER->CanDoFileOperation('fm_edit_existent_file', $arPath)) { if (!HasScriptExtension($f_NAME) || $USER->CanDoFileOperation('fm_lpa', $arPath) || $USER->CanDoOperation('edit_php')) { $arActions[] = array( "ICON" => "btn_fileman_html", "DEFAULT" => (($defaultEdit == "html") ? True : False), "TEXT" => GetMessage("FILEMAN_ADMIN_EDIT_AS_HTML"), "ACTION" => $lAdmin->ActionRedirect("fileman_html_edit.php?path=".$fpathUrl."&site=".$site."&".$addUrl."&".GetFilterParams("filter_")."") ); $arActions[] = array( "ICON" => "btn_fileman_text", "TEXT" => GetMessage("FILEMAN_ADMIN_EDIT_AS_TEXT"), "DEFAULT" => (($defaultEdit == "text") ? True : False), "ACTION" => $lAdmin->ActionRedirect("fileman_file_edit.php?path=".$fpathUrl."&site=".$site."&".$addUrl."&".GetFilterParams("filter_")."") ); } if ($USER->CanDoOperation('edit_php')) { $arActions[] = array( "ICON" => "btn_fileman_php", "TEXT" => GetMessage("FILEMAN_ADMIN_EDIT_AS_PHP"), "DEFAULT" => (($defaultEdit == "php") ? True : False), "ACTION" => $lAdmin->ActionRedirect("fileman_file_edit.php?path=".$fpathUrl."&full_src=Y&site=".$site."&".$addUrl."&".GetFilterParams("filter_")."") ); } } if (CModule::IncludeModule("workflow") && $USER->CanDoFileOperation('fm_edit_in_workflow', $arPath)) { $st = ''; $sid = ''; $WFlink = CWorkFlow::GetEditLink(array($site, $fpath), $sid, $st); if ($WFlink <> '') { $arActions[] = array( "ICON" => "btn_fileman_galka", "DEFAULT" => (($Elem["PERMISSION"]=="U") ? True : False), "TEXT" => GetMessage("FILEMAN_EDIT_IN_WORKFLOW"), "ACTION" => $lAdmin->ActionRedirect($WFlink) ); } } } if($USER->CanDoFileOperation('fm_view_file', $arPath) && ($USER->CanDoOperation('edit_php') || $USER->CanDoFileOperation('fm_lpa', $arPath) || !(HasScriptExtension($f_NAME) || mb_substr($Elem["NAME"], 0, 1) == "."))) { $arActions[] = array( "ICON" => "btn_fileman_view", "TEXT" => GetMessage("FILEMAN_ADMIN_VIEW"), "DEFAULT" => (($curFilePreType != "text" && !$USER->IsAdmin()) ? True : False), "ACTION" => $lAdmin->ActionRedirect("fileman_file_view.php?path=".$fpathUrl."&site=".$site."&".$addUrl) ); } if(($USER->CanDoFileOperation('fm_download_file', $arPath) && !(HasScriptExtension($f_NAME) || mb_substr($Elem["NAME"], 0, 1) == ".")) || $USER->CanDoOperation('edit_php')) { $arActions[] = array( "ICON" => "btn_download", "TEXT" => GetMessage("FILEMAN_DOWNLOAD"), "ACTION" => $lAdmin->ActionRedirect("fileman_file_download.php?path=".$fpathUrl."&site=".$site."&".$addUrl)." setTimeout(function(){ CloseWaitWindow(); }, 3000);" ); } } } } else { if($USER->CanDoFileOperation('fm_view_listing',$arPath)) { $arActions[] = array( "ICON" => "", "TEXT" => GetMessage('FILEMAN_N_OPEN'), "DEFAULT" => true, "ACTION" => "javascript:".$sTableID.".GetAdminList('fileman_admin.php?".$addUrl."&site=".urlencode($site)."&path=".$fpathUrl."&show_perms_for=".intval($show_perms_for)."', GALCallBack);" ); } if($USER->CanDoFileOperation('fm_edit_existent_folder', $arPath)) { $arActions[] = array( "ICON" => "btn_fileman_prop", "TEXT" => GetMessage("FILEMAN_ADMIN_FOLDER_PROP"), "ACTION" => $lAdmin->ActionRedirect("fileman_folder.php?".$addUrl."&site=".urlencode($site)."&path=".$fpathUrl."") ); } } $type = $Elem["TYPE"] == "F" ? 'file' : 'folder'; if ($logical != "Y") { if ($Elem["TYPE"] == "F" && $USER->CanDoFileOperation('fm_view_file', $arPath) && ($USER->CanDoOperation('edit_php') || $USER->CanDoFileOperation('fm_lpa', $arPath) || !(HasScriptExtension($f_NAME) || mb_substr($Elem["NAME"], 0, 1) == ".")) || $Elem["TYPE"] == "D" && $USER->CanDoFileOperation('fm_view_listing', $arPath)) { $arActions[] = array("SEPARATOR" => true); $arActions[] = array( "ICON" => "pack", "TEXT" => GetMessage("FILEMAN_ADMIN_ARC_PACK"), "ACTION" => "window.PackUnpackRun([{'path' : '".CUtil::JSEscape($fpath)."', 'isDir' : '".$arrIsDir[$fpath]."'}], true); return false;" ); $is_archive = CBXArchive::IsArchive($fpath); if ($is_archive) { $arActions[] = array( "ICON" => "unpack", "TEXT" => GetMessage("FILEMAN_ADMIN_ARC_UNPACK"), "ACTION" => "window.PackUnpackRun(['".CUtil::JSEscape($fpath)."'], false); return false;" ); } } if($USER->CanDoFileOperation('fm_rename_'.$type, $arPath)) { $arActions[] = array("SEPARATOR" => true); $arActions[] = array( "ICON" => "rename", "TEXT" => GetMessage("FILEMAN_RENAME_SAVE"), "ACTION" => 'setCheckbox(\''.CUtil::JSEscape($f_NAME).'\'); if('.$lAdmin->table_id.'.IsActionEnabled(\'edit\')){document.forms[\'form_'.$lAdmin->table_id.'\'].elements[\'action_button\'].value=\'edit\'; '.$lAdmin->ActionPost().'}else{document.location.href=\'fileman_rename.php?'.$addUrl.'&path='.urlencode($path).'&site='.$site.'&files[]='.CFileman::GetFileName($arPath[1]).'\'}' ); } // Copy if(($USER->CanDoFileOperation('fm_view_file', $arPath) && ($USER->CanDoOperation('edit_php') || $USER->CanDoFileOperation('fm_lpa', $arPath) || !(HasScriptExtension($f_NAME) || mb_substr($Elem["NAME"], 0, 1) == "."))) && $Elem["TYPE"] == "F" || $Elem["TYPE"] == "D" && $USER->CanDoFileOperation('fm_view_listing', $arPath)) { $arActions[] = array( "ICON" => "copy", "TEXT" => GetMessage("FILEMAN_ADM_COPY"), "ACTION" => "window.CopyMoveRun([{'path' : '".CUtil::JSEscape($fpath)."', 'isDir' : '".$arrIsDir[$fpath]."'}], true); return false;" ); } // Move if($USER->CanDoOperation('fileman_admin_folders') && $USER->CanDoFileOperation('fm_delete_'.$type, $arPath)) { if(($USER->CanDoFileOperation('fm_view_file', $arPath) && ($USER->CanDoOperation('edit_php') || $USER->CanDoFileOperation('fm_lpa', $arPath) || !(HasScriptExtension($f_NAME) || mb_substr($Elem["NAME"], 0, 1) == "."))) && $Elem["TYPE"] == "F" || $Elem["TYPE"] == "D" && $USER->CanDoFileOperation('fm_view_listing', $arPath)) { $arActions[] = array( "ICON" => "move", "TEXT" => GetMessage("FILEMAN_ADM_MOVE"), "ACTION" => "window.CopyMoveRun([{'path' : '".CUtil::JSEscape($fpath)."', 'isDir' : '".$arrIsDir[$fpath]."'}], false); return false;" ); } $arActions[] = array( "ICON" => "delete", "TEXT" => GetMessage("FILEMAN_ADMIN_DELETE"), "ACTION" => "if(confirm('".GetMessage('FILEMAN_ALERT_DELETE')."')) ".$lAdmin->ActionDoGroup(urlencode($f_NAME), "delete", $addUrl."&site=".urlencode($site)."&path=".urlencode($path)."&show_perms_for=".intval($show_perms_for)) ); } if ($USER->CanDoFileOperation('fm_edit_permission',$arPath)) { $arActions[] = array("SEPARATOR" => true); $arActions[] = array( "ICON" => "access", "TEXT" => GetMessage("FILEMAN_ADMIN_ACCESS_PERMS_B"), "ACTION" => "setCheckbox('".Cutil::JSEscape($f_NAME)."'); setAccess('".Cutil::JSEscape($site)."', '".Cutil::JSEscape(urlencode($path))."');" ); if (!CFileMan::IsWindows()) { // $arActions[] = Array( // "ICON" => "access", // "TEXT" => GetMessage("FILEMAN_ADMIN_ACCESS_PERMS"), // "TITLE" => GetMessage("FM_UTIL_SERVER_PERM_TITLE"), // "ACTION" => "setCheckbox('".Cutil::JSEscape($f_NAME)."'); setAccess('".Cutil::JSEscape($site)."', '".Cutil::JSEscape($path)."', true);" // ); } } } $row->AddActions($arActions); } $arPath = Array($site, $path);// arPath for current folder // List's footer $lAdmin->AddFooter( array( array( "title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $db_DirContent->SelectedRowsCount() ), array( "counter" => true, "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => "0" ), ) ); $strHTML = "". "". ""; // Show form with add buttons $arGrActionAr = Array(); if($USER->CanDoFileOperation('fm_delete_'.$type,$arPath)) $arGrActionAr["delete"] = GetMessage("MAIN_ADMIN_LIST_DELETE"); if($USER->CanDoFileOperation('fm_edit_permission',$arPath)) { $arGrActionAr["access"] = array( "action" => "setAccess('".Cutil::JSEscape($site)."', '".Cutil::JSEscape(urlencode($path))."')", "value" => "access", "name" => GetMessage('FILEMAN_ADMIN_ACCESS_PERMS_B') ); if (!CFileMan::IsWindows()) { // $arGrActionAr["server_access"] = array( // "action" => "setAccess('".Cutil::JSEscape($site)."', '".Cutil::JSEscape($path)."', true)", // "value" => "server_access", // "name" => GetMessage('FILEMAN_ADMIN_ACCESS_PERMS') // ); } } if($USER->CanDoFileOperation('fm_create_new_'.$type,$arPath)) { //$arGrActionAr["copy"] = GetMessage("FILEMAN_ADM_COPY"); $arGrActionAr["copy"] = array( "action" => "setCopyMove('".Cutil::JSEscape($site)."', '".Cutil::JSEscape($path)."', true, ".CUtil::PhpToJSObject($arrIsDir).")", "value" => "copy", "name" => GetMessage("FILEMAN_ADM_COPY") ); $arGrActionAr["pack"] = array( "action" => "setPackUnpack('".Cutil::JSEscape($site)."', '".Cutil::JSEscape($path)."', true, ".CUtil::PhpToJSObject($arrIsDir).")", "value" => "pack", "name" => GetMessage("FILEMAN_ADMIN_ARC_PACK"), ); } if($USER->CanDoFileOperation('fm_create_new_'.$type, $arPath) && $USER->CanDoFileOperation('fm_delete_'.$type,$arPath)) { //$arGrActionAr["move"] = GetMessage("FILEMAN_ADM_MOVE"); $arGrActionAr["move"] = array( "action" => "setCopyMove('".Cutil::JSEscape($site)."', '".Cutil::JSEscape($path)."', false, ".CUtil::PhpToJSObject($arrIsDir).")", "value" => "move", "name" => GetMessage("FILEMAN_ADM_MOVE") ); } // if($USER->CanDoFileOperation('fm_create_new_'.$type, $arPath)) // { // $arGrActionAr["copy2"] = array( // "type" => "html", // "value" => " ".GetMessage("FILEMAN_ADMIN_IN")." " // ); // $arGrActionAr["copy1"] = array( // "type" => "html", // "value" => $strHTML // ); // } if ($logical != "Y") { $lAdmin->AddGroupActionTable( $arGrActionAr, array() //array("select_onchange" => "this.form.copy_to_button.disabled=this.form.copy_to.disabled=!(this[this.selectedIndex].value == 'copy' || this[this.selectedIndex].value == 'move')") ); } $defaultEdit = COption::GetOptionString("fileman", "default_edit"); if($USER->CanDoOperation('view_groups') && $USER->CanDoFileOperation('fm_view_permission', $arPath)) { $arDDMenu = array(); $isB = false; $dbRes = CGroup::GetDropDownList(); while ($arRes = $dbRes->Fetch()) { if($show_perms_for == $arRes["REFERENCE_ID"]) $isB = true; $arDDMenu[] = array( "TEXT" => $arRes["REFERENCE"], "ACTION" => $lAdmin->ActionAjaxReload("fileman_admin.php?".$addUrl_s."&site=".urlencode($site)."&path=".urlencode($path)."&show_perms_for=".$arRes["REFERENCE_ID"]).';return false;', "ICON" => ($show_perms_for == $arRes["REFERENCE_ID"] ? "checked" : "" ), ); } $arDDMenu[] = array( "TEXT" => GetMessage("FILEMAN_ADM_CUR_USER"), "ACTION" => $lAdmin->ActionAjaxReload("fileman_admin.php?".$addUrl_s."&site=".urlencode($site)."&path=".urlencode($path)."&show_perms_for=0").';return false;', "ICON" => (!$isB ? "checked" : "" ), ); } $aContext = Array(); if (!$bSearch) // Only for dir viewing, hide for search result mode { if($USER->CanDoOperation('fileman_admin_folders') && $USER->CanDoFileOperation('fm_create_new_folder',$arPath)) { $aContext[] = Array( "TEXT" => GetMessage("FILEMAN_ADMIN_ADD_FOLDER"), "ICON" => "btn_new_folder", "LINK" => "fileman_newfolder.php?".$addUrl."&site=".$site."&path=".urlencode($path)."", "TITLE" => GetMessage("FILEMAN_ADMIN_ADD_FOLDER") ); } if($USER->CanDoOperation('fileman_admin_files') && $USER->CanDoFileOperation('fm_create_new_file',$arPath)) { $aContext[] = Array( "TEXT" => GetMessage("FILEMAN_ADMIN_ADD_FILE"), "ICON" => "btn_new_file", "LINK" => ($defaultEdit == 'html'? "fileman_html_edit.php?".$addUrl."&site=".$site."&path=".urlencode($path)."&new=y" : ( $defaultEdit == 'php' && $USER->IsAdmin()? "fileman_file_edit.php?".$addUrl."&site=".$site."&full_src=Y&path=".urlencode($path)."&new=y" : "fileman_file_edit.php?".$addUrl."&site=".$site."&path=".urlencode($path)."&new=y" ) ), "TITLE" => GetMessage("FILEMAN_ADMIN_ADD_FILE") ); } if($USER->CanDoOperation('fileman_add_element_to_menu') && $USER->CanDoFileOperation('fm_add_to_menu',$arPath)) { $aContext[] = Array( "TEXT" => GetMessage("FILEMAN_ADMIN_MENU_ADD"), "ICON" => "btn_new_menu", "LINK" => "fileman_menu_edit.php?".$addUrl."&site=".$site."&path=".urlencode($path), "TITLE" => GetMessage("FILEMAN_ADMIN_MENU_ADD") ); } if(count($aContext) > 1) { $aContext = array( array( "TEXT" => GetMessage("FILEMAN_ADMIN_ADD"), "ICON" => "btn_new", "MENU" => $aContext, ), ); } if($USER->CanDoOperation('fileman_upload_files') && $USER->CanDoFileOperation('fm_upload_file',$arPath)) { $aContext[] = Array( "TEXT" => GetMessage("FILEMAN_ADMIN_FILE_UPLOAD"), "ICON" => "btn_upload", "LINK" => "fileman_file_upload.php?".$addUrl."&site=".$site."&path=".urlencode($path)."", "TITLE" => GetMessage("FILEMAN_ADMIN_FILE_UPLOAD") ); } } //if(count($aContext) > 0) // $aContext[] = Array("NEWBAR" => true); // Only for dir viewing, hide for search result mode $addProp = array(); if(!$bSearch && $USER->CanDoOperation('fileman_edit_existent_folders') && $USER->CanDoFileOperation('fm_edit_existent_folder', $arPath)) { $addProp[] = Array( "TEXT" => GetMessage("FILEMAN_ADMIN_FOLDER_PROP"), "LINK" => "fileman_folder.php?".$addUrl."&site=".$site."&path=".urlencode($path)."", "ICON" => "btn_folder_prop", "TITLE" => GetMessage("FILEMAN_ADMIN_FOLDER_PROP") ); } if($bSearch) { $aContext[] = Array( "TEXT" => GetMessage("FILEMAN_GO_BACK"), "LINK" => "fileman_admin.php?".$addUrl."&site=".$site."&path=".urlencode($path)."", "ICON" => "btn_list" ); } if ($USER->CanDoOperation('view_groups') && $USER->CanDoFileOperation('fm_view_permission', $arPath) && $USER->CanDoFileOperation('fm_edit_existent_folder',$arPath)) $addProp[] = Array( "TEXT" => GetMessage('FILEMAN_SHOW_PRM_FOR'), "TITLE" => GetMessage('FILEMAN_SHOW_PRM_FOR'), "MENU" => $arDDMenu ); if(count($addProp) > 0) { $aContext[] = array( "TEXT" => GetMessage('FILEMAN_ADMIN_FOLDER_EXTRA_PARAM'), "TITLE" => GetMessage('FILEMAN_ADMIN_FOLDER_EXTRA_PARAM_TITLE'), "ICON" => "btn_folder_prop", "MENU" => $addProp ); } if(count($aContext) > 0) $aContext[] = Array("NEWBAR" => true); ob_start(); ?>

Fatal error: Uncaught Error: Call to undefined function GetMessage() in D:\ktt\ttepla.com\public_html\bitrix\modules\fileman\admin\fileman_admin.php:1163 Stack trace: #0 {main} thrown in D:\ktt\ttepla.com\public_html\bitrix\modules\fileman\admin\fileman_admin.php on line 1163