<?php
//#-----------------------------------------------------------------
//#---- 4 HTML page in one
//#---- 1. To display header
//#---- 2. To display directory listing
//#---- 3. To display welcome page
//#---- 4. To display footer
//#---- Determine by <webpage>?page=<content> link
//#-----------------------------------------------------------------
if ( isset( $_GET['page'] ) )
{ switch ( $_GET['page'])
{
case 'header':
echo "<BODY BGCOLOR=lightyellow>";
echo "<BASE TARGET=_parent>";
echo "<H1>This is the header</H1>";
echo "</BODY>";
break;
case 'footer':
echo "<BODY BGCOLOR=lightyellow>";
echo "<BASE TARGET=_parent>";
echo "<H1>This is the footer</H1>";
echo "</BODY>";
break;
case 'directory':
PageDirectory();
break;
case 'main':
echo "<H1>Hello</H1>";
break;
}
exit;
}
else
{ PageFrameSet();
exit;
}
//#-----------------------------------------------------------------
//#---- FUNCTION :: PageFrameSet()
//#---- DESCRIPTION ::
//#---- Display Frame Set HTML Code
//#-----------------------------------------------------------------
function PageFrameSet()
{
global $_SERVER;
$self_name = $_SERVER['PHP_SELF'];
?>
<HTML>
<HEAD>
<TITLE>Web Information</TITLE>
</HEAD>
<frameset rows="90, *, 90">
<frame name="herader"
target="_top"
src="<?php echo $self_name; ?>?page=header"
frameborder=0
noresize
scrolling="none">
<frameset cols="30%,*">
<frame name="contents"
target="main"
src="<?php echo $self_name; ?>?page=directory"
frameborder=0
scrolling="auto">
<frame name="main"
src="<?php echo $self_name; ?>?page=main"
target="main"
frameborder=0
scrolling="auto">
</frameset>
<frame name="footer"
target="main"
src="<?php echo $self_name; ?>?page=footer"
frameborder=0
noresize
scrolling="none">
<noframes>
<body>
<p>This page uses frames, but your browser doesn't support them.</p>
</body>
</noframes>
</frameset>
<?php
exit;
} // end PageFrameSet
//#-----------------------------------------------------------------
//#---- FUNCTION :: GetFileList($p_dir, $parent_id)
//#---- DESCRIPTION ::
//#---- Read all the file under $p_dir
//#---- The root node id will be the $parent_id
//#---- INPUT ::
//#---- p_dir : root of directory
//#---- Parent_id : node number that contain the tree
//#---- OUTPUT ::
//#---- none
//#---- OTHERS ::
//#-----------------------------------------------------------------
function GetFileList($p_dir="", $parent_id=0, $parent_path="/")
{
global $navtree;
global $file_path;
$dir = $p_dir;
// Open a known directory, and proceed to read its contents
$dh = ( is_dir($dir) ? opendir($dir): FALSE);
if ($dh)
{ while ( ($file = readdir($dh)) !== false )
{ $ftype = filetype("$dir/$file");
if ( $file != "." && $file != ".." )
{ //----- Add a node
// change aafile to file if you want to show file as well
if ( $ftype == "dir" || $ftype == "aafile" )
{
$node_id = $navtree->AddNode($file, $ftype, $parent_id, 0);
$file_path[$node_id] = "$parent_path/$file";
}
//echo "Adding node $node_id : $file <BR>";
if ($ftype == "dir")
{
GetFileList("$dir/$file", $node_id, "$parent_path/$file" );
}
} // if file = "."
} // end while
closedir($dh);
} // if opendir
} // end GetFileList
//#-----------------------------------------------------------------
//#---- FUNCTION :: Transform()
//#---- Transform the plain content to href
//#-----------------------------------------------------------------
function Transform()
{ global $navtree;
global $file_path;
for ($i = 0; $i <= $navtree->no_node; $i ++)
{ $content = $navtree->node_content[$i];
$ftype = $navtree->node_class[$i];
// stuff an icon in front and a href behind
$content = "<IMG SRC='IMAGE/$ftype.gif'></IMG>".
"<A TARGET='main' HREF='".$file_path[$i]."'>$content</A>";
$navtree->node_content[$i] = $content;
}
}
function PageDirectory()
{
include_once "navtree2.php";
global $navtree;
global $_SERVER;
global $file_path;
//======= MAIN CODE ===================================================
//---- Get Data
$root_path="http://".$_SERVER['SERVER_NAME'];
$file_path[0] = $root_path;
$navtree = new NAVTREE2("DIVTREE", "ROOT", "ROOT", 0);
GetFileList($_SERVER['DOCUMENT_ROOT'], 0, $root_path);
Transform();
//----- Set Style - as in the node_class during AddNode
echo "<HTML>";
echo "<HEAD>";
echo "<STYLE>";
echo "A, .dir { font: bold 8pt; color: black; background: lightblue;}";
echo ":hover { background: yellow;}";
echo ":visited { color: black;}";
echo ":hover { background: yellow;}";
echo ".root { font: bold 10pt}";
echo "</STYLE>";
echo "</HEAD>";
echo "<BODY>";
//---- Generate a Dynamic Tree
echo "<DIV id='DIVTREE' style='width:300; background: lightgreen;'>GenTree</DIV>";
$navtree->GenJSTree();
echo "</BODY></HTML>";
} // End Page Directory
?>
|