<script>var myData = [];</script>
using PHP. Folders name are link, when clicked on them it goes to next level. But when the folder don't have any sub folder or files, then there is no value in <script>var myData = [];</script>
, it gives me javascript error.
<html>
<head>
<title>Browse Archive</title>
<style> body, html {margin:0px; padding: 0px; overflow: hidden;} </style>
<!-- ActiveWidgets stylesheet and scripts -->
<link href="library/runtime/styles/xp/grid.css" rel="stylesheet" type="text/css" ></link>
<script src="library/runtime/lib/grid.js"></script>
<!-- grid format -->
<style>
.active-controls-grid {height: 100%; font: menu;}
.active-column-0 {width: 200px;}
.active-column-1 {width: 80px; text-align: right;}
.active-column-2 {width: 150px;}
.active-column-3 {width: 120px;}
.active-box-image {height: 16px;} /* for firefox 0.8 */
.active-selection-true a {color: highlighttext}
.active-selection-true .active-column-0 a {color: #000000}
.active-row-highlight {background-color: #ebeadb}
.active-row-highlight .active-row-cell {background-color: #ebeadb}
</style>
</head>
<body>
<?
$qpath = trim($HTTP_GET_VARS["path"]);
if ($qpath == ""){
$qpath = "I:\\\\asp_dev";
}
else{
$qpath = trim($HTTP_GET_VARS["path"]);
}
$qfrom = stripslashes(trim($HTTP_GET_VARS["from"]));
echo $qpath;
function getDirList ($dirName) {
$d = dir($dirName);
echo "<script>";
echo "var myData = [";
while($entry = $d->read()) {
if ($entry != "." && $entry != ".." && $entry != "ICON_" && $entry != "Icon_") {
$path = $dirName."\\".$entry;
if (is_dir($dirName."\\".$entry)) {
$count = $count +1;
$folder_name = $entry;
$path_f = $dirName."\\\\".$entry;
?>
["<a href='fb_right.php?from=self&path=<?echo $path_f?>'><?echo $folder_name?></a>", "", "<? echo filetype($path)?>", "<?echo date ('F d Y H:i:s', filemtime($path)) ?>", "folder"],
<?
}else {
$count = $count +1;
$file_name = $entry;
?>
["<?echo $file_name?>", "<? echo ROUND(filesize($path)/1024)?>KB", "<?echo filetype($path)?>", "<?echo date ("F d Y H:i:s", filemtime($path))?>", ""],
<?
}
}
}
echo "];";
echo "</script>";
return $count;
$d->close();
}
//<a href=echo $dirName."/".$file_name target='_blank'>
$row = getDirList($qpath);
?>
<!-- grid data -->
<script>
// create ActiveWidgets Grid javascript object
var obj = new Active.Controls.Grid;
// set the first column template to image+text
obj.setColumnTemplate(new Active.Templates.Image, 0);
// set number of rows/columns
obj.setRowProperty("count", <?echo $row?>);
obj.setColumnProperty("count", 4);
// provide cells and headers text
obj.setDataProperty("text", function(i, j){return myData[i][j]});
//-------obj.setDataProperty("image", function(i, j){return myData[i][4]});
// sort by size so that folders are at the top
obj.sort(2, "ascending");
// provide column headers
obj.setColumnProperty("texts" , ["Name", "Size", "Type", "Date Modified"]);
// set column/row headers width/height
obj.setColumnHeaderHeight("20px");
obj.setRowHeaderWidth("0px");
// add tooltips to the first column template and data model
obj.getColumnTemplate(0).setAttribute("title", function(){return this.getItemProperty("tooltip")});
obj.defineDataProperty("tooltip", function(i, j){return "Type: " + myData[i][2] + "\nDate Modified: " + myData[i][3] + "\nSize: " + myData[i][1]});
// onmouseover and onmouseout effect
var row = obj.getTemplate("row");
row.setEvent("onmouseover", "mouseover(this, 'active-row-highlight')");
row.setEvent("onmouseout", "mouseout(this, 'active-row-highlight')");
// set right click
obj.setEvent("oncontextmenu");
// write grid html to the page
document.write(obj);
</script>
</body>
</html>
This topic is archived.