Added PHP directory listing
3
files/.bzr/README
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
This is a Bazaar control directory.
|
||||||
|
Do not change any files in this directory.
|
||||||
|
See http://bazaar.canonical.com/ for more information about Bazaar.
|
1
files/.bzr/branch-format
Normal file
@ -0,0 +1 @@
|
|||||||
|
Bazaar-NG meta directory, format 1
|
1
files/.bzr/branch/branch.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
push_location = http://bazaar.launchpad.net/~zuwig/pdirl/dev-1.0/
|
1
files/.bzr/branch/format
Normal file
@ -0,0 +1 @@
|
|||||||
|
Bazaar Branch Format 7 (needs bzr 1.6)
|
1
files/.bzr/branch/last-revision
Normal file
@ -0,0 +1 @@
|
|||||||
|
1 zuwig-20120516232456-kcaglp2jk1vzqwz1
|
0
files/.bzr/branch/tags
Normal file
1
files/.bzr/checkout/conflicts
Normal file
@ -0,0 +1 @@
|
|||||||
|
BZR conflict list format 1
|
BIN
files/.bzr/checkout/dirstate
Normal file
1
files/.bzr/checkout/format
Normal file
@ -0,0 +1 @@
|
|||||||
|
Bazaar Working Tree Format 6 (bzr 1.14)
|
0
files/.bzr/checkout/views
Normal file
1
files/.bzr/repository/format
Normal file
@ -0,0 +1 @@
|
|||||||
|
Bazaar repository format 2a (needs bzr 1.16 or later)
|
@ -0,0 +1,5 @@
|
|||||||
|
B+Tree Graph Index 2
|
||||||
|
node_ref_lists=0
|
||||||
|
key_elements=1
|
||||||
|
len=0
|
||||||
|
row_lengths=
|
BIN
files/.bzr/repository/pack-names
Normal file
8
files/.htaccess
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
RewriteEngine on
|
||||||
|
RewriteCond %{REQUEST_URI} !/$
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteCond %{REQUEST_FILENAME} -d
|
||||||
|
RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
|
||||||
|
RewriteCond %{REQUEST_FILENAME} -d [NC]
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f [NC]
|
||||||
|
RewriteRule ^(.*)$ index.php?%{QUERY_STRING}&directory=$1&modrewrite=1 [QSA]
|
109
files/.pdirl/config.php
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* NOTICE: Only an empty string '' means, that the default/dynamic value will be chosen!
|
||||||
|
* 0 means off, false means no value. If you want to turn something off, then please use 0 instead of false or ''.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* "debug mode"
|
||||||
|
* <http://php.net/manual/en/function.error-reporting.php>
|
||||||
|
* If something's not working, remove the both slashes before error_reporting and report the bug to:
|
||||||
|
* <https://bugs.launchpad.net/pdirl>
|
||||||
|
*/
|
||||||
|
//error_reporting(E_ALL);
|
||||||
|
|
||||||
|
$conf = array (
|
||||||
|
|
||||||
|
/* Language must be in ISO 639 format <http://en.wikipedia.org/wiki/ISO_639>
|
||||||
|
* e.g. for French type 'fr_FR', for Italian 'it_IT' or for Simplified Chinese 'zh_CN' etc.
|
||||||
|
* If you are running pdirl on ubuntu, run "sudo locale-gen xx_YY.UTF-8", xx = Language, YY = Country
|
||||||
|
* If you want to use English, fill in 'en_GB' or leave the field blank ''. */
|
||||||
|
'language' => 'en_GB',
|
||||||
|
|
||||||
|
/* The domain that will be shown in the title and the breadcrumb navigation.
|
||||||
|
* You can fill in something like "files.yoursite.org"
|
||||||
|
* Leave it blank to automaticly detect the host with $_SERVER['HTTP_HOST'] */
|
||||||
|
'host' => '',
|
||||||
|
|
||||||
|
'ignore' => array( // files/directories pdirl should ignore
|
||||||
|
"index.php",
|
||||||
|
".htaccess",
|
||||||
|
".pdirl"
|
||||||
|
),
|
||||||
|
|
||||||
|
'listhidden' => '', // Show hidden files
|
||||||
|
|
||||||
|
'searchenabled' => '',
|
||||||
|
|
||||||
|
'searchtag' => '', // Search string, leave it blank it will change through user input.
|
||||||
|
|
||||||
|
/* What does "case-sensitive" mean?
|
||||||
|
* If you search for "a", you will get in a case-insensitive search "amarok" and "Amarok",
|
||||||
|
* in a case-sensitive only "amarok". Case sensitive means that you have to mind the capitalization.
|
||||||
|
* Default value is case-insensitive, $conf['searchcasesensitive'] = false;. */
|
||||||
|
'searchcasesensitive' => '',
|
||||||
|
|
||||||
|
'searchhidden' => '', // Show hidden files in search
|
||||||
|
|
||||||
|
/* do not check size and modification date of a directory,
|
||||||
|
* but just the number of elements in it
|
||||||
|
* it is on by default */
|
||||||
|
'countelements' => '',
|
||||||
|
|
||||||
|
/* How pdirl should sort the files.
|
||||||
|
* You can sort according to:
|
||||||
|
* file/directory name - 'name'
|
||||||
|
* path - 'path'
|
||||||
|
* location - 'location'
|
||||||
|
* size - 'bytes'
|
||||||
|
* last modification time - 'mtime'
|
||||||
|
* type - 'type'
|
||||||
|
* Sorting order:
|
||||||
|
* ascending - 'SORT_ASC'
|
||||||
|
* descending - 'SORT_DESC'
|
||||||
|
* regular - 'SORT_REGULAR'
|
||||||
|
* numeric (strings, too) - 'SORT_NUMERIC'
|
||||||
|
* as a string (intergers, too) - 'SORT_STRING'
|
||||||
|
*
|
||||||
|
* default: array('key' => 'name', 'sort' => 'SORT_ASC')
|
||||||
|
*/
|
||||||
|
'sort' => '',
|
||||||
|
|
||||||
|
/* Allow the user to sort elements
|
||||||
|
* on by default
|
||||||
|
*/
|
||||||
|
'usersort' => '',
|
||||||
|
|
||||||
|
/* Why the hell are MIME-types and extensions mixed here?
|
||||||
|
* Because it's the fastest and simpliest way and very often the MIME-type part after the slash is the same as the file extension.
|
||||||
|
* e.g. application/zip and .zip */
|
||||||
|
'types' => array (
|
||||||
|
'text' => array('ppt', 'pptx', 'doc', 'docx', 'txt', 'rtf', 'odf', 'odt', 'ods', 'odp', 'odg', 'odc', 'odi', 'nfo', 'xml', 'pdf', 'x-office-document'),
|
||||||
|
'package' => array('7z', 'dmg', 'rar', 'sit', 'zip', 'bzip', 'gz', 'tar', 'deb', 'bz2', 'bz', 'x-compressed-tar', 'iso'),
|
||||||
|
'program' => array('exe', 'msi', 'mse', 'sh', 'bat', 'x-executable', 'x-ms-dos-executable'),
|
||||||
|
'web' => array('js', 'html', 'htm', 'xhtml', 'tpl', 'jsp', 'asp', 'aspx', 'php', 'css'),
|
||||||
|
'video' => array('x-shockwave-flash', 'mv4', 'bup', 'mkv', 'ifo', 'flv', 'vob', '3g2', 'bik', 'xvid', 'divx', 'wmv', 'avi', '3gp', 'mp4', 'mov', '3gpp', '3gp2', 'swf', 'ogv'),
|
||||||
|
'audio' => array('spx', 'ogg', 'oga', 'mp3', 'wav', 'midi', 'mid', 'aac', 'wma', 'xm'),
|
||||||
|
'image' => array('ai', 'bmp', 'eps', 'gif', 'ico', 'jpg', 'jpeg', 'png', 'psd', 'psp', 'raw', 'tga', 'tif', 'tiff'),
|
||||||
|
),
|
||||||
|
|
||||||
|
'template' => '', // The template for pdirl, default value is 'default' ;-)
|
||||||
|
|
||||||
|
'icons' => '', // Which icons to use, default value is 'default'
|
||||||
|
|
||||||
|
/*
|
||||||
|
* modrewrite makes more readable URLs.
|
||||||
|
* If you leave it blank, pdirl detects if its turned on and activates nicer urls
|
||||||
|
*/
|
||||||
|
'modrewrite' => '',
|
||||||
|
|
||||||
|
// /* The directory you want to list.
|
||||||
|
// * You can fill in something like "downloads/" or leave it blank (default).
|
||||||
|
// * If you leave it blank it will dynamicly select the directory that the user requested.
|
||||||
|
// * It is as I think tecnically impossible to implement a redirection like "/test" to "downloads/test"
|
||||||
|
// * because you can't implement variables of the config into htaccess */
|
||||||
|
// 'directory' => 'examples/',
|
||||||
|
|
||||||
|
// 'scriptpath' => '', // Relative path to this script
|
||||||
|
)
|
||||||
|
?>
|
357
files/.pdirl/guifunctions.php
Normal file
@ -0,0 +1,357 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adjusts user configuration with default configuration.
|
||||||
|
* If a configuration key has an empty value, use a default value instead
|
||||||
|
* @param array $configuration
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function defaultGUIConfiguration($configuration) {
|
||||||
|
$default = array(
|
||||||
|
'language' => 'en_GB',
|
||||||
|
'template' => 'default',
|
||||||
|
'icons' => 'default',
|
||||||
|
);
|
||||||
|
// replace empty configuration variables with the default ones
|
||||||
|
return $GLOBALS['pdlc'] -> configuration($configuration,
|
||||||
|
$default);
|
||||||
|
}
|
||||||
|
|
||||||
|
function modRewriteRedirect () {
|
||||||
|
if(!empty($_GET['gosearch'])) {
|
||||||
|
if ($GLOBALS['pdlc'] -> modRewrite)
|
||||||
|
header('Location: http://'. host() .
|
||||||
|
dirname($_SERVER['REQUEST_URI']) .
|
||||||
|
'/search:'. $_GET['gosearch']);
|
||||||
|
else
|
||||||
|
header('Location: http://' .
|
||||||
|
host() .
|
||||||
|
dirname($_SERVER['REQUEST_URI']) .
|
||||||
|
'/?directory=' .
|
||||||
|
@$_GET['directory'] .
|
||||||
|
'&search='. $_GET['gosearch']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setLanguage($language) {
|
||||||
|
/*
|
||||||
|
* Sets the language from the configuration to use with gettext.
|
||||||
|
* Thanks to <mario.ugedo@gmail.com>
|
||||||
|
*/
|
||||||
|
// Set language
|
||||||
|
setlocale(LC_ALL, $language.'.utf8');
|
||||||
|
putenv('LANG='.$language.'.utf8');
|
||||||
|
// Specify location of translation tables
|
||||||
|
bindtextdomain('default', './.pdirl/languages/');
|
||||||
|
bind_textdomain_codeset('default', 'UTF-8');
|
||||||
|
// Select domain
|
||||||
|
textdomain('default');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Views were planned for the 1.0 series, but I think, it would be better if
|
||||||
|
// I don't build so much features in pdirl-1.0, but fix some security relevant
|
||||||
|
// problems ;-) So you get the view features maybe in some 1.1.x version
|
||||||
|
/**
|
||||||
|
* Returns the current view.
|
||||||
|
* @param object $viewConfiguration [optional]
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function getView($viewConfiguration = false) {
|
||||||
|
// if ($viewConfiguration === '') {
|
||||||
|
// if (!empty($_POST['view'])) {
|
||||||
|
// setcookie('view', htmlspecialchars($_POST['view']), time() + 60 * 60 * 24 * 7, dirname($_SERVER['SCRIPT_NAME'].'/'));
|
||||||
|
// return htmlspecialchars($_POST['view']);
|
||||||
|
// } elseif (!empty($_COOKIE['view'])) {
|
||||||
|
// return $_COOKIE['view'];
|
||||||
|
// } else {
|
||||||
|
// return $this -> defaultView;
|
||||||
|
// }
|
||||||
|
// } else {
|
||||||
|
// return $this -> view;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the view.
|
||||||
|
* @param object $view
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
function setView($view) {
|
||||||
|
// if (setcookie('view', htmlspecialchars($view), time() + 60 * 60 * 24 * 7, dirname($_SERVER['SCRIPT_NAME'].'/')))
|
||||||
|
// return true;
|
||||||
|
// else
|
||||||
|
// return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts bytes to a more readable format. ex. '3,21 KB'
|
||||||
|
* @link http://us3.php.net/manual/en/function.filesize.php#84652
|
||||||
|
* @author <nak5ive@gmail.com>
|
||||||
|
* @param interger $size
|
||||||
|
* @param interger $precision [optional]
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function sizeReadable ($size, $precision = 0) {
|
||||||
|
$sizes = array('YB', 'ZB', 'EB', 'PB', 'TB', 'GB', 'MB', 'KB', 'B');
|
||||||
|
$total = count($sizes);
|
||||||
|
/*
|
||||||
|
* $total is the number how often while was executed.
|
||||||
|
* If you have 10 units and while was executed 3 times, $total is 7.
|
||||||
|
*/
|
||||||
|
while($total-- && $size > 1024)
|
||||||
|
$size /= 1024;
|
||||||
|
$return['number'] = round($size, $precision);
|
||||||
|
$return['unit'] = $sizes[$total];
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns time left from supplied date ex. '3 days ago' etc.
|
||||||
|
* @author <andypsv@rcdrugs.com>
|
||||||
|
* @link http://us.php.net/manual/en/function.time.php
|
||||||
|
* @param interger $timestamp
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function lastModificationReadable($timestamp) {
|
||||||
|
$current = time();
|
||||||
|
$difference = $current - $timestamp;
|
||||||
|
$lengths = array(1, 60, 3600, 86400, 604800, 2630880, 31570560);
|
||||||
|
for ($val = sizeof($lengths) - 1; ($val >= 0) && (($number = $difference / $lengths[$val]) <= 1); $val--);
|
||||||
|
if ($val < 0) $val = 0;
|
||||||
|
$new_time = $current - ($difference % $lengths[$val]);
|
||||||
|
if (floor($number) == 1)
|
||||||
|
$periods = array('second', 'minute', 'hour', 'day', 'week', 'month', 'year');
|
||||||
|
else
|
||||||
|
$periods = array('seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'years');
|
||||||
|
return sprintf(_('%d %s ago'), $number, _($periods[$val]));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns (linked) path navigation
|
||||||
|
* @param string $path
|
||||||
|
* @param boolean $link [optional]
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function path($path=false, $link=false, $absolute=false) {
|
||||||
|
// if (!$path)
|
||||||
|
// $path = $_SERVER['REQUEST_URI'];
|
||||||
|
if ($path == $GLOBALS['pdlc'] -> getScriptPath())
|
||||||
|
$path = dirname($path);
|
||||||
|
$path = explode('?', $path);
|
||||||
|
preg_match('/^(.*)?(search:([^|]+))?\|?(sort:(name|mtime|size)(:(asc|desc))?)?$/', $path[0], $match);
|
||||||
|
$path = $match[1];
|
||||||
|
$path = str_replace('./', '', $path);
|
||||||
|
$dir_array = explode ("/", $path);
|
||||||
|
$counter = 1;
|
||||||
|
$path = "";
|
||||||
|
foreach ($dir_array as $dir) {
|
||||||
|
if ($dir != "") {
|
||||||
|
$dir = htmlspecialchars(urldecode($dir));
|
||||||
|
if ($link) {
|
||||||
|
$linkhref = implode("/", array_slice($dir_array, 0, $counter));
|
||||||
|
if ($GLOBALS['pdlc'] -> modRewrite) {
|
||||||
|
if ($absolute) {
|
||||||
|
$linkhref = '/'.path(scriptPath()).$linkhref;
|
||||||
|
}
|
||||||
|
$path .= '<a href="'.$linkhref.'/">'.$dir.'</a>/';
|
||||||
|
} else {
|
||||||
|
$path .= '<a href="'.scriptPath().'?directory='.$linkhref.'/">'.$dir.'</a>/';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$path .= $dir."/";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$counter++;
|
||||||
|
}
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
function goParent($path = false) {
|
||||||
|
if (!$path)
|
||||||
|
$path = currentDirectory();
|
||||||
|
if (modRewriteActive()) {
|
||||||
|
return scriptDirectory()."/".currentDirectory()."/../..";
|
||||||
|
} else {
|
||||||
|
$parentdir = dirname($path);
|
||||||
|
if ($parentdir == '.')
|
||||||
|
return "?directory=";
|
||||||
|
else
|
||||||
|
return "?directory=".$parentdir."/";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Seperates directories from files
|
||||||
|
* @param array $elements
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function seperateDirectoriesAndFiles(&$elements) {
|
||||||
|
$directories = array();
|
||||||
|
$files = array();
|
||||||
|
if (is_array($elements)) {
|
||||||
|
foreach($elements as $element) {
|
||||||
|
if ($element['directory']) {
|
||||||
|
$directories[] = $element;
|
||||||
|
} else {
|
||||||
|
$files[] = $element;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Sort directories by their number of elements not their bytes
|
||||||
|
if (sortKey() == 'bytes' && !empty($directories))
|
||||||
|
$directories = sortElements($directories, array('key'=>'numberofelements', 'sort'=>sortOrder()));
|
||||||
|
$elements = array('directories' => $directories, 'files' => $files);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds human readable modfication time and size.
|
||||||
|
* @param array $elements
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function addHumanInformation (&$elements) {
|
||||||
|
if (is_array($elements)) {
|
||||||
|
foreach ($elements as $key => $elementData) {
|
||||||
|
if ($elementData['readable']) {
|
||||||
|
$elements[$key]['sizer'] = sizeReadable($elementData['bytes']);
|
||||||
|
$elements[$key]['mtimer'] = lastModificationReadable($elementData['mtime']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* abbreviated form of <img src="index.php?icon=blablablabla...
|
||||||
|
* @param string $icon
|
||||||
|
* @param string $iconDesc [optional]
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function imgTagIcon ($icon, $iconDesc = '') {
|
||||||
|
printf('<img src="%s/%s.png" alt="%s" title="%3$s" class="%2$s" />', iconDirectory(), $icon, _($iconDesc));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* translated filetype info
|
||||||
|
* @param string $type
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function filetypeInfo ($type) {
|
||||||
|
$typesList = array (
|
||||||
|
'audio' => 'Audio file',
|
||||||
|
'image' => 'Image file',
|
||||||
|
'web' => 'Web document',
|
||||||
|
'text' => 'Text document',
|
||||||
|
'package' => 'Compressed package',
|
||||||
|
'program' => 'Application',
|
||||||
|
'directory' => 'Directory',
|
||||||
|
'default' => 'Unknown file type',
|
||||||
|
);
|
||||||
|
return _($typesList[$type]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* breadcumb navigation, $pdirlView -> path () doesn't return the actual directory in plain text format, but in slash-seperated links of directories.
|
||||||
|
* e.g. <a>dir</a>/<a>anotherdir</a>/<a>blubb</a>
|
||||||
|
* $pdirl -> getHost ($link) gives out the current hostname, if $link's true, it will give out a link
|
||||||
|
* A combination of getHost(1) and path() returns a breadcumb navigation
|
||||||
|
*/
|
||||||
|
function printBreadcrumb () {
|
||||||
|
$scriptDirPath = scriptDirectory();
|
||||||
|
// path: bla/bla/blubb
|
||||||
|
$scriptDirPath = explode('/', $scriptDirPath);
|
||||||
|
// folder: blubb
|
||||||
|
$scriptFolder = array_pop($scriptDirPath);
|
||||||
|
// path: bla/bla/
|
||||||
|
$scriptDirPath = implode('/', $scriptDirPath);
|
||||||
|
$breadcrumbPath = sprintf('%s/%s<a href="%s/%s/">%s</a>%s',
|
||||||
|
host($link = true),
|
||||||
|
path($scriptDirPath),
|
||||||
|
$scriptDirPath,
|
||||||
|
$scriptFolder,
|
||||||
|
path($scriptFolder),
|
||||||
|
path(currentDirectory(), true, true));
|
||||||
|
|
||||||
|
if (searchTag()) {
|
||||||
|
// It wil return "search for 'searchkeyword' in host/path
|
||||||
|
printf(_('Search for "%s" in %s'), searchTag(), $breadcrumbPath);
|
||||||
|
} else {
|
||||||
|
echo _('Directory listing for '), $breadcrumbPath;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function sortLink($key, $text) {
|
||||||
|
if (userSortActive()) {
|
||||||
|
$sortlink = "<a ";
|
||||||
|
if (sortKey() == $key) {
|
||||||
|
$classorder = str_replace(array('SORT_ASC', 'SORT_DESC'), array('asc', 'desc'), sortOrder());
|
||||||
|
$sortlink .= 'class="'.$classorder.'" ';
|
||||||
|
$linkorder = sortOrder(true); // adesc
|
||||||
|
} else {
|
||||||
|
$linkorder = "SORT_ASC";
|
||||||
|
}
|
||||||
|
$sortlink .= ' href="'.scriptPath().'?sortkey='.$key.'&sortorder='.$linkorder.'&directory='.currentDirectory();
|
||||||
|
if (searchTag() != '')
|
||||||
|
$sortlink .= '&search='.searchTag();
|
||||||
|
$sortlink .= '">'.$text.'</a>';
|
||||||
|
} else {
|
||||||
|
$sortlink = $text;
|
||||||
|
}
|
||||||
|
echo $sortlink;
|
||||||
|
}
|
||||||
|
|
||||||
|
function currentTemplate() {
|
||||||
|
return $GLOBALS['GUIconf']['template'];
|
||||||
|
}
|
||||||
|
|
||||||
|
function templateDirectory() {
|
||||||
|
return scriptDirectory().'/.pdirl/templates/'.currentTemplate();
|
||||||
|
}
|
||||||
|
|
||||||
|
function currentIcons() {
|
||||||
|
return $GLOBALS['GUIconf']['icons'];
|
||||||
|
}
|
||||||
|
|
||||||
|
function iconDirectory() {
|
||||||
|
return scriptDirectory().'/.pdirl/icons/'.currentIcons();
|
||||||
|
}
|
||||||
|
|
||||||
|
function searchInput () {
|
||||||
|
if (searchTag())
|
||||||
|
return searchTag();
|
||||||
|
else
|
||||||
|
return _('Search...');
|
||||||
|
}
|
||||||
|
|
||||||
|
function host ($link = false) {
|
||||||
|
if ($link) {
|
||||||
|
return sprintf('<a href="http://%s">%1$s</a>', $GLOBALS['pdlc'] -> getHost($link));
|
||||||
|
} else {
|
||||||
|
return $GLOBALS['pdlc'] -> getHost($link);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function searchTag() {return $GLOBALS['pdlc'] -> getSearchTag();}
|
||||||
|
function scriptPath() {return $GLOBALS['pdlc'] -> getScriptPath();}
|
||||||
|
function scriptDirectory() {return $GLOBALS['pdlc'] -> getScriptDirectory();}
|
||||||
|
function currentDirectory() {return $GLOBALS['pdlc'] -> getCurrentDirectory();}
|
||||||
|
function numberOfElements() {return $GLOBALS['pdlc'] -> getNumberOfElements();}
|
||||||
|
function totalSize() {return $GLOBALS['pdlc'] -> getTotalSize();}
|
||||||
|
function urlPath($path) {return $GLOBALS['pdlc'] -> urlPath($path);}
|
||||||
|
function sortOrder($r=false){return $GLOBALS['pdlc'] -> getSortOrder($r);}
|
||||||
|
function sortKey() {return $GLOBALS['pdlc'] -> getSortKey();}
|
||||||
|
function sortElements($elementsVar = false, $sortOptions = false){
|
||||||
|
return $GLOBALS['pdlc'] -> sortElements($elementsVar, $sortOptions);
|
||||||
|
}
|
||||||
|
function userSortActive() {return $GLOBALS['pdlc'] -> isUserSortActive();}
|
||||||
|
function modRewriteActive() {return $GLOBALS['pdlc'] -> isModRewriteActive();}
|
||||||
|
?>
|
BIN
files/.pdirl/icons/default/asc.gif
Normal file
After Width: | Height: | Size: 841 B |
BIN
files/.pdirl/icons/default/audio.png
Normal file
After Width: | Height: | Size: 951 B |
BIN
files/.pdirl/icons/default/back.png
Normal file
After Width: | Height: | Size: 955 B |
BIN
files/.pdirl/icons/default/default.png
Normal file
After Width: | Height: | Size: 850 B |
BIN
files/.pdirl/icons/default/desc.gif
Normal file
After Width: | Height: | Size: 839 B |
BIN
files/.pdirl/icons/default/directory.png
Normal file
After Width: | Height: | Size: 680 B |
BIN
files/.pdirl/icons/default/home-disabled.png
Normal file
After Width: | Height: | Size: 883 B |
BIN
files/.pdirl/icons/default/home.png
Normal file
After Width: | Height: | Size: 920 B |
BIN
files/.pdirl/icons/default/image.png
Normal file
After Width: | Height: | Size: 900 B |
BIN
files/.pdirl/icons/default/locked.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
files/.pdirl/icons/default/package.png
Normal file
After Width: | Height: | Size: 695 B |
BIN
files/.pdirl/icons/default/parent-disabled.png
Normal file
After Width: | Height: | Size: 824 B |
BIN
files/.pdirl/icons/default/parent.png
Normal file
After Width: | Height: | Size: 877 B |
BIN
files/.pdirl/icons/default/program.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
files/.pdirl/icons/default/reload.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
files/.pdirl/icons/default/search.png
Normal file
After Width: | Height: | Size: 825 B |
BIN
files/.pdirl/icons/default/text.png
Normal file
After Width: | Height: | Size: 523 B |
BIN
files/.pdirl/icons/default/video.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
files/.pdirl/icons/default/web.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
files/.pdirl/languages/cs/LC_MESSAGES/default.mo
Normal file
135
files/.pdirl/languages/cs/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# Czech translation for pdirl
|
||||||
|
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||||
|
# This file is distributed under the same license as the pdirl package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl\n"
|
||||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-02-01 23:20+0000\n"
|
||||||
|
"Last-Translator: c00ba <Unknown>\n"
|
||||||
|
"Language-Team: Czech <cs@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "sekund"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "sekunda"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "minut"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "minuta"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "hodin"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "hodina"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "dny/dní"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "den"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "týdnů"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "týden"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "měsíců"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "měsíc"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "let"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "rok"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Tato složka obsahuje %s položek o celkové velikosti %s %s."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Tato složka neobsahuje žádné soubory."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "před %d %s"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Výpis složky "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Nadřazená složka"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Zpět"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Domovská složka"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Znovu načíst"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Vyhledat..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Hledat \"%s\" v %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Nalezeno %s prvků o celkové velikosti %s %s ."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Žádný výsledek hledání."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "nepřístupné"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Zvukový soubor"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Obrázkový soubor"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Aplikace"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Webový dokument"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Textový dokument"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Složka"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Komprimovaný archiv"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Název"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Poslední změna"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Velikost"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/da/LC_MESSAGES/default.mo
Normal file
133
files/.pdirl/languages/da/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl 1.0.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-01-12 22:42+0000\n"
|
||||||
|
"Last-Translator: René Züwig <Unknown>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
"X-Poedit-Country: DENMARK\n"
|
||||||
|
"X-Poedit-Language: Danish\n"
|
||||||
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "sekunder"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "sekund"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "minutter"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "minut"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "timer"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "time"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "dage"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "dag"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "uger"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "uge"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "måneder"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "måned"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "år"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "år"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Denne mappe indeholder %s file(r) med en størrelsepå i alt: %s %s."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Denne mappe indeholder ingen filer."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "%d %s siden"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Mappe visning for "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Søg..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Søg efter \"%s\" i %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Fandt %s file(r) med en størrelse på i alt %s %s."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Din søgning gav ingen resultater."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/de/LC_MESSAGES/default.mo
Normal file
134
files/.pdirl/languages/de/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl 1.0.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2012-05-17 18:49+0000\n"
|
||||||
|
"Last-Translator: René Züwig <Unknown>\n"
|
||||||
|
"Language-Team: René Züwig <rene@newroots.de>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
"X-Poedit-Country: GERMANY\n"
|
||||||
|
"X-Poedit-Language: German\n"
|
||||||
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "Sekunden"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "Sekunde"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "Minuten"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "Minute"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "Stunden"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "Stunde"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "Tage"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "Tag"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "Wochen"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "Woche"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "Monate"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "Monat"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "Jahre"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "Jahr"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr ""
|
||||||
|
"Dieses Verzeichnis beinhaltet %s Element(e) mit der Gesamtgröße von %s %s."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Dieses Verzeichnis beinhaltet keine Dateien."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "vor %d %s"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Verzeichnisinhalt von "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Übergeordneter Ordner"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Zurück"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Heimverzeichnis"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Aktualisieren"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Suchen..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Suche nach \"%s\" in %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "%s Element(e) mit der Gesamtgröße von %s %s gefunden."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Keine Suchergebnisse."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "nicht erreichbar"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Audio-Datei"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Bild-Datei"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Ausführbares Programm"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Web-Dokument"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Text-Dokument"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Verzeichnis"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Komprimiertes Archiv"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Name"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Letzte Änderung"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Größe"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
128
files/.pdirl/languages/default.pot
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl 1.0.3beta\n"
|
||||||
|
"POT-Creation-Date: \n"
|
||||||
|
"PO-Revision-Date: \n"
|
||||||
|
"Last-Translator: René Züwig <rene@newroots.de>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/el/LC_MESSAGES/default.mo
Normal file
135
files/.pdirl/languages/el/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# Greek translation for pdirl
|
||||||
|
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||||
|
# This file is distributed under the same license as the pdirl package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl\n"
|
||||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2011-02-28 19:35+0000\n"
|
||||||
|
"Last-Translator: Maraslis Konstantinos <Unknown>\n"
|
||||||
|
"Language-Team: Greek <el@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "δευτερόλεπτα"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "δευτερόλεπτο"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "λεπτά"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "λεπτό"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "ώρες"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "ώρα"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "ημέρες"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "ημέρα"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "εβδομάδες"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "εβδομάδα"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "μήνες"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "μήνας"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "έτη"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "έτος"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Ο φάκελος περιέχει %s στοιχείο/α με συνολικό μέγεθος %s %s."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Ο φάκελος δεν περιέχει αρχεία."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "%d %s πριν"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Κατάλογος φακέλου για το "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Γονικός κατάλογος"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Πίσω"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Αρχικός φάκελος"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Ανανέωση"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Αναζήτηση…"
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Αναζήτηση του \"%s\" στο %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Βρέθηκαν %s στοιχείο/α με συνολικό μέγεθος %s %s."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Δεν βρέθηκαν αποτελέσματα."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "μη προσβάσιμο"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Αρχείο ήχου"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Αρχείο εικόνας"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Εφαρμογή"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Αρχείο ιστού"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Έγγραφο κειμένου"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Φάκελος"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Συμπιεσμένο αρχείο"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Όνομα"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Τελευταία τροποποίηση"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Μέγεθος"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/en_GB/LC_MESSAGES/default.mo
Normal file
131
files/.pdirl/languages/en_GB/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl 1.0.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-01-12 22:52+0000\n"
|
||||||
|
"Last-Translator: René Züwig <Unknown>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "seconds"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "second"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "minutes"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "minute"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "hours"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "hour"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "days"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "day"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "weeks"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "week"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "months"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "month"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "years"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "year"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "This directory contains no files."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "%d %s ago"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Directory listing for "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Parent Directory"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Back"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Home Directory"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Reload"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Search..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Search for \"%s\" in %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Found %s element(s) totalling %s %s in size."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "No search result."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "not accesible"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Audio file"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Image file"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Application"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Web document"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Text document"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Directory"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Compressed package"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Name"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Last modification"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Size"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/es/LC_MESSAGES/default.mo
Normal file
135
files/.pdirl/languages/es/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# Spanish translation for pdirl
|
||||||
|
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||||
|
# This file is distributed under the same license as the pdirl package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl\n"
|
||||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-03-18 21:54+0000\n"
|
||||||
|
"Last-Translator: Ktl__XV <Unknown>\n"
|
||||||
|
"Language-Team: Spanish <es@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "segundos"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "segundo"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "minutos"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "minuto"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "horas"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "hora"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "días"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "día"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "semanas"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "semana"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "meses"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "mes"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "años"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "año"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Este directorio contiene %s elemento(s) sumando %s %s en tamaño."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Este directorio no contiene archivos."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "hace %d %s"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Listado de directorio para "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Carpeta Superior"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Atrás"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Directorio Personal"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Actualizar"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Buscar..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Buscar \"%s\" en %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Encontrados %s elemento(s) sumando %s %s en tamaño."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "No hay resultados para la busqueda."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "no accessible"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Archivo de audio"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Archivo de imagen"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Aplicación"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Documento web"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Documento de texto"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Directorio"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Archivo comprimido"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Nombre"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Última modificación"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Tamaño"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/fr/LC_MESSAGES/default.mo
Normal file
133
files/.pdirl/languages/fr/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl 1.0.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-06-27 21:30+0000\n"
|
||||||
|
"Last-Translator: Benoît Leudet <Unknown>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
"X-Poedit-Country: FRANCE\n"
|
||||||
|
"X-Poedit-Language: French\n"
|
||||||
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "secondes"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "seconde"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "minutes"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "minute"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "heures"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "heure"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "jours"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "jour"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "semaines"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "semaine"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "mois"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "mois"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "années"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "an"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Ce dossier contient %s fichier(s) pour un total de %s %s."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Ce dossier ne contient pas de fichiers."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "Il y a %d %s"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Contenu du dossier "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "dossier supérieur"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Précédent"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Dossier racine"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Actualiser"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Chercher..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Chercher \"%s\" dans %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "%s fichier(s) trouvé(s) pour un total de %s %s."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Pas de résultat"
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "inaccessible"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Fichier audio"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Fichier image"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Application"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Document Web"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Fichier texte"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Dossier"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Fichier compressé"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Nom"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Dernière modification"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Taille"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/hu/LC_MESSAGES/default.mo
Normal file
135
files/.pdirl/languages/hu/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# Hungarian translation for pdirl
|
||||||
|
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||||
|
# This file is distributed under the same license as the pdirl package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl\n"
|
||||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-10-31 13:15+0000\n"
|
||||||
|
"Last-Translator: meneruwa <Unknown>\n"
|
||||||
|
"Language-Team: Hungarian <hu@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "másodpercek"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "másodperc"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "percek"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "perc"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "órák"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "óra"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "napok"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "nap"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "hetek"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "hét"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "hónapok"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "hónap"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "évek"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "év"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Ez a könyvtár %s elemet tartalmaz, összesen %s %s méretben"
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Ez a könyvtár nem tartalmaz fájlokat"
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "%d %s ezelőtt"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Könyvtárak listázása "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Alapértelmezett könyvtár"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "vissza"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Kezdő mappa"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Újratöltés"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Keresés..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Keresés \"%s\" vagy %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "%s található elem(ek), összesen% s% s méretűek."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Nem találtam megfelelő találatot"
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "nem elérhető"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Audió"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Kép"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Alkalmazás"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Web dokumentum"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Szöveg dokumentum"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Könyvtár"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Tömörített archívum"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Név"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Utoljára módosítva"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Méret"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/it/LC_MESSAGES/default.mo
Normal file
133
files/.pdirl/languages/it/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl 1.0.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-01-12 22:50+0000\n"
|
||||||
|
"Last-Translator: René Züwig <Unknown>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
"X-Poedit-Country: ITALY\n"
|
||||||
|
"X-Poedit-Language: Italian\n"
|
||||||
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "secondi"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "secondo"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "minuti"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "minuto"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "ore"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "ora"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "giorni"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "giorno"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "settimane"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "settimana"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "mesi"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "mese"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "anni"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "anno"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Questa cartella contiene %s file, per un totale di %s %s."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Questa cartella non contiene file."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "creato %d %s fa"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Lista dei file presenti in: "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Cartella Precedente"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Indietro"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Cartella Principale"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Aggiorna"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Cerca..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Cerca \"%s\" in %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Trovati %s file, per un totale di %s %s."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Nessun risultato."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "non accessibile"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "File Audio"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "File di Immagine"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Applicazione"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Pagina Web"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "File di Testo"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Cartella"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Archivio Compresso"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Nome"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Ultimo aggiornamento"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Dimensione"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/nl/LC_MESSAGES/default.mo
Normal file
135
files/.pdirl/languages/nl/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# Dutch translation for pdirl
|
||||||
|
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||||
|
# This file is distributed under the same license as the pdirl package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl\n"
|
||||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-01-23 20:18+0000\n"
|
||||||
|
"Last-Translator: cumulus007 <Unknown>\n"
|
||||||
|
"Language-Team: Dutch <nl@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "seconden"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "seconde"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "minuten"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "minuut"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "uren"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "uur"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "dagen"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "dag"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "weken"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "week"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "maanden"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "maand"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "jaren"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "jaar"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Deze directory bevat %s element(en) totaal %s %s in grootte."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Deze directory bevat geen bestanden."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "%d %s geleden"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Mapweergave voor "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Hogere map"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Terug"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Persoonlijke map"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Herladen"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Zoeken..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Zoeken voor \"%s\" in %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "%s item(s) gevonden met een totaalgrootte van %s %s."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Geen zoekresultaten."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "niet toegankelijk"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Audiobestand"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Afbeelding"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Toepassing"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Webdocument"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Tekstdocument"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Map"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Ingepakt pakket"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Naam"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Laatst gewijzigd"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Grootte"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/pl/LC_MESSAGES/default.mo
Normal file
135
files/.pdirl/languages/pl/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# Polish translation for pdirl
|
||||||
|
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||||
|
# This file is distributed under the same license as the pdirl package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl\n"
|
||||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-04-27 19:07+0000\n"
|
||||||
|
"Last-Translator: Michał Parniak <Unknown>\n"
|
||||||
|
"Language-Team: Polish <pl@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "sekund(y)"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "sekunda"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "minut(y)"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "minuta"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "godzin(y)"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "godzina"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "dni"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "dzień"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "tygodni(e)"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "tydzień"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "miesięcy(ące)"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "miesiąc"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "lat(a)"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "rok"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Ten katalog zawiera %s elementów, łączny rozmiar %s %s."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Ten katalog nie zawiera żadnych plików."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "%d %s temu"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Katalog "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Katalog nadrzędny"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Wstecz"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Katalog Domowy"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Odśwież"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Szukaj..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Szkukaj \"%s\" w %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Znaleziono %s elementów, łączny rozmiar %s %s."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Brak wyników wyszukiwania."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "nieosiągalne"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Plik Audio"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Obraz"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Program"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Dokument sieciowy"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Dokument tekstowy"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Katalog"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Skompresowany pakiet"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Nazwa"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Ostatnia modyfikacja"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Rozmiar"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/ro/LC_MESSAGES/default.mo
Normal file
133
files/.pdirl/languages/ro/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl 1.0.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2012-01-10 16:21+0000\n"
|
||||||
|
"Last-Translator: Tudorancea Andrei <Unknown>\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
"X-Poedit-Country: ROMANIA\n"
|
||||||
|
"X-Poedit-Language: Romanian\n"
|
||||||
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "Secunde"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "secunda"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "minute"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "minut"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "ore"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "ora"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "zile"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "zi"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "Saptamani"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "Saptamana"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "luni"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "luna"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "ani"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "an"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Acest director contine %s fisiere cu un total de %s %s."
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Acest director nu contine fisiere."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "%d %s vechime"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Continutul directorului "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Inapoi ..."
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "inapoi"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Director Acasa"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Reincarca"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Cautare ..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Cautare dupa \"%s\" in %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "%s fisiere gasite cu dimensiunea totala de %s %s."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Nu s-au gasit fisiere conform cautarii."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "fara acces"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Fisier audio"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Fisier imagine"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Aplicatie"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Document Web"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Document Text"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Director"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Fisier arhivat"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Nume"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Ultima modificare"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Marime"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/ru/LC_MESSAGES/default.mo
Normal file
135
files/.pdirl/languages/ru/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# Russian translation for pdirl
|
||||||
|
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||||
|
# This file is distributed under the same license as the pdirl package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl\n"
|
||||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-03-10 14:29+0000\n"
|
||||||
|
"Last-Translator: Alexander Kubashin <Unknown>\n"
|
||||||
|
"Language-Team: Russian <ru@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "секунд(ы)"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "секунда"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "минут(ы)"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "минута"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "часа(ов)"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "час"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "дня(ей)"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "день"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "недели(ль)"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "неделя"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "месяца(ев)"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "месяц"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "года(лет)"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "год"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Каталог содержит %s файла(ов), общий размер: %s %s"
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Этот каталог не содержит файлов."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "%d %s назад"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Просмотр каталога для "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Родительский каталог"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Назад"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Домашний каталог"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Обновить"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Поиск..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Поиск \"%s\" в %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Найдено файлов: %s, общий размер: %s %s."
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Файлы не найдены."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "не доступен"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Аудио файл"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Изображение"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Приложение"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "web документ"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Текстовый документ"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Каталог"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Архив"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Имя"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Последнее изменение"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Размер"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/tr/LC_MESSAGES/default.mo
Normal file
135
files/.pdirl/languages/tr/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# Turkish translation for pdirl
|
||||||
|
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||||
|
# This file is distributed under the same license as the pdirl package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl\n"
|
||||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2011-01-22 22:55+0000\n"
|
||||||
|
"Last-Translator: Tubilmer.com.tr <Unknown>\n"
|
||||||
|
"Language-Team: Turkish <tr@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "saniye"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "saniye"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "dakika"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "dakika"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "saat"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "saat"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "gün"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "gün"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "hafta"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "hafta"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "ay"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "ay"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "yıl"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "yıl"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "Bu dizin %s öğe içeriyor. Toplam boyut: %s %s"
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "Bu dizinde hiçbir dosya yok."
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "%d %s önce"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "Dizin listeleme "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "Üst dizin"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "Geri"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "Ana dizin"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "Yenile"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Ara..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "Aranan: \"%s\" Şurda: %s"
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "%s öğe bulundu. Toplam boyut: %s %s"
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "Aradığınız bulunamadı."
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "erişilemez"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "Ses dosyası"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "Resim dosyası"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Uygulama"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "Web belgesi"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "Metin belgesi"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "Dizin"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "Sıkıştırılmış paket"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "İsim"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "Son değiştirilme"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "Boyut"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
BIN
files/.pdirl/languages/zh_CN/LC_MESSAGES/default.mo
Normal file
135
files/.pdirl/languages/zh_CN/LC_MESSAGES/default.po
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# Chinese (Simplified) translation for pdirl
|
||||||
|
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||||
|
# This file is distributed under the same license as the pdirl package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: pdirl\n"
|
||||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"POT-Creation-Date: 2012-05-17 20:24+0000\n"
|
||||||
|
"PO-Revision-Date: 2010-04-27 07:17+0000\n"
|
||||||
|
"Last-Translator: surftheair <Unknown>\n"
|
||||||
|
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-05-18 00:46+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15259)\n"
|
||||||
|
|
||||||
|
msgid "seconds"
|
||||||
|
msgstr "秒"
|
||||||
|
|
||||||
|
msgid "second"
|
||||||
|
msgstr "秒"
|
||||||
|
|
||||||
|
msgid "minutes"
|
||||||
|
msgstr "分钟"
|
||||||
|
|
||||||
|
msgid "minute"
|
||||||
|
msgstr "分钟"
|
||||||
|
|
||||||
|
msgid "hours"
|
||||||
|
msgstr "小时"
|
||||||
|
|
||||||
|
msgid "hour"
|
||||||
|
msgstr "小时"
|
||||||
|
|
||||||
|
msgid "days"
|
||||||
|
msgstr "天"
|
||||||
|
|
||||||
|
msgid "day"
|
||||||
|
msgstr "天"
|
||||||
|
|
||||||
|
msgid "weeks"
|
||||||
|
msgstr "星期"
|
||||||
|
|
||||||
|
msgid "week"
|
||||||
|
msgstr "星期"
|
||||||
|
|
||||||
|
msgid "months"
|
||||||
|
msgstr "个月"
|
||||||
|
|
||||||
|
msgid "month"
|
||||||
|
msgstr "个月"
|
||||||
|
|
||||||
|
msgid "years"
|
||||||
|
msgstr "年"
|
||||||
|
|
||||||
|
msgid "year"
|
||||||
|
msgstr "年"
|
||||||
|
|
||||||
|
msgid "This directory contains %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "吃文件夹包含 %s 个文件,共 %s %s"
|
||||||
|
|
||||||
|
msgid "This directory contains no files."
|
||||||
|
msgstr "此文件不包含任何文件"
|
||||||
|
|
||||||
|
msgid "%d %s ago"
|
||||||
|
msgstr "%d %s 之前"
|
||||||
|
|
||||||
|
msgid "Directory listing for "
|
||||||
|
msgstr "文件列表 "
|
||||||
|
|
||||||
|
msgid "Parent Directory"
|
||||||
|
msgstr "上级文件夹"
|
||||||
|
|
||||||
|
msgid "Back"
|
||||||
|
msgstr "后退"
|
||||||
|
|
||||||
|
msgid "Home Directory"
|
||||||
|
msgstr "主目录"
|
||||||
|
|
||||||
|
msgid "Reload"
|
||||||
|
msgstr "重新载入"
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "搜索..."
|
||||||
|
|
||||||
|
msgid "Search for \"%s\" in %s"
|
||||||
|
msgstr "在 %s 中搜索 \"%s\""
|
||||||
|
|
||||||
|
msgid "Found %s element(s) totalling %s %s in size."
|
||||||
|
msgstr "找到 % 个文件,共 %s %s 大小"
|
||||||
|
|
||||||
|
msgid "No search result."
|
||||||
|
msgstr "没有搜索结果"
|
||||||
|
|
||||||
|
msgid "not accesible"
|
||||||
|
msgstr "无法获取"
|
||||||
|
|
||||||
|
msgid "Audio file"
|
||||||
|
msgstr "音频文件"
|
||||||
|
|
||||||
|
msgid "Image file"
|
||||||
|
msgstr "图像文件"
|
||||||
|
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "应用程序"
|
||||||
|
|
||||||
|
msgid "Web document"
|
||||||
|
msgstr "网页文件"
|
||||||
|
|
||||||
|
msgid "Text document"
|
||||||
|
msgstr "文本文件"
|
||||||
|
|
||||||
|
msgid "Directory"
|
||||||
|
msgstr "文件夹"
|
||||||
|
|
||||||
|
msgid "Compressed package"
|
||||||
|
msgstr "压缩文件"
|
||||||
|
|
||||||
|
msgid "Unknown file type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "名称"
|
||||||
|
|
||||||
|
msgid "Last modification"
|
||||||
|
msgstr "修改时间"
|
||||||
|
|
||||||
|
msgid "Size"
|
||||||
|
msgstr "文件大小"
|
||||||
|
|
||||||
|
msgid "%s elements"
|
||||||
|
msgstr ""
|
760
files/.pdirl/pdlc.class.php
Normal file
@ -0,0 +1,760 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PDLC is a Pdirl Directory Listing Class
|
||||||
|
* @package pdirl
|
||||||
|
*/
|
||||||
|
class pdlc {
|
||||||
|
|
||||||
|
function __construct($configuration) {
|
||||||
|
if (!isset($configuration))
|
||||||
|
$configuration = array();
|
||||||
|
$conf = $this -> configuration($configuration);
|
||||||
|
$this -> host = $conf['host'];
|
||||||
|
// $this -> scriptPath = $conf['scriptpath'];
|
||||||
|
$this -> scriptPath = $this -> rewriteScriptPath();
|
||||||
|
$this -> ignore = $conf['ignore'];
|
||||||
|
$this -> countElements = $conf['countelements'];
|
||||||
|
$this -> sortOptions = $conf['sort'];
|
||||||
|
$this -> userSort = $conf['usersort'];
|
||||||
|
$this -> types = $conf['types'];
|
||||||
|
$this -> listHidden = $conf['listhidden'];
|
||||||
|
$this -> searchEnabled = $conf['searchenabled'];
|
||||||
|
$this -> searchTag = $conf['searchtag'];
|
||||||
|
$this -> searchHidden = $conf['searchhidden'];
|
||||||
|
$this -> searchCaseSensitive = $conf['searchcasesensitive'];
|
||||||
|
$this -> modRewrite = $conf['modrewrite'];
|
||||||
|
// $this -> directoryPrefix = $conf['directory'];
|
||||||
|
// // strip double prefixes
|
||||||
|
// $this -> directory = $this -> stripDoublePrefix(@$_GET['directory'], $this -> directoryPrefix);
|
||||||
|
// make the path more secure and remove illegal characters
|
||||||
|
$this -> directory = $this -> rewritePath(@$_GET['directory']);
|
||||||
|
$this -> sessionSort();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adjusts user configuration with default configuration.
|
||||||
|
* If a configuration key has an empty value, use a default value instead
|
||||||
|
* @param array $configuration
|
||||||
|
* @param array $default
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function configuration($configuration, $default = false) {
|
||||||
|
if (!$default) {
|
||||||
|
$default = array(
|
||||||
|
'host' => $_SERVER['HTTP_HOST'],
|
||||||
|
// 'scriptpath' => $this -> rewriteScriptPath(),
|
||||||
|
// 'directory' => '',
|
||||||
|
'ignore' => array("index.php", ".htaccess", ".pdirl"),
|
||||||
|
'countelements' => true,
|
||||||
|
'sort' => array('key' => 'name', 'sort' => "SORT_ASC"),
|
||||||
|
'usersort' => true,
|
||||||
|
'listhidden' => false,
|
||||||
|
'searchenabled' => true,
|
||||||
|
'searchtag' => @$_GET['search'],
|
||||||
|
'searchhidden' => false,
|
||||||
|
'searchcasesensitive' => false,
|
||||||
|
'modrewrite' => @$_GET['modrewrite'],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (!$configuration)
|
||||||
|
return $default;
|
||||||
|
foreach ($default as $key => $defaultValue) {
|
||||||
|
if (isset($configuration[$key])) {
|
||||||
|
// If configuration is empty, use the default value
|
||||||
|
if ($configuration[$key] === '')
|
||||||
|
$configuration[$key] = $defaultValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $configuration;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes path more secure.
|
||||||
|
* Please try to hack this, I'm not very sure if this is the most secure function
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
private function rewritePath($path) {
|
||||||
|
$path = './'.$path.'/';
|
||||||
|
if (count($path) > 0) {
|
||||||
|
if ($path == './') {
|
||||||
|
return '';
|
||||||
|
} else {
|
||||||
|
if (($path[0] == '.' OR $path[0] == '/') AND $path[0].$path[1] != './')
|
||||||
|
return '';
|
||||||
|
$search = array ("..", "//", ".?", ".*", "././", "/./");
|
||||||
|
$replace= array ("", "/" , "", "", "./", "/");
|
||||||
|
while ($path != str_replace($search, $replace, $path))
|
||||||
|
$path = str_replace($search, $replace, $path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * Returns current directory path with the directory path in the configuration.
|
||||||
|
// * Because you get a double suffix when you list a subdirectory with pdirl (suffix + path)
|
||||||
|
// * it must be removed.
|
||||||
|
// * @return string
|
||||||
|
// */
|
||||||
|
// function stripDoublePrefix ($path = false, $prefix = false) {
|
||||||
|
// if (!$path && !$prefix) {
|
||||||
|
// return '';
|
||||||
|
// } elseif (!$path) {
|
||||||
|
// return $prefix;
|
||||||
|
// } elseif (!$prefix) {
|
||||||
|
// return $path;
|
||||||
|
// } else {
|
||||||
|
// // double prefix to search and to destroy ;-)
|
||||||
|
// $prefixSearch = $prefix.$prefix;
|
||||||
|
// // Escape . \ + * ? [ ^ ] ( $ )
|
||||||
|
// $prefixSearch = quotemeta($prefixSearch);
|
||||||
|
// // Also strip something like '//' and '/./'
|
||||||
|
// $prefixSearch = $this -> rewritePath ($prefixSearch);
|
||||||
|
// // Escape '/', too
|
||||||
|
// $prefixSearch = str_replace('/', '\/', $prefixSearch);
|
||||||
|
// // Replace the double prefix with the normal prefix
|
||||||
|
// return preg_replace("/^{$prefixSearch}/", $prefix, $this -> rewritePath($prefix.$path));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns a legal script path
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
private function rewriteScriptPath() {
|
||||||
|
// make sure the path contains no illegal characters
|
||||||
|
$scriptPath = $this -> rewritePath($_SERVER['PHP_SELF']);
|
||||||
|
// delete the "." at the beginning of the path
|
||||||
|
$scriptPath = str_replace('./', '/', $scriptPath);
|
||||||
|
// delete the slash at the end
|
||||||
|
$scriptPath = rtrim($scriptPath, '/');
|
||||||
|
return $scriptPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * script path should'nt be part of current directory path, to prevent double bredcrumbs.
|
||||||
|
// * @return string
|
||||||
|
// */
|
||||||
|
// function currentDirectoryOnly($currentDir = false, $scriptPath = false) {
|
||||||
|
// if (!$currentDir)
|
||||||
|
// $currentDir = $this -> getCurrentDirectory();
|
||||||
|
// if (!$scriptPath)
|
||||||
|
// $scriptPath = $this -> getScriptPath();
|
||||||
|
// if (strpos($currentDir, $scriptPath) === 0)
|
||||||
|
// $currentDir = substr_replace($currentDir, "", 0, strlen($scriptPath));
|
||||||
|
// else
|
||||||
|
// return $currentDir;
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns formatted path, when modrewrite is inactive it will return the path via GET
|
||||||
|
* @param string $path
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function urlPath($path) {
|
||||||
|
$path = $this -> rewritePath($path);
|
||||||
|
if (!$this -> modRewrite)
|
||||||
|
return "?directory=".urlencode($path);
|
||||||
|
else
|
||||||
|
// because basename() sucks on foreign characters, I use explode -> array_pop
|
||||||
|
return htmlspecialchars($this -> getScriptDirectory()).'/'.$this -> encode($path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* urlencode on everything except the slashes
|
||||||
|
* @param array $path
|
||||||
|
* @return unknown_type
|
||||||
|
*/
|
||||||
|
public function encode($path) {
|
||||||
|
if (!is_array($path)) {
|
||||||
|
$path = explode ('/', $path);
|
||||||
|
}
|
||||||
|
$newPath = array();
|
||||||
|
foreach ($path as $pathElement) {
|
||||||
|
$newPath[] = rawurlencode($pathElement);
|
||||||
|
}
|
||||||
|
return implode('/', $newPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sorts array columns
|
||||||
|
* @link http://us.php.net/manual/en/function.array-multisort.php#83117 php_multisort
|
||||||
|
* @author <php.net@sebble.com>
|
||||||
|
* @uses array_multisort
|
||||||
|
* @param multi-dimensional_array $elements [optional]
|
||||||
|
* @param array $sortOptions [optional]
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function sortElements($elementsVar = false, $sortOptions = false) {
|
||||||
|
if (!$elementsVar) {
|
||||||
|
if (!empty($this -> elements)) {
|
||||||
|
$elements = $this -> elements;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$elements = $elementsVar;
|
||||||
|
}
|
||||||
|
if (!$sortOptions)
|
||||||
|
$sortOptions = $this -> sortOptions;
|
||||||
|
foreach($elements as $elementKey => $elementData) {
|
||||||
|
$columns[$sortOptions['key']][$elementKey] = $elementData[$sortOptions['key']];
|
||||||
|
}
|
||||||
|
// $idkeys is a key-index
|
||||||
|
$idkeys = array_keys($elements);
|
||||||
|
array_multisort(array_map('strtolower', $columns[$sortOptions['key']]), constant($sortOptions['sort']), $idkeys);
|
||||||
|
// if we have no idkeys, we'll return false
|
||||||
|
$result = false;
|
||||||
|
foreach($idkeys as $idkey) {
|
||||||
|
// apply new sorting
|
||||||
|
$result[$idkey] = $elements[$idkey];
|
||||||
|
}
|
||||||
|
if (!$elementsVar)
|
||||||
|
$this -> elements = $result;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param string $file
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getType($file) {
|
||||||
|
if (is_dir($file))
|
||||||
|
return 'directory';
|
||||||
|
$typeList = $this -> types;
|
||||||
|
$pathinfo = pathinfo($file);
|
||||||
|
if (isset($pathinfo["extension"]))
|
||||||
|
$extension = strtolower($pathinfo["extension"]);
|
||||||
|
else
|
||||||
|
$extension = '';
|
||||||
|
// MIME-type will be split in two parts, type and subtype
|
||||||
|
$mimeType = array("","");
|
||||||
|
|
||||||
|
// via mime_content_type, the most exact method to get the mime-type, deprecated in 5.3
|
||||||
|
if (function_exists('mime_content_type')) {
|
||||||
|
// MCT is "mime_content_type", I use this name to separate from the mimeType that should be set
|
||||||
|
if ($mctType = mime_content_type($file)) {
|
||||||
|
$mimeType = explode('/', $mctType);
|
||||||
|
}
|
||||||
|
|
||||||
|
// via Fileinfo, "alternative" for mime_content_type()
|
||||||
|
// Problems with Fileinfo
|
||||||
|
// <http://de3.php.net/manual/de/function.finfo-open.php#74965>
|
||||||
|
// <http://de3.php.net/manual/de/ref.fileinfo.php#79063>
|
||||||
|
} elseif (function_exists('finfo_open')) {
|
||||||
|
$finfoHandler = finfo_open(FILEINFO_MIME);
|
||||||
|
if ($finfoType = finfo_file($finfoHandler, $file)) {
|
||||||
|
// <http://de3.php.net/manual/de/function.finfo-file.php#77975>
|
||||||
|
// "contrary to the documentation, finfo_file seems to be returning a
|
||||||
|
// semicolon delimited string that contains not just the mime type but also the character set."
|
||||||
|
$finfoType = explode(';', $finfoType);
|
||||||
|
$mimeType = explode('/', $finfoType[0]);
|
||||||
|
}
|
||||||
|
finfo_close($finfoHandler);
|
||||||
|
|
||||||
|
// via Unix file command
|
||||||
|
} elseif (array_search(php_uname('s'), array('Linux', 'FreeBSD', 'Mac OS X', 'Solaris')) !== false) {
|
||||||
|
// output buffer, "records" what the shell returns
|
||||||
|
ob_start();
|
||||||
|
// --mime-type returns mime-type only w/o mime-encoding, -b keeps it brief, w/o the path of the file
|
||||||
|
system('/usr/bin/file --mime-type -b ' . escapeshellarg(realpath($file)));
|
||||||
|
$unixFileType = ob_get_contents();
|
||||||
|
if (stristr($unixFileType, 'error') == false) {
|
||||||
|
$mimeType = explode('/', $unixFileType);
|
||||||
|
}
|
||||||
|
ob_clean();
|
||||||
|
}
|
||||||
|
|
||||||
|
// <https://bugs.launchpad.net/pdirl/+bug/815701>
|
||||||
|
$subtype = "";
|
||||||
|
if(count($mimeType) > 1){
|
||||||
|
$subtype = $mimeType[1];
|
||||||
|
}
|
||||||
|
$mimeType = array('type' => $mimeType[0], 'subtype' => $subtype);
|
||||||
|
|
||||||
|
// search for MIME-type and extension in $typeList, if found, break foreach
|
||||||
|
foreach ($typeList as $key => $value) {
|
||||||
|
if (in_array($mimeType['subtype'], $value)) {
|
||||||
|
return $key;
|
||||||
|
break;
|
||||||
|
} elseif ($mimeType['type'] == $key) {
|
||||||
|
return $key;
|
||||||
|
break;
|
||||||
|
// the last method: search in the extension list, that was defined in the config
|
||||||
|
} elseif (in_array($extension, $value)) {
|
||||||
|
return $key;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// if no other type was returned, return "default", which means that the file type is unknown
|
||||||
|
return "default";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if file/dir is ignored in configuration
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
private function ignored ($element, $ignoreList=false) {
|
||||||
|
if (!$ignoreList)
|
||||||
|
$ignoreList = $this -> ignore;
|
||||||
|
if(is_array($ignoreList) ) {
|
||||||
|
$ignoreList[] = '\/\.(\.)?$';
|
||||||
|
foreach($ignoreList as $expression) {
|
||||||
|
$expression = str_replace(".", "\.", $expression);
|
||||||
|
if(preg_match("/$expression/", $element))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replacement for sql_regcase
|
||||||
|
* @link http://de3.php.net/manual/en/function.sql-regcase.php#86011
|
||||||
|
* @author <irker@irker.net>
|
||||||
|
* @param string $string
|
||||||
|
* @param string $encoding
|
||||||
|
*/
|
||||||
|
private function iregcase($string,$encoding='auto'){
|
||||||
|
$max = mb_strlen($string,$encoding);
|
||||||
|
$ret = '';
|
||||||
|
for ($i = 0; $i < $max; $i++) {
|
||||||
|
$char = mb_substr($string,$i,1,$encoding);
|
||||||
|
$up = mb_strtoupper ($char,$encoding);
|
||||||
|
$low = mb_strtolower($char,$encoding);
|
||||||
|
$ret .= ($up!=$low)?'['.$up.$low.']' : $char;
|
||||||
|
}
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* recursive glob() function
|
||||||
|
* @link http://de3.php.net/manual/en/function.glob.php#90278
|
||||||
|
* @author <me@lx.sg>
|
||||||
|
* @param string $pattern [optional]
|
||||||
|
* @param string $path [optional]
|
||||||
|
* @param mixed $flags [optional]
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private function rglob($pattern='*', $path='', $flags = 0) {
|
||||||
|
$dir = dirname($pattern);
|
||||||
|
if (!$path && $dir != './') {
|
||||||
|
return $this -> rglob(basename($pattern), $dir . '/', $flags);
|
||||||
|
}
|
||||||
|
$path = $this -> escapePathBrackets($path);
|
||||||
|
$paths = glob($path . '*', GLOB_ONLYDIR | GLOB_NOSORT);
|
||||||
|
$files = glob($path . $pattern, $flags);
|
||||||
|
|
||||||
|
// if glob returns false
|
||||||
|
if ($paths == false) $paths = array();
|
||||||
|
if ($files == false) $files = array();
|
||||||
|
|
||||||
|
foreach ($paths as $p) $files = array_merge($files, $this -> rglob($pattern, $p . '/', $flags));
|
||||||
|
return $files;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Works like stat, but only for directories.
|
||||||
|
* A patchscript between http://us.php.net/manual/en/function.stat.php#61238
|
||||||
|
* and http://de3.php.net/manual/en/function.filemtime.php#91665
|
||||||
|
* @link http://de3.php.net/manual/en/function.filemtime.php#91665
|
||||||
|
* @author <info@daniel-marschall.de>
|
||||||
|
* @link http://us.php.net/manual/en/function.stat.php#61238
|
||||||
|
* @author <marting.dc@gmail.com>
|
||||||
|
* @param string $directory
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
private function rstat($directory) {
|
||||||
|
$files = $this -> rglob('*', $directory, 0);
|
||||||
|
$newestModification = 0;
|
||||||
|
$DirectorySize = 0;
|
||||||
|
foreach ($files as $val) {
|
||||||
|
$stat = @stat($val);
|
||||||
|
if ($stat['mtime'] > $newestModification)
|
||||||
|
$newestModification = $stat['mtime'];
|
||||||
|
$DirectorySize += $stat['size'];
|
||||||
|
}
|
||||||
|
return array('mtime' => $newestModification, 'size' => $DirectorySize);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Counts number of elements in a directory
|
||||||
|
* @param string $directory
|
||||||
|
* @return interger
|
||||||
|
*/
|
||||||
|
public function countElementsInDir($directory) {
|
||||||
|
return count($this -> rglob('*', $directory, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* if search query was detected in URL or not, get the elements for the search/dirlist query
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function requestElements () {
|
||||||
|
if (!empty($this -> searchTag) && $this -> searchEnabled) {
|
||||||
|
$this -> getSearchElements();
|
||||||
|
} else {
|
||||||
|
$this -> getDirectoryElements();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all files in a directory
|
||||||
|
* @param string $directory [optional]
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getDirectoryElements ($directory = '') {
|
||||||
|
if (!$directory) {
|
||||||
|
$directory = $this -> directory;
|
||||||
|
}
|
||||||
|
$directory = $this -> escapePathBrackets($directory);
|
||||||
|
if ($this -> listHidden) {
|
||||||
|
$elements = glob($directory.'{,.}*', GLOB_BRACE); //list hidden files ("."-prefix)
|
||||||
|
} else {
|
||||||
|
$elements = glob($directory.'*');
|
||||||
|
}
|
||||||
|
$elements = $this -> getElementInfo($elements);
|
||||||
|
$this -> elements = $elements;
|
||||||
|
|
||||||
|
return $elements;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Searches for $search and returns a array with paths to found files/directories
|
||||||
|
* @param string $search [optional]
|
||||||
|
* @param string $directory [optional]
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getSearchElements($search = '', $directory = '') {
|
||||||
|
if (!$search) {
|
||||||
|
$search = $this -> searchTag;
|
||||||
|
}
|
||||||
|
if (!$directory) {
|
||||||
|
$directory = $this -> directory;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($search)) {
|
||||||
|
// Search for term in current directory
|
||||||
|
$search = htmlspecialchars($this -> searchTag);
|
||||||
|
# thx to <http://de3.php.net/manual/en/function.glob.php#74109>
|
||||||
|
if (!$this -> searchCaseSensitive)
|
||||||
|
$search = $this -> iregcase($search);
|
||||||
|
$found = $this -> getElementInfo($this -> rglob("*$search*", $directory, 0));
|
||||||
|
$this -> elements = $found;
|
||||||
|
return $found;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getElementInfo($elements, $directory = false) {
|
||||||
|
if (!$directory)
|
||||||
|
$directory = $this -> directory;
|
||||||
|
$list = array();
|
||||||
|
if (is_array($elements)) {
|
||||||
|
foreach ($elements as $path) {
|
||||||
|
if (is_file($path) || is_dir($path)) {
|
||||||
|
if ($this -> ignored($path) === false) {
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* path => "./examples/sub directory"
|
||||||
|
* urlpath => "?directory=./examples/sub%20directory/"
|
||||||
|
* or with mod_rewrite: urlpath => "./examples/sub%20directory"
|
||||||
|
*/
|
||||||
|
|
||||||
|
// If not in the directory where pdirl is
|
||||||
|
if (!empty($directory)) {
|
||||||
|
// The reason why pdirl is not compatible with PHP <5
|
||||||
|
// <http://de.php.net/manual/function.strpos.php>
|
||||||
|
if (strpos($path, $directory) === 0 AND $this -> modRewrite) {
|
||||||
|
/*
|
||||||
|
* If you search with glob e.g. in "examples" you will get paths like "examples/foobar.mp3"
|
||||||
|
* The path should be shortened.
|
||||||
|
*/
|
||||||
|
$item['path'] = substr_replace($path, "", 0, strlen($directory));
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
* Okay, you will probably ask why I save the path of the file/folder
|
||||||
|
* Because of the sorting options - files and folders should be sorted according to their name and not
|
||||||
|
* their path. In version 0.9.2beta files and folders were sorted according to their path (only in search mode).
|
||||||
|
*/
|
||||||
|
$item['path'] = $path;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Take absolute path
|
||||||
|
$item['path'] = $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
// if you have brackets etc. e.g. '<item>' in your name htmlspecialchars would distort the name it wouldnt be accessible,
|
||||||
|
// so they are seperate variables for (display)name and pathname which is encoded with urlencode
|
||||||
|
// There is also 'urlpath' which is especially for using pdirl without modrewrite and adds (if needed) ?directory= before the url
|
||||||
|
$path_array = explode("/", $item['path']);
|
||||||
|
$item['name'] = array_pop($path_array);
|
||||||
|
$item['directory'] = is_dir($path);
|
||||||
|
$item['location'] = '';
|
||||||
|
// pdirl needs location only when you search or
|
||||||
|
// modRewrite is on
|
||||||
|
if ($this -> modRewrite || $this -> getSearchTag() || !$item['directory']) {
|
||||||
|
$item['location'] = implode('/', $path_array);
|
||||||
|
$item['location'] .= '/';
|
||||||
|
// Makes location path more secure
|
||||||
|
$item['location'] = $this -> rewritePath($item['location']);
|
||||||
|
}
|
||||||
|
// urlencode on everything except the slashes
|
||||||
|
$item['urlpath'] = $this -> encode($item['location'].$item['name']);
|
||||||
|
$stat = array('size' => 0, 'mtime' => 0);
|
||||||
|
$item['numberofelements'] = 0;
|
||||||
|
$item['countonly'] = false;
|
||||||
|
if ($item['directory']) {
|
||||||
|
if ($item['readable'] = is_readable($path) || is_executable($path)) {
|
||||||
|
if ($this -> countElements) {
|
||||||
|
$item['numberofelements'] = $this -> countElementsInDir($path) - 1;
|
||||||
|
$item['countonly'] = true;
|
||||||
|
} else {
|
||||||
|
$stat = $this -> rstat($path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$item['urlpath'] = $this -> urlPath($directory.$item['location'].$item['name']);
|
||||||
|
} else {
|
||||||
|
// stat() is slow, but faster than using filemtime() & filesize() instead.
|
||||||
|
$stat = @stat($path);
|
||||||
|
// if stat() returns an error, we ignore it and convert it to false via the @
|
||||||
|
$item['readable'] = (bool) $stat;
|
||||||
|
}
|
||||||
|
|
||||||
|
$item['path'] = urlencode($item['path']);
|
||||||
|
$item['name'] = htmlspecialchars($item['name']);
|
||||||
|
$item['locationurl'] = $item['location'];
|
||||||
|
$item['location'] = htmlspecialchars($item['location']);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Ok, fine, what did I do with $item['readable']? I mark files and directories,
|
||||||
|
* that are not accessible with $item['readable'] = false;
|
||||||
|
*/
|
||||||
|
$item['bytes'] = $stat['size'];
|
||||||
|
$item['mtime'] = $stat['mtime'];
|
||||||
|
// Add this items file size to this folders total size
|
||||||
|
$this -> totalSize += $item['bytes'];
|
||||||
|
$item['type'] = $this -> getType($path);
|
||||||
|
$list[] = $item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this -> elements = $list;
|
||||||
|
}
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* allowing brackets in directory names
|
||||||
|
* http://sockittoemjt.tumblr.com/post/20481660360/managed-to-come-across-your-tumblr-whilst-googling-for
|
||||||
|
* https://bugs.php.net/bug.php?id=33047
|
||||||
|
* returns directory path, but only that the brackets are escaped.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
private function escapePathBrackets($directory = false) {
|
||||||
|
if ($directory == false) {
|
||||||
|
$directory = $this -> directory;
|
||||||
|
}
|
||||||
|
$escapedBracketPath = str_replace('[', '\[', $directory);
|
||||||
|
$escapedBracketPath = str_replace(']', '\]', $escapedBracketPath);
|
||||||
|
|
||||||
|
/* Next, replace all "escaped" brackets with brackets like so */
|
||||||
|
$escapedBracketPath = str_replace('\[', '[[]', $escapedBracketPath);
|
||||||
|
$escapedBracketPath = str_replace('\]', '[]]', $escapedBracketPath);
|
||||||
|
return $escapedBracketPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns pdirl::elements
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getElements () {
|
||||||
|
if (empty($this -> elements))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return $this -> elements;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns pdirl::directory
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCurrentDirectory() {
|
||||||
|
if (!isset($this -> directory))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return $this -> directory;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns pdirl::scriptPath
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getScriptPath() {
|
||||||
|
if (!isset($this -> scriptPath))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return $this -> scriptPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns the directory of pdirl::scriptPath
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getScriptDirectory() {
|
||||||
|
if (!isset($this -> scriptPath))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
$scriptDirectory = dirname($this -> scriptPath);
|
||||||
|
//if the script directory path is only consists of a slash, give out an empty string
|
||||||
|
if ($scriptDirectory == '/')
|
||||||
|
return '';
|
||||||
|
else
|
||||||
|
return $scriptDirectory;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns pdirl::host
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getHost() {
|
||||||
|
if (!isset($this -> host))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return $this -> host;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return pdirl::search
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getSearchTag() {
|
||||||
|
if (!isset($this -> searchTag))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return $this -> searchTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns number of elements
|
||||||
|
* @return interger
|
||||||
|
*/
|
||||||
|
public function getNumberOfElements() {
|
||||||
|
if (!isset($this -> elements))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return count($this -> elements);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return pdirl::totalSize
|
||||||
|
* @return interger
|
||||||
|
*/
|
||||||
|
public function getTotalSize() {
|
||||||
|
if (!isset($this -> totalSize))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return $this -> totalSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns "asc", if $sorting is "desc". Returns "desc", if it's "asc".
|
||||||
|
* @param $sorting
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function adesc($sorting) {
|
||||||
|
if ($sorting == "SORT_ASC")
|
||||||
|
return "SORT_DESC";
|
||||||
|
elseif ($sorting == "SORT_DESC")
|
||||||
|
return "SORT_ASC";
|
||||||
|
else
|
||||||
|
return "SORT_ASC";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSortOrder($r = false) {
|
||||||
|
if (!isset($this -> sortOptions)) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
if ($r) {
|
||||||
|
return $this -> adesc($this -> sortOptions['sort']);
|
||||||
|
} else {
|
||||||
|
return $this -> sortOptions['sort'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSortKey() {
|
||||||
|
if (!isset($this -> sortOptions))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return $this -> sortOptions['key'];
|
||||||
|
}
|
||||||
|
|
||||||
|
private function validizeSortOrder($order) {
|
||||||
|
if (in_array($order, array('SORT_ASC', 'SORT_DESC', 'SORT_REGULAR', 'SORT_NUMERIC', 'SORT_STRING'))) {
|
||||||
|
return $order;
|
||||||
|
} else {
|
||||||
|
return 'SORT_ASC';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function validizeSortKey($order) {
|
||||||
|
if (in_array($order, array('name', 'path', 'location', 'bytes', 'mtime', 'type'))) {
|
||||||
|
return $order;
|
||||||
|
} else {
|
||||||
|
return 'name';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function sessionSort() {
|
||||||
|
if ($this -> isUserSortActive()) {
|
||||||
|
session_start();
|
||||||
|
if (isset($_SESSION['sortorder'])){
|
||||||
|
$this -> sortOptions['sort'] = $_SESSION['sortorder'];
|
||||||
|
}
|
||||||
|
if (isset($_SESSION['sortkey'])){
|
||||||
|
$this -> sortOptions['key'] = $_SESSION['sortkey'];
|
||||||
|
}
|
||||||
|
if (isset($_GET['sortorder']) || isset($_GET['sortkey'])) {
|
||||||
|
if (isset($_GET['sortorder'])){
|
||||||
|
$_SESSION['sortorder'] = $this -> validizeSortOrder($_GET['sortorder']);
|
||||||
|
}
|
||||||
|
if (isset($_GET['sortkey'])){
|
||||||
|
$_SESSION['sortkey'] = $this -> validizeSortKey($_GET['sortkey']);
|
||||||
|
}
|
||||||
|
if (!empty($this->searchTag)) {
|
||||||
|
header('Location:http://'.$this->host.$this -> getScriptPath()."?search=".$this->searchTag."&directory=".$this -> directory);
|
||||||
|
} else {
|
||||||
|
header('Location:http://'.$this->host.$this->getScriptDirectory()."/".$this -> directory);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isUserSortActive() {
|
||||||
|
return $this -> userSort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isModRewriteActive() {
|
||||||
|
return $this -> modRewrite;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
114
files/.pdirl/templates/default/index.php
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
|
<title><?php echo _('Directory listing for '), host(), $_SERVER['REQUEST_URI']; ?></title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="<?php echo templateDirectory();?>/style.css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="headerwrap">
|
||||||
|
<div id="header">
|
||||||
|
<h1><?printBreadcrumb();?></h1>
|
||||||
|
<form action="<?php echo scriptPath();?>" method="get">
|
||||||
|
<?php // adds the current directory "&directory=blubb/blabl" to the url ?>
|
||||||
|
<input type="hidden" name="directory" value="<?php echo currentDirectory();?>" />
|
||||||
|
<ul>
|
||||||
|
<?php // simple history-back js-command ?>
|
||||||
|
<li><a href="javascript:history.back()" onclick="history.back()"><?php imgTagIcon('back', 'Back');?></a></li>
|
||||||
|
|
||||||
|
<?php if(currentDirectory() != './'): # If this folder is not the folder where pdirl is?>
|
||||||
|
|
||||||
|
<li><a href="<?php echo goParent()?>"><?php imgTagIcon('parent', 'Parent Directory')?></a></li>
|
||||||
|
<li><a href="<?php echo scriptDirectory(); ?>"><?php imgTagIcon('home', 'Home Directory')?></a></li>
|
||||||
|
|
||||||
|
<?php else: ?>
|
||||||
|
|
||||||
|
<li><?php imgTagIcon('parent-disabled', 'Parent');?></li>
|
||||||
|
<li><?php imgTagIcon('home-disabled', 'Home Directory');?></li>
|
||||||
|
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<li><a href="<?php echo $_SERVER['REQUEST_URI']?>"><?php imgTagIcon('reload', 'Reload');?></a></li>
|
||||||
|
<li style="color: #0C4F5F">|</li>
|
||||||
|
<li>
|
||||||
|
<?php imgTagIcon('search', 'Search...')?>
|
||||||
|
<input name="gosearch" id="search" type="text" value="<?php echo searchInput()?>" onclick=" if(this.value == '<?php echo _('Search...')?>') { this.value = ''; }" /></li>
|
||||||
|
</ul>
|
||||||
|
</form>
|
||||||
|
<div style="clear:left;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="contentwrap">
|
||||||
|
<?php if ($elements): ?>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td <?php if ($hideMTime) echo 'colspan="2"'; ?>>
|
||||||
|
<?php sortLink('name', _('Name'));?></td>
|
||||||
|
<?php if (!$hideMTime): ?>
|
||||||
|
<td><?php sortLink('mtime', _('Last modification'))?></td>
|
||||||
|
<?php endif; ?>
|
||||||
|
<td><?php sortLink('bytes', _('Size'));?></td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php foreach($elements as $element): ?>
|
||||||
|
<tr>
|
||||||
|
<td class="name"
|
||||||
|
<?php
|
||||||
|
if(!$element['readable']){
|
||||||
|
echo 'colspan="3"';
|
||||||
|
} elseif ($element['countonly']) {
|
||||||
|
echo 'colspan="2"';
|
||||||
|
} ?> title="<?php echo filetypeInfo($element['type']);?>">
|
||||||
|
<img src="<?php echo iconDirectory();?>/<?php echo $element['type'];?>.png" alt="<?php echo _('Directory');?>" />
|
||||||
|
<?php if(!$element['readable']) { echo imgTagIcon('locked', 'not accessible');} ?>
|
||||||
|
<a href="<?php echo $element['urlpath'] ?>" id="<?php echo $element['name'];?>">
|
||||||
|
<?php echo $element['name'];?>
|
||||||
|
</a>
|
||||||
|
<?php if(searchTag() && $element['location']): ?>
|
||||||
|
<small><a href="<?php echo urlPath($element['locationurl']);?>">
|
||||||
|
<?php echo $element['location'];?>
|
||||||
|
</a></small>
|
||||||
|
<?php endif; ?>
|
||||||
|
</td>
|
||||||
|
<?php if($element['readable']): ?>
|
||||||
|
<?php if($element['countonly']): ?>
|
||||||
|
<td class="size">
|
||||||
|
<?php printf(_('%s elements'), $element['numberofelements']); ?>
|
||||||
|
</td>
|
||||||
|
<?php else: ?>
|
||||||
|
<td class="mtime">
|
||||||
|
<?php echo $element['mtimer'];?>
|
||||||
|
</td>
|
||||||
|
<td class="size">
|
||||||
|
<?php echo $element['sizer']['number'].' '.$element['sizer']['unit'];?>
|
||||||
|
</td>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php endif; ?>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<?php $totalSize = sizeReadable(totalSize()); ?>
|
||||||
|
<?php $term = (searchTag())? _('Found %s element(s) totalling %s %s in size.') : _('This directory contains %s element(s) totalling %s %s in size.');?>
|
||||||
|
<?php else: ?>
|
||||||
|
<div id="nothing">
|
||||||
|
<p>
|
||||||
|
<?php if(searchTag()): ?>
|
||||||
|
<?php echo _('No search result.');?>
|
||||||
|
<?php else: ?>
|
||||||
|
<?php echo _('This directory contains no files.');?>
|
||||||
|
<?php endif; ?>
|
||||||
|
- <a href="javascript:history.back()" onclick="history.back()"><?php echo _('Back'); ?></a></p>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
</div>
|
||||||
|
<div id="footer">
|
||||||
|
<?php if($elements): ?>
|
||||||
|
<p><?php echo sprintf($term, numberOfElements(), $totalSize['number'], $totalSize['unit']);?></p>
|
||||||
|
<?php endif; ?>
|
||||||
|
<p><small>powered by <a href="http://pdirl.newroots.de/">pdirl - PHP Directory Listing</a>.</small></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
101
files/.pdirl/templates/default/style.css
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
@CHARSET "UTF-8";
|
||||||
|
* {
|
||||||
|
padding:0px; margin:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: Helvetica; font-size: 12px; color: #333; background: #FFF3CF;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
vertical-align: bottom; padding: 0 3px 0 0; border: 0px none;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: #857661; font-size: inherit; text-decoration: none;
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
color: rgb(60,60,60);
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
padding-left: 0; margin-bottom: 10px; font-size: 21px; font-weight: bold; color: #FFF3CF;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
width: 700px;
|
||||||
|
}
|
||||||
|
table td {
|
||||||
|
font-size: 16px; padding: 5px; vertical-align: middle;
|
||||||
|
}
|
||||||
|
table td img.locked {
|
||||||
|
margin-left: -22px;
|
||||||
|
}
|
||||||
|
table td small {
|
||||||
|
display: block; color: #CFC98E; padding-left: 30px;
|
||||||
|
}
|
||||||
|
table tr {
|
||||||
|
background: #ffffff; width: 70%; color:#857661;
|
||||||
|
}
|
||||||
|
table thead tr td {
|
||||||
|
background: #FFF9DF; font-size: 12px; padding: 0px;
|
||||||
|
}
|
||||||
|
table thead tr td a {
|
||||||
|
font-size: 12px; display: block; padding: 5px;
|
||||||
|
}
|
||||||
|
table thead tr td a:hover {
|
||||||
|
background-color: #F6E49C;
|
||||||
|
}
|
||||||
|
table tr:hover {
|
||||||
|
background-color: #FFF9DF;
|
||||||
|
}
|
||||||
|
table td.size, table td.mtime {
|
||||||
|
white-space: nowrap; width: 12%; font-size: 14px;
|
||||||
|
}
|
||||||
|
table td.mtime {
|
||||||
|
width: 18%;
|
||||||
|
}
|
||||||
|
div.total {
|
||||||
|
background: #f8f8f8; padding: 2px;
|
||||||
|
}
|
||||||
|
#headerwrap {
|
||||||
|
background: #083844; padding: 10px 10px 5px; border-bottom: 5px solid #D6C47C;
|
||||||
|
}
|
||||||
|
#header {
|
||||||
|
width: 700px; margin: 0px auto; color: #FFF3CF;
|
||||||
|
}
|
||||||
|
#header a {
|
||||||
|
font-size:inherit; color: #DFD999;
|
||||||
|
}
|
||||||
|
#header a:hover {
|
||||||
|
color: #CFC98E;
|
||||||
|
}
|
||||||
|
#header ul {
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
#header ul li {
|
||||||
|
float: left; margin-right: 5px; font-size: 15px;
|
||||||
|
}
|
||||||
|
#header ul a {
|
||||||
|
font-size: inherit;
|
||||||
|
}
|
||||||
|
#contentwrap {
|
||||||
|
margin: 20px auto; padding: 0; width: 700px; box-shadow: 0px 0px 10px #999;
|
||||||
|
}
|
||||||
|
#nothing {
|
||||||
|
background: #ffffff; color:#857661; font-size: 16px; padding: 10px;
|
||||||
|
}
|
||||||
|
#footer {
|
||||||
|
margin: 20px auto; width: 700px; color: #857661; font-size:12px; margin-top:10px; padding-left: 10px;
|
||||||
|
}
|
||||||
|
#footer small a {
|
||||||
|
font-size: inherit;
|
||||||
|
}
|
||||||
|
#search {
|
||||||
|
width: 100px; border: 0px none; border-bottom: solid 1px #999; color: #999; padding: 2px; height: 14px; font-size:12px; background: transparent;
|
||||||
|
}
|
||||||
|
.asc, .desc {
|
||||||
|
padding-left:15px; background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
.asc {
|
||||||
|
background-image: url('../../icons/default/asc.gif'); background-position: 3px 10px;
|
||||||
|
}
|
||||||
|
.desc {
|
||||||
|
background-image: url('../../icons/default/desc.gif'); background-position: 3px 8px;
|
||||||
|
}
|