/** * get the list of folder under a specified folder * which will be used for drop-down menu * @param string $path the path of the specified folder * @param array $outputs * @param string $indexNumber * @param string $prefixNumber the prefix before the index number * @param string $prefixName the prefix before the folder name * @return array */ function getFolderListing($path,$indexNumber=null, $prefixNumber =' ', $prefixName =' - ', $outputs=array()) { $path = removeTrailingSlash(backslashToSlash($path)); if(is_null($indexNumber)) { $outputs[IMG_LBL_ROOT_FOLDER] = removeTrailingSlash(backslashToSlash($path)); } $fh = @opendir($path); if($fh) { $count = 1; while($file = @readdir($fh)) { $newPath = removeTrailingSlash(backslashToSlash($path . "/" . $file)); if(isListingDocument($newPath) && $file != '.' && $file != '..' && is_dir($newPath)) { if(!empty($indexNumber)) {//this is not root folder $outputs[$prefixNumber . $indexNumber . "." . $count . $prefixName . $file] = $newPath; getFolderListing($newPath, $prefixNumber . $indexNumber . "." . $count , $prefixNumber, $prefixName, $outputs); }else {//this is root folder $outputs[$count . $prefixName . $file] = $newPath; getFolderListing($newPath, $count, $prefixNumber, $prefixName, $outputs); } $count++; } } @closedir($fh); } return $outputs; }
<?php require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . "inc" . DIRECTORY_SEPARATOR . "config.php"; if (!osc_is_admin_user_logged_in()) { exit('Direct access is not allowed.'); } echo '{'; $count = 1; foreach (getFolderListing(CONFIG_SYS_ROOT_PATH) as $k => $v) { echo ($count > 1 ? ', ' : '') . "'" . $v . "':'" . $k . "'"; $count++; } echo "}";