summaryrefslogtreecommitdiffstats
path: root/usr/local/www/filebrowser
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2008-08-30 23:38:15 +0000
committerScott Ullrich <sullrich@pfsense.org>2008-08-30 23:38:15 +0000
commit9dd502adcb9998bd1cb5a7974a117fa8910d78ae (patch)
treebc4061d555d379f3f4113a75ac1f2067c63b4c88 /usr/local/www/filebrowser
parent0d6a185a727a8e68255e0b6687120bb5fa0bb643 (diff)
downloadpfsense-9dd502adcb9998bd1cb5a7974a117fa8910d78ae.zip
pfsense-9dd502adcb9998bd1cb5a7974a117fa8910d78ae.tar.gz
Add missing files
Diffstat (limited to 'usr/local/www/filebrowser')
-rw-r--r--usr/local/www/filebrowser/browser.js42
-rw-r--r--usr/local/www/filebrowser/browser.php133
-rw-r--r--usr/local/www/filebrowser/images/file_code.gifbin0 -> 610 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_database.gifbin0 -> 621 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_doc.gifbin0 -> 1061 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_flash.gifbin0 -> 627 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_generic.gifbin0 -> 1068 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_image.gifbin0 -> 608 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_js.gifbin0 -> 1077 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_pdf.gifbin0 -> 603 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_php.gifbin0 -> 603 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_ppt.gifbin0 -> 1071 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_system.gifbin0 -> 601 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_xls.gifbin0 -> 1060 bytes
-rw-r--r--usr/local/www/filebrowser/images/file_zip.gifbin0 -> 612 bytes
-rw-r--r--usr/local/www/filebrowser/images/folder_generic.gifbin0 -> 996 bytes
-rw-r--r--usr/local/www/filebrowser/images/icon_cancel.gifbin0 -> 1024 bytes
-rw-r--r--usr/local/www/filebrowser/images/icon_contract.gifbin0 -> 599 bytes
-rw-r--r--usr/local/www/filebrowser/images/icon_expand.gifbin0 -> 613 bytes
-rw-r--r--usr/local/www/filebrowser/images/icon_home.gifbin0 -> 1027 bytes
-rw-r--r--usr/local/www/filebrowser/images/icon_left.gifbin0 -> 306 bytes
-rw-r--r--usr/local/www/filebrowser/images/icon_magnifier.gifbin0 -> 568 bytes
22 files changed, 175 insertions, 0 deletions
diff --git a/usr/local/www/filebrowser/browser.js b/usr/local/www/filebrowser/browser.js
new file mode 100644
index 0000000..61b9e69
--- /dev/null
+++ b/usr/local/www/filebrowser/browser.js
@@ -0,0 +1,42 @@
+Event.observe(
+ window, "load",
+ function() {
+ Event.observe(
+ "fbOpen", "click",
+ function() {
+ Effect.Appear("fbBrowser", { duration: 0.75 });
+ fbBrowse($("fbTarget").value);
+ }
+ );
+ }
+);
+
+function fbBrowse(path) {
+ if($("fbCurrentDir"))
+ $("fbCurrentDir").innerHTML = "Loading ...";
+
+ new Ajax.Request(
+ "/filebrowser/browser.php?path=" + encodeURI(path ? path : "/"),
+ { method: "get", onComplete: fbComplete }
+ );
+}
+
+function fbComplete(req) {
+ $("fbBrowser").innerHTML = req.responseText;
+
+ var actions = {
+ fbHome: function() { fbBrowse("/"); },
+ fbClose: function() { Effect.Fade("fbBrowser", { duration: 0.75 }); },
+ fbDir: function() { fbBrowse(this.id); },
+ fbFile: function() { $("fbTarget").value = this.id; }
+ }
+
+ for(var type in actions) {
+ $A(Element.getElementsByClassName("fbBrowser", type)).each(
+ function(element) {
+ Event.observe(element, "click", actions[type]);
+ element.style.cursor = "pointer";
+ }
+ );
+ }
+}
diff --git a/usr/local/www/filebrowser/browser.php b/usr/local/www/filebrowser/browser.php
new file mode 100644
index 0000000..f61bf92
--- /dev/null
+++ b/usr/local/www/filebrowser/browser.php
@@ -0,0 +1,133 @@
+<?php
+// Fetch a list of directories and files inside a given directory
+function get_content($dir) {
+ $dirs = array();
+ $files = array();
+
+ clearstatcache();
+ $fd = @opendir($dir);
+
+ while($entry = @readdir($fd)) {
+ if($entry == ".") continue;
+ if($entry == ".." && $dir == "/") continue;
+
+ if(is_dir("{$dir}/{$entry}"))
+ array_push($dirs, $entry);
+ else
+ array_push($files, $entry);
+ }
+
+ @closedir($fd);
+
+ natsort($dirs);
+ natsort($files);
+
+ return array($dirs, $files);
+}
+
+$path = realpath(strlen($_GET['path']) > 0 ? $_GET['path'] : "/");
+if(is_file($path))
+ $path = dirname($path);
+
+// ----- header -----
+?>
+<table width="100%">
+ <tr>
+ <td class="fbHome" width="25px" align="left">
+ <img src="/filebrowser/images/icon_home.gif" alt="Home" title="Home" />
+ </td>
+ <td></td>
+ <td class="fbClose" align="right">
+ <img onClick="new Effect.Fade($('fbBrowser'));" border="0" src="/filebrowser/images/icon_cancel.gif" alt="Close" title="Close" />
+ </td>
+ </tr>
+ <tr>
+ <td id="fbCurrentDir" colspan="3" class="vexpl" align="left">
+<?php
+
+// ----- read contents -----
+if(is_dir($path)) {
+ list($dirs, $files) = get_content($path);
+?>
+ <?=$path;?>
+ </td>
+ </tr>
+<?php
+}
+else {
+?>
+ Directory does not exist.
+ </td>
+ </tr>
+</table>
+<?php
+ exit;
+}
+
+// ----- directories -----
+foreach($dirs as $dir):
+ $realDir = realpath("{$path}/{$dir}");
+?>
+ <tr>
+ <td></td>
+ <td class="fbDir vexpl" id="<?=$realDir;?>" align="left">
+ <div onClick="$('fbTarget').value='<?=$realDir?>'; fbBrowse('<?=$realDir?>');">
+ <img src="/filebrowser/images/folder_generic.gif" />
+ &nbsp;&nbsp;&nbsp;<?=$dir;?>
+ </div>
+ </td>
+ <td></td>
+ </tr>
+<?php
+endforeach;
+
+// ----- files -----
+foreach($files as $file):
+ $ext = strrchr($file, ".");
+
+ if($ext == ".css" ) $type = "code";
+ elseif($ext == ".html") $type = "code";
+ elseif($ext == ".xml" ) $type = "code";
+ elseif($ext == ".rrd" ) $type = "database";
+ elseif($ext == ".gif" ) $type = "image";
+ elseif($ext == ".jpg" ) $type = "image";
+ elseif($ext == ".png" ) $type = "image";
+ elseif($ext == ".js" ) $type = "js";
+ elseif($ext == ".pdf" ) $type = "pdf";
+ elseif($ext == ".inc" ) $type = "php";
+ elseif($ext == ".php" ) $type = "php";
+ elseif($ext == ".conf") $type = "system";
+ elseif($ext == ".pid" ) $type = "system";
+ elseif($ext == ".sh" ) $type = "system";
+ elseif($ext == ".bz2" ) $type = "zip";
+ elseif($ext == ".gz" ) $type = "zip";
+ elseif($ext == ".tgz" ) $type = "zip";
+ elseif($ext == ".zip" ) $type = "zip";
+ else $type = "generic";
+
+ $fqpn = "{$path}/{$file}";
+
+ if(is_file($fqpn)) {
+ $fqpn = realpath($fqpn);
+ $size = sprintf("%.2f KiB", filesize($fqpn) / 1024);
+ }
+ else
+ $size = "";
+
+?>
+ <tr>
+ <td></td>
+ <td class="fbFile vexpl" id="<?=$fqpn;?>" align="left">
+ <div onClick="$('fbTarget').value='<?=$path?><?=$file?>'; loadFile(); new Effect.Fade($('fbBrowser'));">
+ <img src="/filebrowser/images/file_<?=$type;?>.gif" alt="" title="">
+ &nbsp;&nbsp;&nbsp;<?=$file;?>
+ </div>
+ </td>
+ <td align="right" class="vexpl">
+ <?=$size;?>
+ </td>
+ </tr>
+<?php
+endforeach;
+?>
+</table>
diff --git a/usr/local/www/filebrowser/images/file_code.gif b/usr/local/www/filebrowser/images/file_code.gif
new file mode 100644
index 0000000..f06a205
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_code.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_database.gif b/usr/local/www/filebrowser/images/file_database.gif
new file mode 100644
index 0000000..d479c91
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_database.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_doc.gif b/usr/local/www/filebrowser/images/file_doc.gif
new file mode 100644
index 0000000..222c31b
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_doc.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_flash.gif b/usr/local/www/filebrowser/images/file_flash.gif
new file mode 100644
index 0000000..e565c37
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_flash.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_generic.gif b/usr/local/www/filebrowser/images/file_generic.gif
new file mode 100644
index 0000000..5f39482
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_generic.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_image.gif b/usr/local/www/filebrowser/images/file_image.gif
new file mode 100644
index 0000000..4960683
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_image.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_js.gif b/usr/local/www/filebrowser/images/file_js.gif
new file mode 100644
index 0000000..9b6601f
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_js.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_pdf.gif b/usr/local/www/filebrowser/images/file_pdf.gif
new file mode 100644
index 0000000..b01bb23
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_pdf.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_php.gif b/usr/local/www/filebrowser/images/file_php.gif
new file mode 100644
index 0000000..ab7f459
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_php.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_ppt.gif b/usr/local/www/filebrowser/images/file_ppt.gif
new file mode 100644
index 0000000..0383c98
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_ppt.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_system.gif b/usr/local/www/filebrowser/images/file_system.gif
new file mode 100644
index 0000000..f1997c7
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_system.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_xls.gif b/usr/local/www/filebrowser/images/file_xls.gif
new file mode 100644
index 0000000..d004013
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_xls.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/file_zip.gif b/usr/local/www/filebrowser/images/file_zip.gif
new file mode 100644
index 0000000..ec98255
--- /dev/null
+++ b/usr/local/www/filebrowser/images/file_zip.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/folder_generic.gif b/usr/local/www/filebrowser/images/folder_generic.gif
new file mode 100644
index 0000000..45b191d
--- /dev/null
+++ b/usr/local/www/filebrowser/images/folder_generic.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/icon_cancel.gif b/usr/local/www/filebrowser/images/icon_cancel.gif
new file mode 100644
index 0000000..246a819
--- /dev/null
+++ b/usr/local/www/filebrowser/images/icon_cancel.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/icon_contract.gif b/usr/local/www/filebrowser/images/icon_contract.gif
new file mode 100644
index 0000000..cf82159
--- /dev/null
+++ b/usr/local/www/filebrowser/images/icon_contract.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/icon_expand.gif b/usr/local/www/filebrowser/images/icon_expand.gif
new file mode 100644
index 0000000..06c0c68
--- /dev/null
+++ b/usr/local/www/filebrowser/images/icon_expand.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/icon_home.gif b/usr/local/www/filebrowser/images/icon_home.gif
new file mode 100644
index 0000000..f888434
--- /dev/null
+++ b/usr/local/www/filebrowser/images/icon_home.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/icon_left.gif b/usr/local/www/filebrowser/images/icon_left.gif
new file mode 100644
index 0000000..0d1137c
--- /dev/null
+++ b/usr/local/www/filebrowser/images/icon_left.gif
Binary files differ
diff --git a/usr/local/www/filebrowser/images/icon_magnifier.gif b/usr/local/www/filebrowser/images/icon_magnifier.gif
new file mode 100644
index 0000000..e96e548
--- /dev/null
+++ b/usr/local/www/filebrowser/images/icon_magnifier.gif
Binary files differ
OpenPOWER on IntegriCloud