diff --git a/files/.bzr/README b/files/.bzr/README new file mode 100644 index 0000000..f82dc1c --- /dev/null +++ b/files/.bzr/README @@ -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. diff --git a/files/.bzr/branch-format b/files/.bzr/branch-format new file mode 100644 index 0000000..9eb09b7 --- /dev/null +++ b/files/.bzr/branch-format @@ -0,0 +1 @@ +Bazaar-NG meta directory, format 1 diff --git a/files/.bzr/branch/branch.conf b/files/.bzr/branch/branch.conf new file mode 100644 index 0000000..cf5454a --- /dev/null +++ b/files/.bzr/branch/branch.conf @@ -0,0 +1 @@ +push_location = http://bazaar.launchpad.net/~zuwig/pdirl/dev-1.0/ diff --git a/files/.bzr/branch/format b/files/.bzr/branch/format new file mode 100644 index 0000000..dc392f4 --- /dev/null +++ b/files/.bzr/branch/format @@ -0,0 +1 @@ +Bazaar Branch Format 7 (needs bzr 1.6) diff --git a/files/.bzr/branch/last-revision b/files/.bzr/branch/last-revision new file mode 100644 index 0000000..bd5509a --- /dev/null +++ b/files/.bzr/branch/last-revision @@ -0,0 +1 @@ +1 zuwig-20120516232456-kcaglp2jk1vzqwz1 diff --git a/files/.bzr/branch/tags b/files/.bzr/branch/tags new file mode 100644 index 0000000..e69de29 diff --git a/files/.bzr/checkout/conflicts b/files/.bzr/checkout/conflicts new file mode 100644 index 0000000..0dc2d3a --- /dev/null +++ b/files/.bzr/checkout/conflicts @@ -0,0 +1 @@ +BZR conflict list format 1 diff --git a/files/.bzr/checkout/dirstate b/files/.bzr/checkout/dirstate new file mode 100644 index 0000000..17edd5e Binary files /dev/null and b/files/.bzr/checkout/dirstate differ diff --git a/files/.bzr/checkout/format b/files/.bzr/checkout/format new file mode 100644 index 0000000..e0261c7 --- /dev/null +++ b/files/.bzr/checkout/format @@ -0,0 +1 @@ +Bazaar Working Tree Format 6 (bzr 1.14) diff --git a/files/.bzr/checkout/views b/files/.bzr/checkout/views new file mode 100644 index 0000000..e69de29 diff --git a/files/.bzr/repository/format b/files/.bzr/repository/format new file mode 100644 index 0000000..b200528 --- /dev/null +++ b/files/.bzr/repository/format @@ -0,0 +1 @@ +Bazaar repository format 2a (needs bzr 1.16 or later) diff --git a/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.cix b/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.cix new file mode 100644 index 0000000..ae2fdcc Binary files /dev/null and b/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.cix differ diff --git a/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.iix b/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.iix new file mode 100644 index 0000000..271eb82 Binary files /dev/null and b/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.iix differ diff --git a/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.rix b/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.rix new file mode 100644 index 0000000..e00d59c Binary files /dev/null and b/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.rix differ diff --git a/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.six b/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.six new file mode 100644 index 0000000..a2afde6 --- /dev/null +++ b/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.six @@ -0,0 +1,5 @@ +B+Tree Graph Index 2 +node_ref_lists=0 +key_elements=1 +len=0 +row_lengths= diff --git a/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.tix b/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.tix new file mode 100644 index 0000000..9d6276a Binary files /dev/null and b/files/.bzr/repository/indices/68ee712b13e0e7f57440eba88983470f.tix differ diff --git a/files/.bzr/repository/pack-names b/files/.bzr/repository/pack-names new file mode 100644 index 0000000..acc14dc Binary files /dev/null and b/files/.bzr/repository/pack-names differ diff --git a/files/.bzr/repository/packs/68ee712b13e0e7f57440eba88983470f.pack b/files/.bzr/repository/packs/68ee712b13e0e7f57440eba88983470f.pack new file mode 100644 index 0000000..8b227a9 Binary files /dev/null and b/files/.bzr/repository/packs/68ee712b13e0e7f57440eba88983470f.pack differ diff --git a/files/.htaccess b/files/.htaccess new file mode 100644 index 0000000..4656cf1 --- /dev/null +++ b/files/.htaccess @@ -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] \ No newline at end of file diff --git a/files/.pdirl/config.php b/files/.pdirl/config.php new file mode 100644 index 0000000..fa0b138 --- /dev/null +++ b/files/.pdirl/config.php @@ -0,0 +1,109 @@ + + * If something's not working, remove the both slashes before error_reporting and report the bug to: + * + */ +//error_reporting(E_ALL); + +$conf = array ( + + /* Language must be in ISO 639 format + * 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 +) +?> \ No newline at end of file diff --git a/files/.pdirl/guifunctions.php b/files/.pdirl/guifunctions.php new file mode 100644 index 0000000..78376e6 --- /dev/null +++ b/files/.pdirl/guifunctions.php @@ -0,0 +1,357 @@ + '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 + */ + // 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 + * @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 + * @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 .= ''.$dir.'/'; + } else { + $path .= ''.$dir.'/'; + } + } 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 %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. dir/anotherdir/blubb + * $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%s%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 = "'; + } 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('%1$s', $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();} +?> \ No newline at end of file diff --git a/files/.pdirl/icons/default/asc.gif b/files/.pdirl/icons/default/asc.gif new file mode 100644 index 0000000..e93a5ed Binary files /dev/null and b/files/.pdirl/icons/default/asc.gif differ diff --git a/files/.pdirl/icons/default/audio.png b/files/.pdirl/icons/default/audio.png new file mode 100644 index 0000000..318bebd Binary files /dev/null and b/files/.pdirl/icons/default/audio.png differ diff --git a/files/.pdirl/icons/default/back.png b/files/.pdirl/icons/default/back.png new file mode 100644 index 0000000..93be3d1 Binary files /dev/null and b/files/.pdirl/icons/default/back.png differ diff --git a/files/.pdirl/icons/default/default.png b/files/.pdirl/icons/default/default.png new file mode 100644 index 0000000..80efaf5 Binary files /dev/null and b/files/.pdirl/icons/default/default.png differ diff --git a/files/.pdirl/icons/default/desc.gif b/files/.pdirl/icons/default/desc.gif new file mode 100644 index 0000000..235535f Binary files /dev/null and b/files/.pdirl/icons/default/desc.gif differ diff --git a/files/.pdirl/icons/default/directory.png b/files/.pdirl/icons/default/directory.png new file mode 100644 index 0000000..45f71b1 Binary files /dev/null and b/files/.pdirl/icons/default/directory.png differ diff --git a/files/.pdirl/icons/default/home-disabled.png b/files/.pdirl/icons/default/home-disabled.png new file mode 100644 index 0000000..f50f880 Binary files /dev/null and b/files/.pdirl/icons/default/home-disabled.png differ diff --git a/files/.pdirl/icons/default/home.png b/files/.pdirl/icons/default/home.png new file mode 100644 index 0000000..9d62109 Binary files /dev/null and b/files/.pdirl/icons/default/home.png differ diff --git a/files/.pdirl/icons/default/image.png b/files/.pdirl/icons/default/image.png new file mode 100644 index 0000000..10f4671 Binary files /dev/null and b/files/.pdirl/icons/default/image.png differ diff --git a/files/.pdirl/icons/default/locked.png b/files/.pdirl/icons/default/locked.png new file mode 100644 index 0000000..0466619 Binary files /dev/null and b/files/.pdirl/icons/default/locked.png differ diff --git a/files/.pdirl/icons/default/package.png b/files/.pdirl/icons/default/package.png new file mode 100644 index 0000000..dc76287 Binary files /dev/null and b/files/.pdirl/icons/default/package.png differ diff --git a/files/.pdirl/icons/default/parent-disabled.png b/files/.pdirl/icons/default/parent-disabled.png new file mode 100644 index 0000000..b7f18b2 Binary files /dev/null and b/files/.pdirl/icons/default/parent-disabled.png differ diff --git a/files/.pdirl/icons/default/parent.png b/files/.pdirl/icons/default/parent.png new file mode 100644 index 0000000..b0a0cd7 Binary files /dev/null and b/files/.pdirl/icons/default/parent.png differ diff --git a/files/.pdirl/icons/default/program.png b/files/.pdirl/icons/default/program.png new file mode 100644 index 0000000..2bb2adf Binary files /dev/null and b/files/.pdirl/icons/default/program.png differ diff --git a/files/.pdirl/icons/default/reload.png b/files/.pdirl/icons/default/reload.png new file mode 100644 index 0000000..cab4d02 Binary files /dev/null and b/files/.pdirl/icons/default/reload.png differ diff --git a/files/.pdirl/icons/default/search.png b/files/.pdirl/icons/default/search.png new file mode 100644 index 0000000..15f6e02 Binary files /dev/null and b/files/.pdirl/icons/default/search.png differ diff --git a/files/.pdirl/icons/default/text.png b/files/.pdirl/icons/default/text.png new file mode 100644 index 0000000..d68a56c Binary files /dev/null and b/files/.pdirl/icons/default/text.png differ diff --git a/files/.pdirl/icons/default/video.png b/files/.pdirl/icons/default/video.png new file mode 100644 index 0000000..6e26d9c Binary files /dev/null and b/files/.pdirl/icons/default/video.png differ diff --git a/files/.pdirl/icons/default/web.png b/files/.pdirl/icons/default/web.png new file mode 100644 index 0000000..160b298 Binary files /dev/null and b/files/.pdirl/icons/default/web.png differ diff --git a/files/.pdirl/languages/cs/LC_MESSAGES/default.mo b/files/.pdirl/languages/cs/LC_MESSAGES/default.mo new file mode 100644 index 0000000..d5dbc17 Binary files /dev/null and b/files/.pdirl/languages/cs/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/cs/LC_MESSAGES/default.po b/files/.pdirl/languages/cs/LC_MESSAGES/default.po new file mode 100644 index 0000000..3aa4e0e --- /dev/null +++ b/files/.pdirl/languages/cs/LC_MESSAGES/default.po @@ -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 , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: pdirl\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-05-17 20:24+0000\n" +"PO-Revision-Date: 2010-02-01 23:20+0000\n" +"Last-Translator: c00ba \n" +"Language-Team: Czech \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 "" diff --git a/files/.pdirl/languages/da/LC_MESSAGES/default.mo b/files/.pdirl/languages/da/LC_MESSAGES/default.mo new file mode 100644 index 0000000..23c85b9 Binary files /dev/null and b/files/.pdirl/languages/da/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/da/LC_MESSAGES/default.po b/files/.pdirl/languages/da/LC_MESSAGES/default.po new file mode 100644 index 0000000..2ab6a60 --- /dev/null +++ b/files/.pdirl/languages/da/LC_MESSAGES/default.po @@ -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 \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 "" diff --git a/files/.pdirl/languages/de/LC_MESSAGES/default.mo b/files/.pdirl/languages/de/LC_MESSAGES/default.mo new file mode 100644 index 0000000..165248a Binary files /dev/null and b/files/.pdirl/languages/de/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/de/LC_MESSAGES/default.po b/files/.pdirl/languages/de/LC_MESSAGES/default.po new file mode 100644 index 0000000..c0d1c19 --- /dev/null +++ b/files/.pdirl/languages/de/LC_MESSAGES/default.po @@ -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 \n" +"Language-Team: René Züwig \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 "" diff --git a/files/.pdirl/languages/default.pot b/files/.pdirl/languages/default.pot new file mode 100644 index 0000000..a716cdc --- /dev/null +++ b/files/.pdirl/languages/default.pot @@ -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 \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 "" diff --git a/files/.pdirl/languages/el/LC_MESSAGES/default.mo b/files/.pdirl/languages/el/LC_MESSAGES/default.mo new file mode 100644 index 0000000..bb6edbe Binary files /dev/null and b/files/.pdirl/languages/el/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/el/LC_MESSAGES/default.po b/files/.pdirl/languages/el/LC_MESSAGES/default.po new file mode 100644 index 0000000..a33c34f --- /dev/null +++ b/files/.pdirl/languages/el/LC_MESSAGES/default.po @@ -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 , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: pdirl\n" +"Report-Msgid-Bugs-To: FULL NAME \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 \n" +"Language-Team: Greek \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 "" diff --git a/files/.pdirl/languages/en_GB/LC_MESSAGES/default.mo b/files/.pdirl/languages/en_GB/LC_MESSAGES/default.mo new file mode 100644 index 0000000..7da722a Binary files /dev/null and b/files/.pdirl/languages/en_GB/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/en_GB/LC_MESSAGES/default.po b/files/.pdirl/languages/en_GB/LC_MESSAGES/default.po new file mode 100644 index 0000000..2dc3cc3 --- /dev/null +++ b/files/.pdirl/languages/en_GB/LC_MESSAGES/default.po @@ -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 \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 "" diff --git a/files/.pdirl/languages/es/LC_MESSAGES/default.mo b/files/.pdirl/languages/es/LC_MESSAGES/default.mo new file mode 100644 index 0000000..fcc5335 Binary files /dev/null and b/files/.pdirl/languages/es/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/es/LC_MESSAGES/default.po b/files/.pdirl/languages/es/LC_MESSAGES/default.po new file mode 100644 index 0000000..b84eaf4 --- /dev/null +++ b/files/.pdirl/languages/es/LC_MESSAGES/default.po @@ -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 , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: pdirl\n" +"Report-Msgid-Bugs-To: FULL NAME \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 \n" +"Language-Team: Spanish \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 "" diff --git a/files/.pdirl/languages/fr/LC_MESSAGES/default.mo b/files/.pdirl/languages/fr/LC_MESSAGES/default.mo new file mode 100644 index 0000000..198f463 Binary files /dev/null and b/files/.pdirl/languages/fr/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/fr/LC_MESSAGES/default.po b/files/.pdirl/languages/fr/LC_MESSAGES/default.po new file mode 100644 index 0000000..ae189d0 --- /dev/null +++ b/files/.pdirl/languages/fr/LC_MESSAGES/default.po @@ -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 \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 "" diff --git a/files/.pdirl/languages/hu/LC_MESSAGES/default.mo b/files/.pdirl/languages/hu/LC_MESSAGES/default.mo new file mode 100644 index 0000000..8b12388 Binary files /dev/null and b/files/.pdirl/languages/hu/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/hu/LC_MESSAGES/default.po b/files/.pdirl/languages/hu/LC_MESSAGES/default.po new file mode 100644 index 0000000..9748440 --- /dev/null +++ b/files/.pdirl/languages/hu/LC_MESSAGES/default.po @@ -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 , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: pdirl\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-05-17 20:24+0000\n" +"PO-Revision-Date: 2010-10-31 13:15+0000\n" +"Last-Translator: meneruwa \n" +"Language-Team: Hungarian \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 "" diff --git a/files/.pdirl/languages/it/LC_MESSAGES/default.mo b/files/.pdirl/languages/it/LC_MESSAGES/default.mo new file mode 100644 index 0000000..74706f5 Binary files /dev/null and b/files/.pdirl/languages/it/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/it/LC_MESSAGES/default.po b/files/.pdirl/languages/it/LC_MESSAGES/default.po new file mode 100644 index 0000000..3b2d698 --- /dev/null +++ b/files/.pdirl/languages/it/LC_MESSAGES/default.po @@ -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 \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 "" diff --git a/files/.pdirl/languages/nl/LC_MESSAGES/default.mo b/files/.pdirl/languages/nl/LC_MESSAGES/default.mo new file mode 100644 index 0000000..2e99f88 Binary files /dev/null and b/files/.pdirl/languages/nl/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/nl/LC_MESSAGES/default.po b/files/.pdirl/languages/nl/LC_MESSAGES/default.po new file mode 100644 index 0000000..76d878f --- /dev/null +++ b/files/.pdirl/languages/nl/LC_MESSAGES/default.po @@ -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 , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: pdirl\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-05-17 20:24+0000\n" +"PO-Revision-Date: 2010-01-23 20:18+0000\n" +"Last-Translator: cumulus007 \n" +"Language-Team: Dutch \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 "" diff --git a/files/.pdirl/languages/pl/LC_MESSAGES/default.mo b/files/.pdirl/languages/pl/LC_MESSAGES/default.mo new file mode 100644 index 0000000..ef8780f Binary files /dev/null and b/files/.pdirl/languages/pl/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/pl/LC_MESSAGES/default.po b/files/.pdirl/languages/pl/LC_MESSAGES/default.po new file mode 100644 index 0000000..a0e89ab --- /dev/null +++ b/files/.pdirl/languages/pl/LC_MESSAGES/default.po @@ -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 , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: pdirl\n" +"Report-Msgid-Bugs-To: FULL NAME \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 \n" +"Language-Team: Polish \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 "" diff --git a/files/.pdirl/languages/ro/LC_MESSAGES/default.mo b/files/.pdirl/languages/ro/LC_MESSAGES/default.mo new file mode 100644 index 0000000..577a6cf Binary files /dev/null and b/files/.pdirl/languages/ro/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/ro/LC_MESSAGES/default.po b/files/.pdirl/languages/ro/LC_MESSAGES/default.po new file mode 100644 index 0000000..ee0092c --- /dev/null +++ b/files/.pdirl/languages/ro/LC_MESSAGES/default.po @@ -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 \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 "" diff --git a/files/.pdirl/languages/ru/LC_MESSAGES/default.mo b/files/.pdirl/languages/ru/LC_MESSAGES/default.mo new file mode 100644 index 0000000..7001a51 Binary files /dev/null and b/files/.pdirl/languages/ru/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/ru/LC_MESSAGES/default.po b/files/.pdirl/languages/ru/LC_MESSAGES/default.po new file mode 100644 index 0000000..53ce3fe --- /dev/null +++ b/files/.pdirl/languages/ru/LC_MESSAGES/default.po @@ -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 , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: pdirl\n" +"Report-Msgid-Bugs-To: FULL NAME \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 \n" +"Language-Team: Russian \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 "" diff --git a/files/.pdirl/languages/tr/LC_MESSAGES/default.mo b/files/.pdirl/languages/tr/LC_MESSAGES/default.mo new file mode 100644 index 0000000..19bc246 Binary files /dev/null and b/files/.pdirl/languages/tr/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/tr/LC_MESSAGES/default.po b/files/.pdirl/languages/tr/LC_MESSAGES/default.po new file mode 100644 index 0000000..6dfa277 --- /dev/null +++ b/files/.pdirl/languages/tr/LC_MESSAGES/default.po @@ -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 , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: pdirl\n" +"Report-Msgid-Bugs-To: FULL NAME \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 \n" +"Language-Team: Turkish \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 "" diff --git a/files/.pdirl/languages/zh_CN/LC_MESSAGES/default.mo b/files/.pdirl/languages/zh_CN/LC_MESSAGES/default.mo new file mode 100644 index 0000000..67e8fd5 Binary files /dev/null and b/files/.pdirl/languages/zh_CN/LC_MESSAGES/default.mo differ diff --git a/files/.pdirl/languages/zh_CN/LC_MESSAGES/default.po b/files/.pdirl/languages/zh_CN/LC_MESSAGES/default.po new file mode 100644 index 0000000..d73fb84 --- /dev/null +++ b/files/.pdirl/languages/zh_CN/LC_MESSAGES/default.po @@ -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 , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: pdirl\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-05-17 20:24+0000\n" +"PO-Revision-Date: 2010-04-27 07:17+0000\n" +"Last-Translator: surftheair \n" +"Language-Team: Chinese (Simplified) \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 "" diff --git a/files/.pdirl/pdlc.class.php b/files/.pdirl/pdlc.class.php new file mode 100644 index 0000000..ae3910e --- /dev/null +++ b/files/.pdirl/pdlc.class.php @@ -0,0 +1,760 @@ + 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 + * @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 + // + // + } elseif (function_exists('finfo_open')) { + $finfoHandler = finfo_open(FILEINFO_MIME); + if ($finfoType = finfo_file($finfoHandler, $file)) { + // + // "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(); + } + + // + $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 + * @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 + * @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 + * @link http://us.php.net/manual/en/function.stat.php#61238 + * @author + * @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 + 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 + // + 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. '' 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; + } +} + +?> \ No newline at end of file diff --git a/files/.pdirl/templates/default/index.php b/files/.pdirl/templates/default/index.php new file mode 100644 index 0000000..91e16f7 --- /dev/null +++ b/files/.pdirl/templates/default/index.php @@ -0,0 +1,114 @@ + + + + + <?php echo _('Directory listing for '), host(), $_SERVER['REQUEST_URI']; ?> + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
> +
title=""> + <?php echo _('Directory');?> + + + + + + + + + + + + + + + +
+ + + +
+

+ + + + + + -

+
+ +
+ + + \ No newline at end of file diff --git a/files/.pdirl/templates/default/style.css b/files/.pdirl/templates/default/style.css new file mode 100644 index 0000000..2abe014 --- /dev/null +++ b/files/.pdirl/templates/default/style.css @@ -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; +} \ No newline at end of file