Hi Alex,
I am listing files and folders. I am dynamically putting values in to
<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.
So what I want is if there is no values in myData as above, then what should I do, so that javascript error does not come up.
<html>
<head>
<title>Browse Archive</title>
<style> body, html {margin:0px; padding: 0px; overflow: hidden;} </style>
<link href="library/runtime/styles/xp/grid.css" rel="stylesheet" type="text/css" ></link>
<script src="library/runtime/lib/grid.js"></script>
<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;}
.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();
}
$row = getDirList($qpath);
?>
<script>
var obj = new Active.Controls.Grid;
obj.setColumnTemplate(new Active.Templates.Image, 0);
obj.setRowProperty("count", <?echo $row?>);
obj.setColumnProperty("count", 4);
obj.setDataProperty("text", function(i, j){return myData[i][j]});
obj.sort(2, "ascending");
obj.setColumnProperty("texts" , ["Name", "Size", "Type", "Date Modified"]);
obj.setColumnHeaderHeight("20px");
obj.setRowHeaderWidth("0px");
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]});
var row = obj.getTemplate("row");
row.setEvent("onmouseover", "mouseover(this, 'active-row-highlight')");
row.setEvent("onmouseout", "mouseout(this, 'active-row-highlight')");
obj.setEvent("oncontextmenu");
document.write(obj);
</script>
</body>
</html>