. Contact: Lyubomir Arsov, liubo (at) web-lobby.com */ include '../system.inc.php'; include 'functions.inc.php'; verifyAction('DIRLIST'); checkAccess('DIRLIST'); function getFilesNumber($path, $type){ $files = 0; $dirs = 0; $tmp = listDirectory($path); foreach ($tmp as $ff){ if($ff == '.' || $ff == '..') continue; elseif(is_file($path.'/'.$ff) && ($type == '' || ($type == 'image' && RoxyFile::IsImage($ff)) || ($type == 'flash' && RoxyFile::IsFlash($ff)))) $files++; elseif(is_dir($path.'/'.$ff)) $dirs++; } return array('files'=>$files, 'dirs'=>$dirs); } function GetDirs($path, $type){ $ret = $sort = array(); $files = listDirectory(fixPath($path), 0); foreach ($files as $f){ $fullPath = $path.'/'.$f; if(!is_dir(fixPath($fullPath)) || $f == '.' || $f == '..') continue; $tmp = getFilesNumber(fixPath($fullPath), $type); $ret[$fullPath] = array('path'=>$fullPath,'files'=>$tmp['files'],'dirs'=>$tmp['dirs']); $sort[$fullPath] = $f; } natcasesort($sort); foreach ($sort as $k => $v) { $tmp = $ret[$k]; echo ',{"p":"'.mb_ereg_replace('"', '\\"', $tmp['path']).'","f":"'.$tmp['files'].'","d":"'.$tmp['dirs'].'"}'; GetDirs($tmp['path'], $type); } } $type = (empty($_GET['type'])?'':strtolower($_GET['type'])); if($type != 'image' && $type != 'flash') $type = ''; echo "[\n"; $tmp = getFilesNumber(fixPath(getFilesPath()), $type); echo '{"p":"'. mb_ereg_replace('"', '\\"', getFilesPath()).'","f":"'.$tmp['files'].'","d":"'.$tmp['dirs'].'"}'; GetDirs(getFilesPath(), $type); echo "\n]"; ?>