コード例 #1
0
ファイル: structure.php プロジェクト: ASDAFF/open_bx
function __struct_get_files($doc_root, $path="", $open_path="", $dirsonly=false)
{
	global $USER;

	if(!$USER->CanDoFileOperation('fm_view_listing', array($_GET['site'], $path)))
		return '';

	$arFiles = array();
	$abs_path = $doc_root."/".$path;

	$io = CBXVirtualIo::GetInstance();
	$directory = $io->GetDirectory($abs_path);
	$arChildren = $directory->GetChildren();
	foreach ($arChildren as $child)
	{
		$n = $child->GetName();
		if (!$child->IsDirectory())
		{
			if($n == '.section.php' || $n == '.access.php')
				continue;
			if(preg_match('/^\.(.*)?\.menu\.(php|html|php3|php4|php5|php6|phtml)$/', $n))
				continue;
		}
		$arFile = __struct_get_file_info($abs_path, $n);
		$arFiles[] = $arFile;
	}

	usort($arFiles, "__struct_file_sort");

	return __struct_show_files($arFiles, $doc_root, $path, $open_path, $dirsonly);
}
コード例 #2
0
ファイル: template.php プロジェクト: mrdeadmouse/u136006
function __struct_get_files($ob, $doc_root, $path = "", $open_path = "", $dirsonly = false)
{
    /** @var CWebDavIblock $ob */
    $arFiles = $files = array();
    $abs_path = str_replace(array("///", "//"), "/", $doc_root . "/" . $path);
    $options = array('path' => $abs_path, 'depth' => '10000');
    $res = $ob->PROPFIND($options, $files, array('return' => 'array'));
    foreach ($res['RESULT'] as $item) {
        $arFiles[] = array('type' => $item['TYPE'] == 'S' ? 'D' : 'F', "file" => $item['NAME'], "id" => $item['ID'], "name" => $item['NAME']);
    }
    unset($item);
    return __struct_show_files($ob, $arFiles, $doc_root, $path, $open_path, $dirsonly);
}