75 lines
2.9 KiB
PHP
75 lines
2.9 KiB
PHP
<?php
|
|
/**
|
|
* "pdirl" (PHP Directory Listing) is a tiny directory lister program.
|
|
* It is meant to be better looking and more useful than the directory
|
|
* listings produced by Apache.
|
|
*
|
|
* Documentation written in bad english.
|
|
*
|
|
* @name pdirl
|
|
* @version 1.0.3beta
|
|
* @author Rene Zuewig <rene@newroots.de>
|
|
* @uses Tango Icon Theme 0.8.90 <http://tango.freedesktop.org>
|
|
* @link http://pdirl.newroots.de/
|
|
* @example http://pdirl.newroots.de/examples
|
|
* @license http://opensource.org/licenses/mit-license.php MIT/X11 License
|
|
*/
|
|
|
|
require ('.pdirl/config.php');
|
|
// File search, dir listing class, with some usefull functions
|
|
require ('.pdirl/pdlc.class.php');
|
|
require ('.pdirl/guifunctions.php'); // Function for the pdirl gui template
|
|
|
|
// initialise pdlc
|
|
$pdlc = new pdlc($conf); // needs $conf, which was defined in config.php
|
|
// if mod_rewrite is activated, rewrite the URL
|
|
modRewriteRedirect();
|
|
// get the elements for the search/dirlist query
|
|
$pdlc -> requestElements();
|
|
// sort them, for sorting see config
|
|
$pdlc -> sortElements();
|
|
$elements = $pdlc -> getElements();
|
|
|
|
/* So, now the ehm.. 'GUI' part...
|
|
* At this line you probably would ask, why there is no GUI class or
|
|
* something, but just a bunch of more or less useful functions.
|
|
* The best reason is, that the html template part of pdirl was the best
|
|
* example to show how syntax higlighting can look like a code LSD trip.
|
|
* Everytime you would have to use "$pdirl->" and "$pdirlView ->" etc...
|
|
* The other reason is, that the code and the template weren't
|
|
* understandable, so I made them simpler.
|
|
* For GUI configuration use $GUIconf istead of $conf.
|
|
* $GUIconf has default values if they are empty in $conf
|
|
*/
|
|
$GUIconf = defaultGUIConfiguration($conf);
|
|
|
|
// Set GNU gettext to the current language
|
|
if (!setLanguage($GUIconf['language']))
|
|
die ('No translation avaible for "' . $GUIconf['language'] . '". Please look at <a href="https://translations.launchpad.net/pdirl">translations.launchpad.net/pdirl</a>\ if pdirl was translated in your language yet.');
|
|
|
|
// Get elements and add human readable variables e.g. size, mtime etc.
|
|
addHumanInformation($elements);
|
|
// returns an array for the directories and another for the files.
|
|
seperateDirectoriesAndFiles($elements);
|
|
/* if they are no files and countOnly is activated we will remove
|
|
* the "Last modification" column
|
|
*/
|
|
$hideMTime = (empty($elements['files']) && $pdlc -> countElements);
|
|
// glues the aforementioned arrays
|
|
if (!empty($elements['directories']) || !empty($elements['files'])) {
|
|
$elements = array_merge($elements['directories'], $elements['files']);
|
|
} else {
|
|
$elements = array();
|
|
}
|
|
|
|
// include template
|
|
require ('.pdirl/templates/'.$GUIconf['template'].'/index.php');
|
|
|
|
/*
|
|
// for debugging ;-)
|
|
echo "scriptDirectory(): ".scriptDirectory()."<br />";
|
|
echo "currentDirectory(): ".currentDirectory()."<br />";
|
|
echo "<pre>";
|
|
print_r($elements);
|
|
echo "</pre>";*/
|
|
?>
|