=$factor;$i++) $val /= $factor; $p = strpos($val, '.'); if($p !== false && $p > $digits) $val = round($val); elseif($p !== false) $val = round($val, $digits-$p); return round($val, $digits) . ' ' . $symbols[$i] . $bB; } // grab the custom params $path = isset($_REQUEST['path'])&&$_REQUEST['path'] == 'extjs' ? '../../../' : '../../'; $node = isset($_REQUEST['node']) ? $_REQUEST['node'] : ''; $isXml = isset($_REQUEST['isXml']); if(strpos($node, '..') !== false){ die('Nice try buddy.'); } $nodes = array(); $directory = $path.$node; if (is_dir($directory)){ $d = dir($directory); while($f = $d->read()){ if($f == '.' || $f == '..' || substr($f, 0, 1) == '.') continue; $filename = $directory . '/' . $f; date_default_timezone_set('America/Los_Angeles'); $lastmod = date('M j, Y, g:i a', filemtime($filename)); if(is_dir($directory.'/'.$f)){ $qtip = 'Type: Folder
Last Modified: '.$lastmod; $nodes[] = array( 'text' => $f, 'id' => $node.'/'.$f, 'cls' => 'folder' ); } else { $size = formatBytes(filesize($filename), 2); $qtip = 'Type: JavaScript File
Last Modified: '.$lastmod.'
Size: '.$size; $nodes[] = array( 'text' => $f, 'id' => $node.'/'.$f, 'leaf' => true, 'cls' => 'file' ); } } $d->close(); } if ($isXml) { $xmlDoc = new DOMDocument(); $root = $xmlDoc->appendChild($xmlDoc->createElement("nodes")); foreach ($nodes as $node) { $xmlNode = $root->appendChild($xmlDoc->createElement("node")); $xmlNode->appendChild($xmlDoc->createElement("text", $node['text'])); $xmlNode->appendChild($xmlDoc->createElement("id", $node['id'])); $xmlNode->appendChild($xmlDoc->createElement("cls", $node['cls'])); $xmlNode->appendChild($xmlDoc->createElement("leaf", isset($node['leaf']))); } header("Content-Type: text/xml"); $xmlDoc->formatOutput = true; echo $xmlDoc->saveXml(); } else { echo json_encode($nodes); }