/web/mujweb/AutoIndex/changeLog.html |
---|
0,0 → 1,339 |
<?xml version="1.0" encoding="iso-8859-1"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
<head> |
<link href="stylesheet.css" rel="stylesheet" title="AutoIndex Default" type="text/css" /> |
<title>AutoIndex PHP Script: Change Log</title> |
</head> |
<body class="autoindex_body"> |
<h4 style="text-align: center;"><a class="default_a" href="http://autoindex.sourceforge.net"><span style="color: #000000;">AutoIndex PHP Script</span></a>, by <a class="default_a" href="mailto:JustinHagstrom [at] yahoo [dot] com"><span style="color: #000000;">Justin Hagstrom</span></a></h4> |
<h5 style="text-align: center;">Change Log</h5> |
<p> |
|
</p> |
<table width="100%" border="0" cellpadding="5" cellspacing="0"> |
<tr class="fixed_width"><td class="default_td"> |
<div style="font-size: 12px;"> |
<p> |
<strong>Legend</strong>: |
<br />(+) Added feature |
<br />(!) Security bug fixed |
<br />(-) Bug fixed |
<br />(*) Improved/changed feature |
<br />( ) Non-code change |
</p> |
<p> |
|
</p> |
<p> |
<strong>Version 1.5.2</strong> (2005-Jan-04) |
<br />(-) Fixed <em>folder_expansion</em> |
<br />( ) Added Esperanto translation |
</p> |
<p> |
<strong>Version 1.5.1</strong> (2004-Oct-04) |
<br />(-) Fixed <em>show_folder_count</em> (broken since 1.5.0) |
</p> |
<p> |
<strong>Version 1.5.0</strong> (2004-Sep-02) |
<br />(+) When <em>force_download</em> is on, the MIME-type sent depends on the file extension |
<br />(*) <em>show_only_these_files</em> no longer restricts directories |
</p> |
<p> |
<strong>Version 1.4.9</strong> (2004-Aug-17) |
<br />(*) Folders do not have to be empty to be deleted |
<br />( ) Added Hebrew translation |
</p> |
<p> |
<strong>Version 1.4.8</strong> (2004-Jul-13) |
<br />(*) All output is XHTML 1.1 compliant |
<br />( ) Added Serbian translation |
</p> |
<p> |
<strong>Version 1.4.7</strong> (2004-Jun-18) |
<br />(-) Changing account password fixed |
<br />(*) More file extensions are matched to icons |
</p> |
<p> |
<strong>Version 1.4.6</strong> (2004-Jun-02) |
<br />(*) Admins can view hidden files |
<br />( ) Added Albanian translation |
</p> |
<p> |
<strong>Version 1.4.5</strong> (2004-May-11) |
<br />(-) Stored info for files is updated even when a parent folder is renamed |
</p> |
<p> |
<strong>Version 1.4.4</strong> (2004-May-04) |
<br />(*) When the config file is rewritten, the older version is backed up |
<br />(-) Removed the file owner lookup to increase compatibility |
<br />( ) Added Estonian, Vietnamese, and Greek translations |
</p> |
<p> |
<strong>Version 1.4.3</strong> (2004-Apr-10) |
<br />(+) Added an option to ban IP addresses or hostnames |
<br />(-) Files that take longer than 30 seconds to download now work with <em>force_download</em> on |
<br />(*) <em>dont_log_these_ips</em> can also contain hostnames |
<br />(*) Uploads are logged if the logging system is on |
<br />( ) Added another icon set (MacOS X style) |
<br />( ) Added Turkish translation |
</p> |
<p> |
<strong>Version 1.4.2</strong> (2004-Mar-26) |
<br />(+) Added an image thumbnailing feature (requires GDlib 2.0.1 or higher) |
<br />(-) Hostnames are correctly resolved for logging (broken since 1.4.0) |
<br />( ) Added another icon set (KDE style) |
<br />( ) Added Latvian translation |
</p> |
<p> |
<strong>Version 1.4.1</strong> (2004-Mar-24) |
<br />(-) Script works when posix_getpwuid() is disabled on UNIX-like systems |
<br />(+) Folders can be created recursively |
<br />(*) The header and footer (if specified) are added to all pages displayed |
</p> |
<p> |
<strong>Version 1.4.0</strong> (2004-Mar-12) |
<br />(+) The script is configured through the web browser, rather than by directly editing the php file |
<br />(+) Added a filetype column, and made it optional to show each column |
<br />(+) Added some basic compatibility for PHP 4.0.x |
<br />(-) The directory list is not regenerated when a file is downloaded |
<br />( ) Renamed <em>AutoIndex.php</em> to <em>index.php</em> |
<br />( ) Forums moved to <a class="default_a" href="http://autoindex.sourceforge.net/forum/">http://autoindex.sourceforge.net/forum/</a> |
</p> |
<p> |
<strong>Version 1.3.8</strong> (2004-Feb-22) |
<br />(-) Fixed the blank page problem that happened with certain php configurations |
</p> |
<p> |
<strong>Version 1.3.7</strong> (2004-Feb-06) |
<br />(+) Added an editor for the links file |
<br />(-) Works with zlib.output_compression turned on |
<br />(*) Links are included in searches (as files) |
<br />(*) Improved searching interface |
<br />( ) Added Czech translation |
</p> |
<p> |
<strong>Version 1.3.6</strong> (2004-Jan-17) |
<br />(+) Admins can rename files using the script |
<br />(*) You have to confirm any file/folder deletes |
<br />(*) You can set the display name for links |
<br />(*) Improved the get_filesize function |
<br />( ) Added Icelandic and Japanese translations |
</p> |
<p> |
<strong>Version 1.3.5</strong> (2004-Jan-12) |
<br />(-) Uploading works with absolute paths |
<br />(-) Stylesheet doesn't interfere with other tables |
<br />(*) Got rid of the <em>show_dot_files feature</em>, since you can just add ".*" to <em>hidden_files</em> |
<br />( ) Added another set of icons (WinXP style) |
<br />( ) Added Malay and Korean translations |
</p> |
<p> |
<strong>Version 1.3.4</strong> (2004-Jan-02) |
<br />(+) Added an option to only allow logged in users to view/download files |
<br />(+) Added a feature to only show certain files |
<br />(+) Added an option to allow the md5sum of a file to be calculated and shown |
<br />(-) Fixed problems when quotes are in strings |
<br />(-) Fixed URL encoding on IIS servers |
<br />(-) Fixed a bug with the upload feature (it still only works with relative paths, though) |
<br />(*) Usernames are treated as case-insensitive |
<br />( ) <em>userlist.txt</em> has been renamed to <em>.htpasswd.autoindex</em> to increase security |
<br />( ) Added Catalan and Thai translations |
<br />(*) Many small code changes |
</p> |
<p> |
<strong>Version 1.3.3</strong> (2003-Dec-24) |
<br />(*) Completely rewrote the format for log files |
<br /><strong>NOTE</strong>: you will have to start with an empty file for your log when you upgrade - you can't carry over your old log |
<br />(*) Rewrote the log viewer (in the admin section) |
<br />(*) Added a list to lookup the hostname country codes |
<br />(*) When descriptions are edited, the current description is shown in the textbox |
<br />( ) Added Romanian and Hungarian translations |
</p> |
<p> |
<strong>Version 1.3.2</strong> (2003-Dec-19) |
<br />(-) Fixed some small problems with the force download feature |
<br />(-) Only the filename (not the full path) is included for hidden file |
<br />(*) Searches no longer need wildcards ("simple search" by default) |
<br />(*) Improved the anti-leech feature |
<br />( ) Added Finnish translation |
<br />(*) Many small changes, improvements, and bug fixes |
</p> |
<p> |
<strong>Version 1.3.1</strong> (2003-Dec-15) |
<br />(-) Fixed a problem with logins on some servers |
<br />(-) Headers/footers are only included if they exist |
<br />(*) The downloads column has a total at the bottom |
<br />( ) Added Lithuanian translation |
</p> |
<p> |
<strong>Version 1.3.0</strong> (2003-Dec-14) |
<br />(+) Each file/folder is in its own row in the table (instead of just separating them with linebreaks) |
<br />(+) Files can have custom descriptions (you can edit them in the admin section) |
<br />(+) Links to files on other websites can be listed |
<br />(+) Admins are able to copy files from other servers (similar to "wget") |
<br />(*) The number of file downloads has its own column |
<br />(*) Many small changes and improvements |
</p> |
<p> |
<strong>Version 1.2.6</strong> (2003-Dec-07) |
<br />(+) Added an option to identify new files and folders |
<br />(-) Fixed a bug with deleting files |
<br />(*) Cleaned up the force_download code |
<br />(*) The header is displayed before the table is started |
<br />(*) Searches are saved after a search, as are all other selections |
<br />(*) Updated the stylesheet |
</p> |
<p> |
<strong>Version 1.2.5</strong> (2003-Nov-28) |
<br />(+) Lists can be sorted by Date and Filesize |
<br />(+) Admins can delete files and create/delete folders (<strong>NOTE</strong>: delete doesn't work properly until 1.2.6) |
<br />(+) Added a log viewer in the admin section |
<br />(-) The last remaining admin now cannot be deleted |
<br />(*) Added an option to let the user view the script in any language |
<br />(*) Added an option to use simple searches (no wildcards needed and not case sensitive) |
<br />(-) Some small bug fixes |
</p> |
<p> |
<strong>Version 1.2.4</strong> (2003-Nov-16) |
<br />(+) Added an option to keep track of the number of times a file has been downloaded |
<br />(!) [XSS vulnerability] A parameter could contain HTML code (present in 1.1.0 through 1.2.3) |
<br />(*) Files in <em>hidden_files</em> now cannot be uploaded |
<br />(*) Lists are sorted by "natural sort" |
<br />( ) Added Brazilian Portuguese and Swedish translations |
<br />( ) Forums moved to <a class="default_a" href="http://autoindex.tacticalcenter.net">http://autoindex.tacticalcenter.net</a> |
</p> |
<p> |
<strong>Version 1.2.3</strong> (2003-Nov-13) |
<br />(-) Fixed a bug when there are files/folders that PHP does not have permission to read |
<br />(-) All special characters are escaped for the regular expression matching |
<br />(*) IP addresses to not log can include wildcards (*, +, ?) |
<br />(*) When adding a new user, the username must follow a regular expression |
<br />(*) Added a few more extensions to give icons to |
</p> |
<p> |
<strong>Version 1.2.2</strong> (2003-Oct-23) |
<br />(*) More than one folder can be expanded at once |
<br />(*) Icons are shown for expanded folders |
<br />(*) PHP Sessions are used to store certain variables |
<br />(*) Each language has its own file |
<br />( ) Added Dutch, Polish, and Russian translations |
</p> |
<p> |
<strong>Version 1.2.1</strong> (2003-Oct-17) |
<br />(-) Fixed bugs when using the <em>index</em> feature |
<br />(-) Setting <em>show_dot_files</em> to 0 works correctly |
<br />(*) Improved file uploading (added an option to allow files to be overwritten) |
<br />( ) Added Bulgarian and Norwegian translations |
</p> |
<p> |
<strong>Version 1.2.0</strong> (2003-Oct-11) |
<br />(+) Added the ability to upload files |
<br />(+) User accounts and Login support added |
<br />(+) Wildcard matching: hidden files and searches can include wildcards (*, +, ?) |
<br />(*) Removed a few "useless" features |
<br />(-) A few small bug fixes |
</p> |
<p> |
<strong>Version 1.1.6</strong> (2003-Oct-07) |
<br />(*) Made a separate file for localizations |
<br />(-) Fixed a small bug in the HTML, effecting tables (present in 1.0.7 through 1.1.5) |
<br />(-) URLs are URLEncoded |
<br />( ) Added German, French, Danish, and Chinese translations |
</p> |
<p> |
<strong>Version 1.1.5</strong> (2003-Sep-13) |
<br />(+) Added localization support (so far: English, Italian, and Spanish) |
<br />(-) Fixed a bug with downloading files from search results (present in 1.1.0 through 1.1.4) |
</p> |
<p> |
<strong>Version 1.1.4</strong> (2003-Aug-12) |
<br />(+) Added an option to show files/folders that start with a period |
<br />(+) Added an option to not allow subdirectory access |
<br />(-) A few small bug fixes |
</p> |
<p> |
<strong>Version 1.1.3</strong> (2003-Jun-22) |
<br />(!) Fixed a bug with viewing files/folders above the root folder on Windows servers (present in 1.1.0 through 1.1.2) |
</p> |
<p> |
<strong>Version 1.1.2</strong> (2003-Jun-13) |
<br />(*) Improved the anti-leech feature: it now also uses cookies (<strong>NOTE</strong>: this doesn't work properly until 1.1.4) |
</p> |
<p> |
<strong>Version 1.1.1</strong> (2003-Jun-02) |
<br />(-) Fixed a bug when downloading files with <em>force_download</em> turned on |
<br />(+) Added a bandwidth limit feature |
<br />( ) Project is now hosted at <a class="default_a" href="http://autoindex.sourceforge.net">http://autoindex.sourceforge.net</a> |
</p> |
<p> |
<strong>Version 1.1.0</strong> (2003-May-17) |
<br />(*) Fixed up code, so now error displaying doesn't need to be turned off |
<br />(*) ".." is recognized in pathnames (<strong>NOTE</strong>: this creates a security bug on Windows servers. Fixed in 1.1.3) |
<br />(*) Improved error checking (<strong>NOTE</strong>: this creates a small security bug. Fixed in 1.2.4) |
<br />(*) Got rid of the old stylesheet |
</p> |
<p> |
<strong>Version 1.0.9</strong> (2003-Mar-11) |
<br />(-) Fixed bug which occurred when there was an apostrophe in the file/folder name |
<br />(-) File/folder names in Win32 are treated as case insensitive |
<br />(*) Added more searching features |
</p> |
<p> |
<strong>Version 1.0.8</strong> (2003-Mar-04) |
<br />(-) Fixed a bug with file naming when <em>force_download</em> is on |
</p> |
<p> |
<strong>Version 1.0.7</strong> (2003-Feb-23) |
<br />(-) Fixed a bug in the html: a table was not closed (<strong>NOTE</strong>: this actually creates a small bug present until 1.1.6) |
<br />(*) The filename of the script is specified in the link |
</p> |
<p> |
<strong>Version 1.0.6</strong> (2003-Feb-19) |
<br />(-) Fixed a bug with file downloads if using an absolute path |
</p> |
<p> |
<strong>Version 1.0.5</strong> (2003-Feb-14) |
<br />(+) Added more options with headers/footers |
</p> |
<p> |
<strong>Version 1.0.4</strong> (2003-Feb-12) |
<br />(!) Hidden files/folders cannot be viewed even if their name is specified in the URL |
<br />(*) Added a few more icons for file extensions |
</p> |
<p> |
<strong>Version 1.0.3</strong> (2003-Feb-08) |
<br />(-) If <em>show_extension</em> is FALSE, extensions are no longer included in the search |
<br />(-) Spaces in URLs are encoded to %20 (<strong>NOTE</strong>: the rest of the URL encoding bugs are fixed in 1.1.6 and 1.3.4) |
<br />(*) Improved the error checking and error messages |
<br />(*) Fixed up some of the HTML tables |
</p> |
<p> |
<strong>Version 1.0.2</strong> (2003-Jan-31) |
<br />(*) Server OS is automatically determined; you don't need to specify it |
</p> |
<p> |
<strong>Version 1.0.1</strong> (2003-Jan-30) |
<br />(+) Added an option to not log access from certain IPs |
<br />(*) Searches are logged |
<br />(*) Added more icons for file extensions |
</p> |
<p> |
<strong>Version 1.0.0</strong> (2003-Jan-29) |
<br />( ) First non-beta quality release |
</p> |
<p> |
<strong>Beta Versions</strong> (2002-Dec-??) |
<br />( ) Although they were labeled "Version 3.x" they are beta versions |
</p> |
</div> |
</td></tr></table> |
</body> |
</html> |
/web/mujweb/AutoIndex/config.php |
---|
0,0 → 1,369 |
<?php |
/*************************************************************************** |
AutoIndex PHP Script, by Justin Hagstrom |
------------------- |
filename : config.php |
version : 1.5.2 |
date : January 04, 2005 |
copyright : Copyright (C) 2002-2005 Justin Hagstrom |
license : GNU General Public License (GPL) |
website & forum : http://autoindex.sourceforge.net |
e-mail : JustinHagstrom [at] yahoo [dot] com |
AutoIndex PHP Script is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 2 of the License, or |
(at your option) any later version. |
AutoIndex PHP Script is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
You should have received a copy of the GNU General Public License |
along with this program; if not, write to the Free Software |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
***************************************************************************/ |
if (!defined('CONFIG') || CONFIG !== true) |
//make sure this file is being included from index.php |
{ |
die('<p>This file cannot be accessed directly.</p>'); |
} |
if (!isset($stored_config, $config_generator)) |
//make sure variables in index.php are set |
{ |
die('<p>Error: Filenames not defined. Check index.php to make sure $stored_config and $config_generator are set.</p>'); |
} |
if (count($_POST) == 38) |
{ |
$final_output = "<?php\n\n/*\n$stored_config generated by $config_generator\n" |
."Part of AutoIndex PHP Script\nhttp://autoindex.sourceforge.net\n*/\n\n\n"; |
foreach ($_POST as $key => $current) |
{ |
$current = str_replace('\'', '\\\'', str_replace('\\', '/', trim($current))); |
switch ($key) |
{ |
case 'base_dir': |
if ($current == '') |
{ |
die('<p>Error: Make sure $base_dir has been assigned a value.</p>'); |
} |
if (!preg_match('#/$#', $current)) |
//make sure there is a slash at the end of base_dir |
{ |
$current .= '/'; |
} |
if (!@is_dir($current)) |
{ |
die('<p>Error: $base_dir is not a valid directory.</p>'); |
} |
$final_output .= "\n/* Required settings: */\n\n\$$key = '$current';\n"; |
break; |
case 'icon_path': |
while (preg_match('#/$#', $current)) |
//make sure there is not a slash at the end |
{ |
$current = substr($current, 0, -1); |
} |
case 'stylesheet': |
case 'user_list': |
case 'log_file': |
case 'download_count': |
case 'links_file': |
case 'description_file': |
case 'index': |
case 'header': |
case 'footer': |
case 'path_to_language_files': |
case 'lang': |
case 'banned_list': |
//strings |
$final_output .= "\$$key = '$current';\n"; |
break; |
case 'use_login_system': |
$final_output .= "\n\n/* Optional settings: */\n\n"; |
case 'allow_uploads': |
case 'must_login_to_download': |
case 'allow_file_overwrites': |
case 'sub_folder_access': |
case 'force_download': |
case 'anti_leech': |
case 'enable_searching': |
case 'show_dir_size': |
case 'folder_expansion': |
case 'show_folder_count': |
case 'header_per_folder': |
case 'footer_per_folder': |
case 'show_type_column': |
case 'show_size_column': |
case 'show_date_column': |
case 'select_language': |
//booleans |
if ($current != 'true' && $current != 'false') |
{ |
die('<p><strong>$'.htmlentities($key).'</strong> must be set to "true" or "false".</p>'); |
} |
$final_output .= "\$$key = $current;\n"; |
break; |
case 'thumbnail_height': |
case 'bandwidth_limit': |
case 'days_new': |
case 'md5_show': |
//numbers |
$current = (string)((float)$current); |
$final_output .= "\$$key = $current;\n"; |
break; |
case 'dont_log_these_ips': |
case 'hidden_files': |
case 'show_only_these_files': |
//arrays |
if ($current == '') |
{ |
$temp = 'array();'; |
} |
else |
{ |
$temp = 'array('; |
foreach (explode(',', $current) as $a) |
{ |
$a = trim($a); |
if ($a != '') |
{ |
$temp .= "\n\t\"$a\","; |
} |
} |
$temp = substr($temp, 0, -1) . ');'; |
} |
$final_output .= "\$$key = $temp\n"; |
break; |
default: |
die('<p><strong>$'.htmlentities($key).'</strong> is not a valid configuration setting.</p>'); |
} |
} |
$final_output .= "\n?>"; |
$_POST['base_dir'] = str_replace('\\', '/', trim($_POST['base_dir'])); |
if ((preg_match('#^(/|[a-z]\:)#i', $_POST['base_dir']) || $_POST['bandwidth_limit'] != '0') && $_POST['force_download'] == 'false') |
{ |
die('<p>Error: It seems you\'re using an absolute path for the <strong>base_dir</strong>, or <strong>bandwidth_limit</strong> is being used. |
<br />This requires that you have <strong>force_download</strong> turned on.</p> |
<p>You must set <strong>force_download</strong> to "true" so files can be downloaded. |
Otherwise, use a relative path instead of an absolute path or turn off <strong>bandwidth_limit</strong>.</p>'); |
} |
if ($_POST['use_login_system'] == 'true' && !@is_file(trim($_POST['user_list']))) |
{ |
die('<p>Error: Could not open the $user_list file. |
<br />Set $user_list to the correct file, or turn off the login system.</p>'); |
} |
if ($_POST['icon_path'] == '' && $_POST['folder_expansion'] == 'true') |
{ |
die('<p>Error: You must use icons for the folder_expansion feature to work. |
<br />Set icon_path to the path where the icons can be found.</p>'); |
} |
if (@is_file($stored_config)) |
//if the file already exists, back it up |
{ |
$temp_name = $stored_config.'.bak'; |
for ($i=1; @file_exists($temp_name); $i++) |
{ |
$temp_name = $stored_config.'.bak'.(string)$i; |
} |
@copy($stored_config, $temp_name); |
} |
if ($h = @fopen($stored_config, 'wb')) |
//the file was opened successfully, so write to it |
{ |
fwrite($h, $final_output); |
fclose($h); |
die('<h3>Write successful!<br />AutoIndex configuration is finished.</h3><h3><a href="' |
.$_SERVER['PHP_SELF'].'">Continue.</a></h3>'); |
} |
else |
//the file could not be written to, so now it must be downloaded through the browser |
{ |
header("Content-Type: text/plain; name=\"$stored_config\""); |
header("Content-Disposition: attachment; filename=\"$stored_config\""); |
die($final_output); |
} |
} |
//begin display of main configuration page |
echo '<?xml version="1.0" encoding="iso-8859-1"?>'; |
?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
<head> |
<link href="stylesheet.css" rel="stylesheet" title="AutoIndex Default" type="text/css" /> |
<title>AutoIndex Configuration Generator</title> |
</head> |
<body class='autoindex_body'> |
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?config=true"> |
<h3 style="text-align: center;"> |
<a class="black_link" href="http://autoindex.sourceforge.net/">AutoIndex PHP Script</a> |
<br />Configuration |
</h3> |
<p> |
<strong>The default options are currently selected, so just press the configure button at the bottom to use them.</strong> |
<br /><span class="small">If you want to change them, though, it is important that you read the readme.html file, since it explains what each setting does.</span> |
</p> |
<hr class="default_hr" /> |
<p> |
<strong>Required Settings</strong>: |
</p> |
<table width="650" cellpadding="8"><tr class="paragraph"><td class="default_td"> |
base_dir = <input type="text" name="base_dir" value="./" /> |
<br />icon_path = <input type="text" name="icon_path" value="index_icons/winxp" /> |
<br />stylesheet = <input type="text" name="stylesheet" value="stylesheet.css" /> |
</td></tr></table> |
<hr class="default_hr" /> |
<p> |
<strong>Optional Settings</strong>: |
</p> |
<table width="650" cellpadding="8"><tr class="paragraph"><td class="default_td"> |
use_login_system = <select name="use_login_system"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
<br />allow_uploads = <select name="allow_uploads"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
<br />must_login_to_download = <select name="must_login_to_download"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
<br />user_list = <input type="text" name="user_list" value=".htpasswd.autoindex" /> |
<br />allow_file_overwrites = <select name="allow_file_overwrites"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
</td></tr></table> |
<p /> |
<table width="650" cellpadding="8"><tr class="paragraph"><td class="default_td"> |
log_file = <input type="text" name="log_file" /> |
<br />dont_log_these_ips = <input type="text" size="30" name="dont_log_these_ips" value="127.0.0.*" /> <span class="small">(Separate multiple items with commas.)</span> |
<br />banned_list = <input type="text" name="banned_list" /> |
<br />download_count = <input type="text" name="download_count" /> |
<br />links_file = <input type="text" name="links_file" /> |
<br />description_file = <input type="text" name="description_file" /> |
</td></tr></table> |
<p /> |
<table width="650" cellpadding="8"><tr class="paragraph"><td class="default_td"> |
sub_folder_access = <select name="sub_folder_access"><option selected="selected" value="true">true</option><option value="false">false</option></select> |
<br />index = <input type="text" name="index" /> |
<br />hidden_files = <input type="text" name="hidden_files" size="80" value="$log_file, $links_file, $description_file, $banned_list, $stylesheet, $download_count, index_icons, languages, *.php, .ht*" /> |
<br /><span class="small">(Separate multiple items with commas.)</span> |
<br />show_only_these_files = <input type="text" size="30" name="show_only_these_files" /> <span class="small">(Separate multiple items with commas.)</span> |
</td></tr></table> |
<p /> |
<table width="650" cellpadding="8"><tr class="paragraph"><td class="default_td"> |
force_download = <select name="force_download"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
<br />bandwidth_limit = <input type="text" name="bandwidth_limit" size="3" value="0" /> KB/s |
<br />anti_leech = <select name="anti_leech"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
</td></tr></table> |
<p /> |
<table width="650" cellpadding="8"><tr class="paragraph"><td class="default_td"> |
enable_searching = <select name="enable_searching"><option selected="selected" value="true">true</option><option value="false">false</option></select> |
</td></tr></table> |
<p /> |
<table width="650" cellpadding="8"><tr class="paragraph"><td class="default_td"> |
show_dir_size = <select name="show_dir_size"><option selected="selected" value="true">true</option><option value="false">false</option></select> |
<br />folder_expansion = <select name="folder_expansion"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
<br />show_folder_count = <select name="show_folder_count"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
<br />days_new = <input type="text" name="days_new" size="3" value="0" /> days |
<br />md5_show = <input type="text" name="md5_show" size="3" value="0" /> max size (MB) |
<br />thumbnail_height = <input type="text" name="thumbnail_height" size="6" value="0" /> <span class="small">(in pixels, 0 to disable. GDlib 2.0.1 or higher is required.)</span> |
</td></tr></table> |
<p /> |
<table width="650" cellpadding="8"><tr class="paragraph"><td class="default_td"> |
header = <input type="text" name="header" /> |
<br />footer = <input type="text" name="footer" /> |
<br />header_per_folder = <select name="header_per_folder"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
<br />footer_per_folder = <select name="footer_per_folder"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
</td></tr></table> |
<p /> |
<table width="650" cellpadding="8"><tr class="paragraph"><td class="default_td"> |
show_type_column = <select name="show_type_column"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
<br />show_size_column = <select name="show_size_column"><option selected="selected" value="true">true</option><option value="false">false</option></select> |
<br />show_date_column = <select name="show_date_column"><option selected="selected" value="true">true</option><option value="false">false</option></select> |
</td></tr></table> |
<hr class="default_hr" /> |
<p> |
<strong>Language Settings</strong>: |
</p> |
<p /> |
<table width="650" cellpadding="8"><tr class="paragraph"><td class="default_td"> |
path_to_language_files = <input type="text" name="path_to_language_files" value="./languages/" /> |
<br />lang = <select name="lang"> |
<?php |
function get_all_langs($path) |
{ |
if (($hndl = @opendir($path)) === false) |
{ |
return array('en.php'); |
} |
$list = array(); |
while (($file = readdir($hndl)) !== false) |
{ |
if (@is_file($path.$file) && preg_match('/^[a-z]{2}(_[a-z]{2})?\.php$/i', $file)) |
{ |
$list[] = $file; |
} |
} |
closedir($hndl); |
return $list; |
} |
$l = get_all_langs('./languages/'); |
sort($l); |
for ($i=0; $i<count($l); $i++) |
{ |
$f = substr($l[$i], 0, -4); |
$sel = (($f == 'en') ? ' selected="selected"' : ''); |
echo "\t<option$sel>$f</option>\n"; |
} |
?> |
</select> |
<br />select_language = <select name="select_language"><option selected="selected" value="false">false</option><option value="true">true</option></select> |
</td></tr></table> |
<hr class="default_hr" /> |
<p> |
<input type="submit" value="Configure" /> |
</p> |
<p> |
When you press <em>Configure</em>, the script will attempt to write the config data to the file. |
<br />If it cannot (for example if it does not have write permission in the directory) the config file will be downloaded, and you will have to upload it to your server. |
<br />(It should be named <em><?php echo $stored_config; ?></em> and put in the same folder as <em>index.php</em>) |
</p> |
</form> |
<!-- |
Powered by AutoIndex PHP Script (version <?php echo VERSION; ?>) |
Copyright (C) 2002-2005 Justin Hagstrom |
http://autoindex.sourceforge.net |
Page generated in <?php echo round((get_microtime() - $start_time) * 1000, 1); ?> milliseconds. |
--> |
</body></html> |
/web/mujweb/AutoIndex/index.php |
---|
0,0 → 1,2634 |
<?php |
/*************************************************************************** |
AutoIndex PHP Script, by Justin Hagstrom |
------------------- |
filename : index.php |
version : 1.5.2 |
date : January 04, 2005 |
copyright : Copyright (C) 2002-2005 Justin Hagstrom |
license : GNU General Public License (GPL) |
website & forum : http://autoindex.sourceforge.net |
e-mail : JustinHagstrom [at] yahoo [dot] com |
AutoIndex PHP Script is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 2 of the License, or |
(at your option) any later version. |
AutoIndex PHP Script is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
You should have received a copy of the GNU General Public License |
along with this program; if not, write to the Free Software |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
***************************************************************************/ |
//some basic compatibility for PHP 4.0.x |
if (!isset($_GET)) { $_GET = &$HTTP_GET_VARS; } |
if (!isset($_POST)) { $_POST = &$HTTP_POST_VARS; } |
if (!isset($_SESSION)) { $_SESSION = &$HTTP_SESSION_VARS; } |
if (!isset($_SERVER)) { $_SERVER = &$HTTP_SERVER_VARS; } |
if (!isset($_COOKIE)) { $_COOKIE = &$HTTP_COOKIE_VARS; } |
if (!isset($_FILES)) { $_FILES = &$HTTP_POST_FILES; } |
/* OPTIONAL SETTINGS */ |
$stored_config = 'AutoIndex.conf.php'; |
$config_generator = 'config.php'; |
$date_format = 'Y-M-d'; //see http://php.net/date |
/* END OPTIONAL SETTINGS */ |
function get_microtime() |
{ |
list($usec, $sec) = explode(' ', microtime()); |
return ((float)$usec + (float)$sec); |
} |
$start_time = get_microtime(); |
session_name('AutoIndex'); |
session_start(); |
if (@get_magic_quotes_gpc()) |
//remove any slashes added by the "magic quotes" setting |
{ |
$_GET = array_map('stripslashes', $_GET); |
$_POST = array_map('stripslashes', $_POST); |
} |
@set_magic_quotes_runtime(0); |
if (ini_get('zlib.output_compression') == '1') |
//compensate for compressed output set in php.ini |
{ |
header('Content-Encoding: gzip'); |
} |
define('VERSION', '1.5.2'); |
//now we need to include either the stored settings, or the config generator |
if (@is_file($stored_config)) |
{ |
if (!@include($stored_config)) |
{ |
die("<p>Error including file <em>$stored_config</em></p>"); |
} |
} |
else if (@is_file($config_generator)) |
{ |
define('CONFIG', true); |
if (!@include($config_generator)) |
{ |
die("<p>Error including file <em>$config_generator</em></p>"); |
} |
die(); |
} |
else |
{ |
die("<p>Error: Neither <em>$config_generator</em> nor <em>$stored_config</em> could be found.</p>"); |
} |
$this_file = (($index == '') ? $_SERVER['PHP_SELF'] : $index); |
$this_file .= ((strpos($this_file, '?') !== false) ? '&' : '?'); |
$referrer = (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'N/A'); |
//make sure all the variables are set correctly from the stored settings |
$config_vars = array('base_dir', 'icon_path', 'stylesheet', 'use_login_system', |
'allow_uploads', 'must_login_to_download', 'user_list', 'allow_file_overwrites', |
'log_file', 'dont_log_these_ips', 'download_count', 'links_file', 'lang', |
'sub_folder_access', 'index', 'hidden_files', 'show_only_these_files', |
'force_download', 'bandwidth_limit', 'anti_leech', 'enable_searching', |
'show_dir_size', 'folder_expansion', 'show_folder_count', 'banned_list', |
'md5_show', 'header', 'footer', 'header_per_folder', 'footer_per_folder', |
'description_file', 'thumbnail_height', 'path_to_language_files', 'days_new', |
'select_language', 'show_type_column', 'show_size_column', 'show_date_column'); |
foreach ($config_vars as $this_var) |
{ |
if (!isset($$this_var)) |
{ |
die("<p>Error: AutoIndex is not configured properly. |
<br />The variable <strong>$this_var</strong> is not set.</p> |
<p>Delete <em>$stored_config</em> and then run <em>$config_generator</em>.</p>"); |
} |
} |
//find the language the script should be displayed in |
if ($select_language && isset($_GET['lang']) |
&& preg_match('/^[a-z]{2}(_[a-z]{2})?$/i', $_GET['lang']) |
&& @is_file($path_to_language_files.$_GET['lang'].'.php')) |
{ |
$_SESSION['lang'] = $_GET['lang']; |
} |
else if (!isset($_SESSION['lang'])) |
{ |
$_SESSION['lang'] = $lang; |
} |
@include($path_to_language_files.$_SESSION['lang'].'.php'); |
if (!isset($words)) |
{ |
die('<p>Error: You need to include a language.php file that has the variable $words. |
<br />Check the $lang and $path_to_language_files variables.</p>'); |
} |
$global_user_list = ($use_login_system ? @file($user_list) : array()); |
if ($global_user_list === false) |
{ |
die("<p>Could not open file <strong>$user_list</strong></p>"); |
} |
function translate_uri($uri) |
//rawurlencodes $uri, but not any slashes |
{ |
$uri = rawurlencode(str_replace('\\', '/', $uri)); |
return str_replace(rawurlencode('/'), '/', $uri); |
} |
function get_basename($fn) |
//returns everything after the slash, or the original string if there is no slash |
{ |
return basename(str_replace('\\', '/', $fn)); |
} |
function match_in_array($string, &$array) |
//returns true if $string matches anything in the array |
{ |
$string = get_basename($string); |
static $replace = array( |
'\*' => '[^\/]*', |
'\+' => '[^\/]+', |
'\?' => '[^\/]?'); |
foreach ($array as $m) |
{ |
if (preg_match('/^'.strtr(preg_quote(get_basename($m), '/'), $replace).'$/i', $string)) |
{ |
return true; |
} |
} |
return false; |
} |
function check_login($user, $pass) |
{ |
global $global_user_list; |
foreach ($global_user_list as $look) |
{ |
if ((strcasecmp(substr(rtrim($look), 33), $user) === 0) |
&& (strcasecmp(substr(rtrim($look), 0, 32), $pass) === 0)) |
{ |
return true; |
} |
} |
return false; |
} |
function logged_in() |
{ |
return (isset($_SESSION['user'], $_SESSION['pass']) && |
check_login($_SESSION['user'], $_SESSION['pass'])); |
} |
function is_user_admin($user) |
{ |
global $global_user_list; |
foreach ($global_user_list as $look) |
{ |
if (strcasecmp($user, substr(rtrim($look), 33)) === 0) |
{ |
return (substr($look, 32, 1) === '1'); |
} |
} |
return false; |
} |
function is_admin() |
{ |
return is_user_admin($_SESSION['user']); |
} |
function is_hidden($fn, $is_file = true) |
//looks at $hidden_files and $show_only_these_files to see if $fn is hidden |
{ |
if ($fn == '') |
{ |
return true; |
} |
global $use_login_system; |
if ($use_login_system && logged_in() && is_admin()) |
//allow admins to view hidden files |
{ |
return false; |
} |
global $hidden_files, $show_only_these_files; |
if ($is_file && count($show_only_these_files)) |
{ |
return (!match_in_array($fn, $show_only_these_files)); |
} |
if (!count($hidden_files)) |
{ |
return false; |
} |
return match_in_array($fn, $hidden_files); |
} |
function eval_dir($d) |
//check $d for "bad" things, and deal with ".." |
{ |
$d = str_replace('\\', '/', $d); |
if ($d == '' || $d == '/') |
{ |
return ''; |
} |
$dirs = explode('/', $d); |
for ($i=0; $i<count($dirs); $i++) |
{ |
if ($dirs[$i] == '.' || is_hidden($dirs[$i], false)) |
{ |
array_splice($dirs, $i, 1); |
$i--; |
} |
else if (preg_match('/^\.\./', $dirs[$i])) //if it starts with two dots |
{ |
array_splice($dirs, $i-1, 2); |
$i = -1; |
} |
} |
$new_dir = implode('/', $dirs); |
if ($new_dir == '' || $new_dir == '/') |
{ |
return ''; |
} |
if ($d{0} == '/' && $new_dir{0} != '/') |
{ |
$new_dir = '/'.$new_dir; |
} |
if (preg_match('#/$#', $d) && !preg_match('#/$#', $new_dir)) |
{ |
$new_dir .= '/'; |
} |
else if (is_hidden(get_basename($d))) |
{ |
return ''; |
} |
return $new_dir; |
} |
//get the user defined variables that are in the URL |
$subdir = (isset($_GET['dir']) ? eval_dir(rawurldecode($_GET['dir'])) : ''); |
$file_dl = (isset($_GET['file']) ? rawurldecode($_GET['file']) : ''); |
$search = (isset($_GET['search']) ? $_GET['search'] : ''); |
$search_mode = (isset($_GET['searchMode']) ? $_GET['searchMode'] : ''); |
while (preg_match('#\\\\|/$#', $file_dl)) |
{ |
$file_dl = substr($file_dl, 0, -1); |
} |
$file_dl = eval_dir($file_dl); |
if (!@is_dir($base_dir)) |
{ |
die('<p>Error: <em>'.htmlentities($base_dir) |
.'</em> is not a valid directory.<br />Check the $base_dir variable.</p>'); |
} |
if (!$sub_folder_access || $subdir == '/') |
{ |
$subdir = ''; |
} |
else if (preg_match('#[^/\\\\]$#', $subdir)) |
{ |
$subdir .= '/'; //add a slash to the end if there isn't one |
} |
$dir = $base_dir.$subdir; |
//this will be displayed before any HTML output |
$html_heading = ''; |
if ($index == '') |
{ |
$html_heading .= '<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="'.$_SESSION['lang'].'"> |
<head>'; |
} |
if ($stylesheet != '') |
{ |
$html_heading .= "\n<link rel=\"stylesheet\" href=\"$stylesheet\" type=\"text/css\" title=\"AutoIndex Default\" />\n"; |
} |
if ($index == '') |
{ |
$html_heading .= "\n<title>".$words['index of'].' '.htmlentities($dir) |
."</title>\n\n</head><body class='autoindex_body'>\n\n"; |
} |
function show_header() |
{ |
global $header, $header_per_folder, $dir; |
if ($header != '') |
{ |
if ($header_per_folder) |
{ |
$header = $dir.$header; |
} |
if (@is_readable($header)) |
{ |
include($header); |
} |
} |
} |
function show_footer() |
{ |
global $footer, $footer_per_folder, $dir; |
if ($footer != '') |
{ |
if ($footer_per_folder) |
{ |
$footer = $dir.$footer; |
} |
if (@is_readable($footer)) |
{ |
include($footer); |
} |
} |
} |
function show_login_box() |
{ |
global $this_file, $subdir, $icon_path; |
$sd = translate_uri($subdir); |
echo '<p /><table border="0" cellpadding="8" cellspacing="0"> |
<tr class="paragraph"><td class="default_td"><img src="', $icon_path, |
'/login.png" width="12" height="14" alt="Login" /> Login:', |
"\n<form method='post' action='{$this_file}dir=$sd'> |
<table><tr class=\"paragraph\"><td>Username:</td> |
<td><input type='text' name='user' /> |
</td></tr><tr class=\"paragraph\"><td>Password:</td> |
<td><input type='password' name='pass' /></td></tr></table> |
<p><input class='button' type='submit' value='Login' /></p> |
</form></td></tr></table>"; |
} |
function show_search_box() |
{ |
global $index, $search, $words, $search_mode, $this_file, $subdir, $icon_path; |
echo '<p /><table border="0" cellpadding="8" cellspacing="0"> |
<tr class="paragraph"><td class="default_td"><img src="', $icon_path, |
'/search.png" width="16" height="16" alt="', $words['search'], '" /> ', |
$words['search'], ":<br /><form method='get' action='$this_file'> |
<p><input type='text' name='search' value='$search' />\n"; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo "\n<input type='hidden' name='dir' value='", translate_uri($subdir), |
"' /><br /><select name='searchMode'>\n"; |
$search_modes = array($words['files'] => 'f', $words['folders'] => 'd', $words['both'] => 'fd'); |
foreach ($search_modes as $key => $element) |
{ |
$sel = (($search_mode == $element) ? ' selected="selected"' : ''); |
echo "\t<option$sel value='$element'>$key</option>\n"; |
} |
echo "</select><input type='submit' value='", $words['search'], |
'\' class="button" /></p></form></td></tr></table>'; |
} |
function is_username($user) |
{ |
global $html_heading, $global_user_list; |
foreach ($global_user_list as $look) |
{ |
if (strcasecmp($user, substr(rtrim($look), 33)) === 0) |
{ |
return true; |
} |
} |
return false; |
} |
function num_admins() |
//returns the number of accounts with admin rights |
{ |
global $html_heading, $global_user_list; |
$num = 0; |
foreach ($global_user_list as $look) |
{ |
if (substr($look, 32, 1) === '1') |
{ |
$num++; |
} |
} |
return $num; |
} |
function get_filesize($size) |
//give a size in bytes, and this will return the appropriate measurement format |
{ |
$size = max(0, $size); |
static $u = array(' B', 'KB', 'MB', 'GB'); |
for ($i=0; $size >= 1024 && $i < 4; $i++) |
{ |
$size /= 1024; |
} |
return number_format($size, 1).' '.$u[$i]; |
} |
function ext($fn) |
//return the lowercase file extension of $fn, not including the leading dot |
{ |
$fn = get_basename($fn); |
return (strpos($fn, '.') ? strtolower(substr(strrchr($fn, '.'), 1)) : ''); |
} |
function get_all_files($path) |
//returns an array of every file in $path, including folders (except ./ and ../) |
{ |
$list = array(); |
if (($hndl = @opendir($path)) === false) |
{ |
return $list; |
} |
while (($file=readdir($hndl)) !== false) |
{ |
if ($file != '.' && $file != '..') |
{ |
$list[] = $file; |
} |
} |
closedir($hndl); |
return $list; |
} |
function get_file_list($path) |
//returns a sorted array of filenames. Filters out "bad" files |
{ |
global $sub_folder_access, $links_file; |
$f = $d = array(); |
foreach (get_all_files($path) as $name) |
{ |
if ($sub_folder_access && @is_dir($path.$name) && !is_hidden($name, false)) |
{ |
$d[] = $name; |
} |
else if (@is_file($path.$name) && !is_hidden($name, true)) |
{ |
$f[] = $name; |
} |
} |
if ($links_file != '' && ($links = @file($path.$links_file))) |
{ |
foreach ($links as $name) |
{ |
$p = strpos($name, '|'); |
$f[] = (($p === false) ? rtrim($name).'|' : substr(rtrim($name), 0, $p).'|'); |
} |
} |
natcasesort($d); |
natcasesort($f); |
return array_merge($d, $f); |
} |
function dir_size($dir) |
//returns the total size of a directory (recursive) in bytes |
{ |
$totalsize = 0; |
foreach (get_file_list($dir) as $name) |
{ |
$totalsize += (@is_dir($dir.$name) ? dir_size("$dir$name/") : (int)@filesize($dir.$name)); |
} |
return $totalsize; |
} |
function match_filename($filename, $string) |
{ |
if (preg_match_all('/(?<=")[^"]+(?=")|[^ "]+/', $string, $matches)) |
{ |
foreach ($matches[0] as $w) |
{ |
if (preg_match('#[^/\.]+#', $w) && stristr($filename, $w)) |
{ |
return true; |
} |
} |
} |
return false; |
} |
function search_dir($sdir, $string) |
//returns files/folders (recursive) in $sdir that contain $string |
{ |
global $search_mode; |
//search_mode: d=folders, f=files, fd=both |
$found = array(); |
$list = get_file_list($sdir); |
$d = count($list); |
for ($i=0; $i<$d; $i++) |
{ |
$full_name = $sdir.$list[$i]; |
if (stristr($search_mode, 'f') && (@is_file($full_name) || preg_match('/\|$/', $list[$i])) && match_filename($list[$i], $string)) |
{ |
$found[] = $full_name; |
} |
else if (@is_dir($full_name)) |
{ |
if (stristr($search_mode, 'd') && match_filename($list[$i], $string)) |
{ |
$found[] = $full_name; |
} |
$found = array_merge($found, search_dir($full_name.'/', $string)); |
} |
} |
return $found; |
} |
function add_num_to_array($num, &$array) |
{ |
isset($array[$num]) ? $array[$num]++ : $array[$num] = 1; |
} |
function mkdir_recursive($path) |
{ |
if (@is_dir($path)) |
{ |
return true; |
} |
if (!mkdir_recursive(dirname($path))) |
{ |
return false; |
} |
return @mkdir($path, 0755); |
} |
function rmdir_recursive($path) |
{ |
if (!preg_match('#/$#', $path)) |
{ |
$path .= '/'; |
} |
foreach (get_all_files($path) as $file) |
{ |
if ($file == '' || $file == '.' || $file == '..') |
{ |
continue; |
} |
if (@is_dir("$path$file/")) |
{ |
rmdir_recursive("$path$file/"); |
} |
else |
{ |
@unlink($path . $file); |
} |
} |
return @rmdir($path); |
} |
function num_files($dir) |
//returns the number of files in $dir (recursive) |
{ |
$count = 0; |
if (!preg_match('#/$#', $dir)) |
{ |
$dir .= '/'; |
} |
$list = get_file_list($dir); |
$d = count($list); |
for ($i=0; $i<$d; $i++) |
{ |
$count += (@is_dir($dir.$list[$i]) ? num_files($dir.$list[$i]) : 1); |
} |
return $count; |
} |
function redirect($site) |
{ |
header("Location: $site"); |
die('<p>Redirection header could not be sent.<br />' |
."Continue here: <a href=\"$site\">$site</a></p>"); |
} |
function find_mime_type($ext) |
{ |
static $mime_types = array( |
'application/andrew-inset' => array('ez'), |
'application/mac-binhex40' => array('hqx'), |
'application/mac-compactpro' => array('cpt'), |
'application/mathml+xml' => array('mathml'), |
'application/msword' => array('doc'), |
'application/octet-stream' => array('bin', 'dms', 'lha', |
'lzh', 'exe', 'class', 'so', 'dll', 'dmg'), |
'application/oda' => array('oda'), |
'application/ogg' => array('ogg'), |
'application/pdf' => array('pdf'), |
'application/postscript' => array('ai', 'eps', 'ps'), |
'application/rdf+xml' => array('rdf'), |
'application/smil' => array('smi', 'smil'), |
'application/srgs' => array('gram'), |
'application/srgs+xml' => array('grxml'), |
'application/vnd.mif' => array('mif'), |
'application/vnd.mozilla.xul+xml' => array('xul'), |
'application/vnd.ms-excel' => array('xls'), |
'application/vnd.ms-powerpoint' => array('ppt'), |
'application/vnd.wap.wbxml' => array('wbxml'), |
'application/vnd.wap.wmlc' => array('wmlc'), |
'application/vnd.wap.wmlscriptc' => array('wmlsc'), |
'application/voicexml+xml' => array('vxml'), |
'application/x-bcpio' => array('bcpio'), |
'application/x-cdlink' => array('vcd'), |
'application/x-chess-pgn' => array('pgn'), |
'application/x-cpio' => array('cpio'), |
'application/x-csh' => array('csh'), |
'application/x-director' => array('dcr', 'dir', 'dxr'), |
'application/x-dvi' => array('dvi'), |
'application/x-futuresplash' => array('spl'), |
'application/x-gtar' => array('gtar'), |
'application/x-hdf' => array('hdf'), |
'application/x-javascript' => array('js'), |
'application/x-koan' => array('skp', 'skd', 'skt', 'skm'), |
'application/x-latex' => array('latex'), |
'application/x-netcdf' => array('nc', 'cdf'), |
'application/x-sh' => array('sh'), |
'application/x-shar' => array('shar'), |
'application/x-shockwave-flash' => array('swf'), |
'application/x-stuffit' => array('sit'), |
'application/x-sv4cpio' => array('sv4cpio'), |
'application/x-sv4crc' => array('sv4crc'), |
'application/x-tar' => array('tar'), |
'application/x-tcl' => array('tcl'), |
'application/x-tex' => array('tex'), |
'application/x-texinfo' => array('texinfo', 'texi'), |
'application/x-troff' => array('t', 'tr', 'roff'), |
'application/x-troff-man' => array('man'), |
'application/x-troff-me' => array('me'), |
'application/x-troff-ms' => array('ms'), |
'application/x-ustar' => array('ustar'), |
'application/x-wais-source' => array('src'), |
'application/xhtml+xml' => array('xhtml', 'xht'), |
'application/xslt+xml' => array('xslt'), |
'application/xml' => array('xml', 'xsl'), |
'application/xml-dtd' => array('dtd'), |
'application/zip' => array('zip'), |
'audio/basic' => array('au', 'snd'), |
'audio/midi' => array('mid', 'midi', 'kar'), |
'audio/mpeg' => array('mpga', 'mp2', 'mp3'), |
'audio/x-aiff' => array('aif', 'aiff', 'aifc'), |
'audio/x-mpegurl' => array('m3u'), |
'audio/x-pn-realaudio' => array('ram', 'ra'), |
'application/vnd.rn-realmedia' => array('rm'), |
'audio/x-wav' => array('wav'), |
'chemical/x-pdb' => array('pdb'), |
'chemical/x-xyz' => array('xyz'), |
'image/bmp' => array('bmp'), |
'image/cgm' => array('cgm'), |
'image/gif' => array('gif'), |
'image/ief' => array('ief'), |
'image/jpeg' => array('jpeg', 'jpg', 'jpe'), |
'image/png' => array('png'), |
'image/svg+xml' => array('svg'), |
'image/tiff' => array('tiff', 'tif'), |
'image/vnd.djvu' => array('djvu', 'djv'), |
'image/vnd.wap.wbmp' => array('wbmp'), |
'image/x-cmu-raster' => array('ras'), |
'image/x-icon' => array('ico'), |
'image/x-portable-anymap' => array('pnm'), |
'image/x-portable-bitmap' => array('pbm'), |
'image/x-portable-graymap' => array('pgm'), |
'image/x-portable-pixmap' => array('ppm'), |
'image/x-rgb' => array('rgb'), |
'image/x-xbitmap' => array('xbm'), |
'image/x-xpixmap' => array('xpm'), |
'image/x-xwindowdump' => array('xwd'), |
'model/iges' => array('igs', 'iges'), |
'model/mesh' => array('msh', 'mesh', 'silo'), |
'model/vrml' => array('wrl', 'vrml'), |
'text/calendar' => array('ics', 'ifb'), |
'text/css' => array('css'), |
'text/html' => array('html', 'htm'), |
'text/plain' => array('asc', 'txt'), |
'text/richtext' => array('rtx'), |
'text/rtf' => array('rtf'), |
'text/sgml' => array('sgml', 'sgm'), |
'text/tab-separated-values' => array('tsv'), |
'text/vnd.wap.wml' => array('wml'), |
'text/vnd.wap.wmlscript' => array('wmls'), |
'text/x-setext' => array('etx'), |
'video/mpeg' => array('mpeg', 'mpg', 'mpe'), |
'video/quicktime' => array('qt', 'mov'), |
'video/vnd.mpegurl' => array('mxu', 'm4u'), |
'video/x-msvideo' => array('avi'), |
'video/x-sgi-movie' => array('movie'), |
'x-conference/x-cooltalk' => array('ice') |
); |
foreach ($mime_types as $mime_type => $exts) |
{ |
if (in_array($ext, $exts)) |
{ |
return $mime_type; |
} |
} |
return 'text/plain'; |
} |
function icon($ext) |
//find the appropriate icon depending on the extension (returns a link to the image file) |
{ |
global $icon_path; |
if ($icon_path == '') |
{ |
return ''; |
} |
if ($ext == '') |
{ |
$icon = 'generic'; |
} |
else |
{ |
$icon = 'unknown'; |
static $icon_types = array( |
'binary' => array('bat', 'bin', 'com', 'dmg', 'dms', 'exe', 'msi', |
'msp', 'pif', 'pyd', 'scr', 'so'), |
'binhex' => array('hqx'), |
'cd' => array('bwi', 'bws', 'bwt', 'ccd', 'cdi', 'cue', 'img', |
'iso', 'mdf', 'mds', 'nrg', 'nri', 'sub', 'vcd'), |
'comp' => array('cfg', 'conf', 'inf', 'ini', 'log', 'nfo', 'reg'), |
'compressed' => array('7z', 'a', 'ace', 'ain', 'alz', 'amg', 'arc', |
'ari', 'arj', 'bh', 'bz', 'bz2', 'cab', 'deb', 'dz', 'gz', |
'io', 'ish', 'lha', 'lzh', 'lzs', 'lzw', 'lzx', 'msx', 'pak', |
'rar', 'rpm', 'sar', 'sea', 'sit', 'taz', 'tbz', 'tbz2', |
'tgz', 'tz', 'tzb', 'uc2', 'xxe', 'yz', 'z', 'zip', 'zoo'), |
'dll' => array('386', 'db', 'dll', 'ocx', 'sdb', 'vxd'), |
'doc' => array('abw', 'ans', 'chm', 'cwk', 'dif', 'doc', 'dot', |
'mcw', 'msw', 'pdb', 'psw', 'rtf', 'rtx', 'sdw', 'stw', 'sxw', |
'vor', 'wk4', 'wkb', 'wpd', 'wps', 'wpw', 'wri', 'wsd'), |
'image' => array('adc', 'art', 'bmp', 'cgm', 'dib', 'gif', 'ico', |
'ief', 'jfif', 'jif', 'jp2', 'jpc', 'jpe', 'jpeg', 'jpg', 'jpx', |
'mng', 'pcx', 'png', 'psd', 'psp', 'swc', 'sxd', 'tga', |
'tif', 'tiff', 'wmf', 'wpg', 'xcf', 'xif', 'yuv'), |
'java' => array('class', 'jar', 'jav', 'java', 'jtk'), |
'js' => array('ebs', 'js', 'jse', 'vbe', 'vbs', 'wsc', 'wsf', |
'wsh'), |
'key' => array('aex', 'asc', 'gpg', 'key', 'pgp', 'ppk'), |
'mov' => array('amc', 'dv', 'm4v', 'mac', 'mov', 'mp4v', 'mpg4', |
'pct', 'pic', 'pict', 'pnt', 'pntg', 'qpx', 'qt', 'qti', |
'qtif', 'qtl', 'qtp', 'qts', 'qtx'), |
'movie' => array('asf', 'asx', 'avi', 'div', 'divx', 'dvi', 'm1v', |
'm2v', 'mkv', 'movie', 'mp2v', 'mpa', 'mpe', 'mpeg', 'mpg', |
'mps', 'mpv', 'mpv2', 'ogm', 'ram', 'rmvb', 'rnx', 'rp', 'rv', |
'vivo', 'vob', 'wmv', 'xvid'), |
'pdf' => array('edn', 'fdf', 'pdf', 'pdp', 'pdx'), |
'php' => array('inc', 'php', 'php3', 'php4', 'php5', 'phps', |
'phtml'), |
'ppt' => array('emf', 'pot', 'ppa', 'pps', 'ppt', 'sda', 'sdd', |
'shw', 'sti', 'sxi'), |
'ps' => array('ai', 'eps', 'ps'), |
'sound' => array('aac', 'ac3', 'aif', 'aifc', 'aiff', 'ape', 'apl', |
'au', 'ay', 'bonk', 'cda', 'cdda', 'cpc', 'fla', 'flac', |
'gbs', 'gym', 'hes', 'iff', 'it', 'itz', 'kar', 'kss', 'la', |
'lpac', 'lqt', 'm4a', 'm4p', 'mdz', 'mid', 'midi', 'mka', |
'mo3', 'mod', 'mp+', 'mp1', 'mp2', 'mp3', 'mp4', 'mpc', |
'mpga', 'mpm', 'mpp', 'nsf', 'oda', 'ofr', 'ogg', 'pac', 'pce', |
'pcm', 'psf', 'psf2', 'ra', 'rm', 'rmi', 'rmjb', 'rmm', 'sb', |
'shn', 'sid', 'snd', 'spc', 'spx', 'svx', 'tfm', 'tfmx', |
'voc', 'vox', 'vqf', 'wav', 'wave', 'wma', 'wv', 'wvx', 'xa', |
'xm', 'xmz'), |
'tar' => array('gtar', 'tar'), |
'text' => array('c', 'cc', 'cp', 'cpp', 'cxx', 'diff', 'h', 'hpp', |
'hxx', 'm3u', 'md5', 'patch', 'pls', 'py', 'sfv', 'sh', |
'txt'), |
'uu' => array('uu', 'uud', 'uue'), |
'web' => array('asa', 'asp', 'aspx', 'cfm', 'cgi', 'css', 'dhtml', |
'dtd', 'grxml', 'htc', 'htm', 'html', 'htt', 'htx', 'jsp', 'lnk', |
'mathml', 'mht', 'mhtml', 'perl', 'pl', 'plg', 'rss', 'shtm', |
'shtml', 'stm', 'swf', 'tpl', 'wbxml', 'xht', 'xhtml', 'xml', |
'xsl', 'xslt', 'xul'), |
'xls' => array('csv', 'dbf', 'prn', 'pxl', 'sdc', 'slk', 'stc', 'sxc', |
'xla', 'xlb', 'xlc', 'xld', 'xlr', 'xls', 'xlt', 'xlw')); |
foreach ($icon_types as $png_name => $exts) |
{ |
if (in_array($ext, $exts)) |
{ |
$icon = $png_name; |
break; |
} |
} |
} |
return "<img alt=\"[$ext]\" height=\"16\" width=\"16\" src=\"$icon_path/$icon.png\" /> "; |
} |
function display_thumbnail($file, $thumbnail_height) |
{ |
global $html_heading; |
if (!@is_file($file)) |
{ |
header('HTTP/1.0 404 Not Found'); |
die("$html_heading<p>File not found: <em>".htmlentities($file).'</em></p>'); |
} |
switch (ext($file)) |
{ |
case 'gif': |
$src = @imagecreatefromgif($file); |
break; |
case 'jpeg': |
case 'jpg': |
case 'jpe': |
$src = @imagecreatefromjpeg($file); |
break; |
case 'png': |
$src = @imagecreatefrompng($file); |
break; |
default: |
die("$html_heading<p>Unsupported file extension.</p>"); |
} |
if ($src === false) |
{ |
die("$html_heading<p>Unsupported image type.</p>"); |
} |
header('Content-Type: image/jpeg'); |
header('Cache-Control: public, max-age=3600, must-revalidate'); |
header('Expires: '.gmdate('D, d M Y H:i:s', time()+3600).' GMT'); |
$src_height = imagesy($src); |
if ($src_height <= $thumbnail_height) |
{ |
imagejpeg($src, '', 95); |
} |
else |
{ |
$src_width = imagesx($src); |
$thumb_width = $thumbnail_height * ($src_width / $src_height); |
$thumb = imagecreatetruecolor($thumb_width, $thumbnail_height); |
imagecopyresampled($thumb, $src, 0, 0, 0, 0, $thumb_width, |
$thumbnail_height, $src_width, $src_height); |
imagejpeg($thumb); |
imagedestroy($thumb); |
} |
imagedestroy($src); |
die(); |
} |
function edit_description($fn, &$desc) |
//edits a file's description |
{ |
global $description_file, $html_heading; |
if ($description_file == '') |
{ |
return; |
} |
$wrote = false; |
$l = @file($description_file) or $l = array(); |
$h = @fopen($description_file, 'wb') or die("$html_heading<p>Cannot open description file for writing.</p>"); |
$count_num = count($l); |
for ($i=0; $i<$count_num; $i++) |
{ |
$items = explode('|', rtrim($l[$i]), 2); |
if (count($items) === 2 && $fn == $items[0]) |
{ |
fwrite($h, "$fn|$desc\n"); |
$wrote = true; |
} |
else |
{ |
fwrite($h, $l[$i]); |
} |
} |
if (!$wrote && $desc != '') |
{ |
fwrite($h, "$fn|$desc\n"); |
} |
fclose($h); |
} |
function add_to_file($item, $outfile) |
{ |
global $html_heading; |
$counted = false; |
if ($l = @file($outfile)) |
{ |
$count_num = count($l); |
for ($i=0; $i<$count_num; $i++) |
{ |
$thisc = rtrim($l[$i]); |
if ($item == substr($thisc, 0, strpos($thisc, '|'))) |
{ |
$counted = true; |
break; |
} |
} |
} |
if ($counted) |
{ |
$w = @fopen($outfile, 'wb') or die("$html_heading<p>Could not open <em>$outfile</em> file for writing.</p>"); |
for ($i=0; $i<$count_num; $i++) |
{ |
$items = explode('|', rtrim($l[$i]), 2); |
if (count($items) === 2 && $items[0] == $item) |
{ |
$nc = $items[1] + 1; |
fwrite($w, "$item|$nc\n"); |
} |
else |
{ |
fwrite($w, $l[$i]); |
} |
} |
} |
else |
{ |
$w = @fopen($outfile, 'ab') or die("$html_heading<p>Could not open <em>$outfile</em> file for writing.</p>"); |
fwrite($w, "$item|1\n"); |
} |
fclose($w); |
} |
function get_stored_info($item, $filename) |
{ |
if ($contents = @file($filename)) |
{ |
$count_num = count($contents); |
for ($i=0; $i<$count_num; $i++) |
{ |
$items = explode('|', rtrim($contents[$i]), 2); |
if (count($items) === 2 && $item == $items[0]) |
{ |
return $items[1]; |
} |
} |
} |
return ''; |
} |
function table_heading($title, $sortMode, $tooltip) |
{ |
global $this_file, $subdir; |
echo "\n<th class='default_th'><a class='black_link' title=\"$tooltip\" href=\"", |
$this_file, 'dir=', translate_uri($subdir), '&sort=', |
(($_SESSION['sort'] == 'a' && $_SESSION['sortMode'] == $sortMode) ? 'd' : 'a'), |
'&sortMode=', $sortMode, '">', $title, '</a></th>'; |
} |
//find and store the user's IP address and hostname: |
$ip = (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'N/A'); |
if (isset($_SESSION['host'])) |
{ |
$host = $_SESSION['host']; |
} |
else |
{ |
$_SESSION['host'] = $host = @gethostbyaddr($ip); |
} |
if ($banned_list != '' && ($b_list = @file($banned_list))) |
//make sure the IP or hostname is not banned |
{ |
for ($i=0; $i<count($b_list); $i++) |
{ |
$b_list[$i] = rtrim($b_list[$i]); |
} |
if (match_in_array($ip, $b_list) || match_in_array($host, $b_list)) |
{ |
echo $html_heading; |
show_header(); |
echo '<p>Sorry, the administrator has blocked your IP address or hostname.</p>'; |
show_footer(); |
die(); |
} |
} |
function ok_to_log() |
//returns true if the ip or hostname is not in $dont_log_these_ips |
{ |
global $ip, $host, $dont_log_these_ips; |
return (!(match_in_array($ip, $dont_log_these_ips) || |
($host != 'N/A' && match_in_array($host, $dont_log_these_ips)))); |
} |
if ($use_login_system && isset($_POST['user'], $_POST['pass']) |
&& $_POST['user'] != '' && $_POST['pass'] != '') |
//check login |
{ |
if (check_login($_POST['user'], md5($_POST['pass']))) |
{ |
if ($log_file != '' && ok_to_log()) |
{ |
if ($write = @fopen($log_file, 'ab')) |
{ |
fwrite($write, date($date_format)."\t".date('H:i:s') |
."\t$ip\t$host\t$referrer\t$dir\tSuccessful Login (username: " |
.$_POST['user'].")\n"); |
fclose($write); |
} |
} |
$_SESSION['user'] = $_POST['user']; |
$_SESSION['pass'] = md5($_POST['pass']); |
unset($_POST['pass'], $_POST['user']); |
redirect($this_file.'dir='.translate_uri($subdir)); |
} |
else |
{ |
echo '<h3>Invalid Login.</h3>'; |
if ($log_file != '' && ok_to_log()) |
{ |
if ($write = @fopen($log_file, 'ab')) |
{ |
fwrite($write, date($date_format)."\t".date('H:i:s') |
."\t$ip\t$host\t$referrer\t$dir\tInvalid Login (username: " |
.$_POST['user'].")\n"); |
fclose($write); |
} |
} |
sleep(1); //"freeze" the script for a second to prevent brute force attacks |
} |
} |
if ($use_login_system && $must_login_to_download && !logged_in()) |
//must login to download |
{ |
echo $html_heading; |
show_header(); |
echo '<p>You must login to download and view files.</p>'; |
show_login_box(); |
show_footer(); |
die(); |
} |
if ($md5_show && isset($_GET['md5'])) |
{ |
$file = $dir.eval_dir(rawurldecode($_GET['md5'])); |
if (!@is_file($file)) |
{ |
header('HTTP/1.0 404 Not Found'); |
die($html_heading.'<p>Error: file does not exist.</p>'); |
} |
$size = (int)@filesize($file); |
if ($size <= 0 || $size/1048576 > $md5_show) |
{ |
die($html_heading.'<p><strong>Error</strong>: empty file, or file too big to find the md5sum of (according to the $md5_show variable).</p>'); |
} |
die(md5_file($file)); |
} |
if ($thumbnail_height > 0 && isset($_GET['thumbnail']) && $_GET['thumbnail'] != '') |
{ |
$file = $dir.eval_dir(rawurldecode($_GET['thumbnail'])); |
display_thumbnail($file, $thumbnail_height); |
} |
if (isset($_GET['sort'])) |
{ |
$_SESSION['sort'] = $_GET['sort']; |
} |
else if (!isset($_SESSION['sort'])) |
{ |
//'a' is ascending, 'd' is descending |
$_SESSION['sort'] = 'a'; |
} |
if (isset($_GET['sortMode'])) |
{ |
$_SESSION['sortMode'] = $_GET['sortMode']; |
} |
else if (!isset($_SESSION['sortMode'])) |
{ |
/* |
* 'f' is filename |
* 't' is filetype |
* 'h' is downloads (hits) |
* 's' is size |
* 'm' is date (modified) |
* 'd' is description |
*/ |
$_SESSION['sortMode'] = 'f'; |
} |
//size of the "chunks" that are read at a time from the file (when $force_download is on) |
$speed = ($bandwidth_limit ? $bandwidth_limit : 8); |
if ($folder_expansion) |
{ |
if (!isset($_SESSION['expanded'])) |
{ |
$_SESSION['expanded'] = array(); |
} |
if (isset($_GET['expand']) && $_GET['expand'] != '') |
{ |
$temp = $dir.eval_dir(rawurldecode($_GET['expand'])); |
if (@is_dir($temp) && !in_array($temp, $_SESSION['expanded'])) |
{ |
$_SESSION['expanded'][] = $temp; |
} |
} |
if (isset($_GET['collapse']) && $_GET['collapse'] != '') |
{ |
$temp = $dir.eval_dir(rawurldecode($_GET['collapse'])); |
if (in_array($temp, $_SESSION['expanded'])) |
{ |
array_splice($_SESSION['expanded'], array_search($temp, $_SESSION['expanded']), 1); |
} |
} |
} |
if ($allow_uploads && (!$use_login_system || logged_in())) |
//upload a file |
{ |
if ($count_files = count($_FILES)) |
{ |
echo $html_heading; |
show_header(); |
$uploaded_files = $errors = ''; |
for ($i=0; $i<$count_files; $i++) |
{ |
$filename = get_basename($_FILES[$i]['name']); |
if ($filename == '') |
{ |
continue; |
} |
if (is_hidden($filename)) |
{ |
$errors .= "<li>$filename [filename is listed as a hidden file]</li>"; |
continue; |
} |
$filepath = $base_dir.eval_dir(rawurldecode($_POST['dir'])); |
$fullpathname = realpath($filepath).'/'.$filename; |
if (!$allow_file_overwrites && @file_exists($fullpathname)) |
{ |
$errors .= "<li>$filename [file already exists]</li>"; |
} |
else if (@move_uploaded_file($_FILES[$i]['tmp_name'], $fullpathname)) |
{ |
@chmod($fullpathname, 0644); |
$uploaded_files .= "<li>$filename</li>"; |
if ($log_file != '' && ok_to_log() && ($write = @fopen($log_file, 'ab'))) |
{ |
fwrite($write, date($date_format)."\t".date('H:i:s') |
. "\t$ip\t$host\t$referrer\t$dir\tFile uploaded: $filepath$filename\n"); |
fclose($write); |
} |
} |
else |
{ |
$errors .= "<li>$filename</li>"; |
} |
} |
if ($errors == '') |
{ |
$errors = '<br />[None]'; |
} |
if ($uploaded_files == '') |
{ |
$uploaded_files = '<br />[None]'; |
} |
echo "<p><strong>Uploaded files</strong>: $uploaded_files</p><p><strong>Failed files</strong>: $errors</p>", |
'<p><a class="default_a" href="', $this_file, 'dir=', |
$_POST['dir'], '">Continue.</a></p>'; |
show_footer(); |
die(); |
} |
else if (isset($_POST['numUpload'])) |
{ |
echo $html_heading; |
show_header(); |
echo "<table border='0' cellpadding='8' cellspacing='0'><tr class='paragraph'><td class='default_td'> |
<form enctype='multipart/form-data' action='$this_file' method='post'> |
<input type='hidden' name='dir' value='", $_POST['dir'], "' />\n"; |
$num = (int)$_POST['numUpload']; |
for ($i=0; $i<$num; $i++) |
{ |
$n = $i + 1; |
echo "\t\t{$words['file']} $n : <input name='$i' type='file' /><br />\n"; |
} |
echo '<p><input class="button" type="submit" value="Upload Files" /> |
</p></form></td></tr></table>'; |
show_footer(); |
die(); |
} |
} |
if ($use_login_system && logged_in() && is_admin()) |
{ |
$con = '<p><a class="default_a" href="'.$this_file.'dir=' |
.translate_uri($subdir).'">Continue.</a></p>'; |
if (isset($_GET['getcreate'])) |
{ |
echo $html_heading; |
show_header(); |
echo "<table border='0' cellpadding='8' cellspacing='0'><tr class='paragraph'><td class='default_td'> |
Enter the name of the folder you would like to create: |
<form method='get' action='$this_file'> |
<input type='hidden' name='dir' value='", translate_uri($subdir), "' />"; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo '<p><input type="text" name="create" /></p> |
<p><input class="button" type="submit" value="Create" /></p> |
</form></td></tr></table>'; |
show_footer(); |
die(); |
} |
else if (isset($_GET['create']) && $_GET['create'] != '') |
{ |
$p = $dir.eval_dir($_GET['create']); |
$msg = (@file_exists($p) ? 'Folder already exists: ' : (mkdir_recursive($p) ? 'Folder successfully created: ' : 'Could not create folder: ')); |
echo $html_heading; |
show_header(); |
echo $msg, htmlentities($p), $con; |
show_footer(); |
die(); |
} |
else if ($description_file != '' && isset($_GET['descFile']) && $_GET['descFile'] != '') |
{ |
if (isset($_GET['desc'])) |
{ |
$desc = trim(rawurldecode($_GET['desc'])); |
$descFile = trim(rawurldecode($_GET['descFile'])); |
edit_description($dir.$descFile, $desc); |
} |
else |
{ |
$filen = rawurldecode($_GET['descFile']); |
echo $html_heading; |
show_header(); |
echo "<table border='0' cellpadding='8' cellspacing='0'> |
<tr class='paragraph'><td class='default_td'> |
Enter the new description for the file <em>$filen</em>: |
<form method='get' action='$this_file'> |
<input type='hidden' name='dir' value='", translate_uri($subdir), "' /> |
<input type='hidden' name='descFile' value='", translate_uri($filen), '\' />'; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo '<p><input type="text" name="desc" size="50" value="', |
get_stored_info($dir.$filen, $description_file), '" /></p> |
<p><input class="button" type="submit" value="Change" /></p> |
</form></td></tr></table>'; |
show_footer(); |
die(); |
} |
} |
else if (isset($_GET['edit_links'])) |
{ |
echo $html_heading; |
show_header(); |
echo '<table border="0" cellpadding="8" cellspacing="0"> |
<tr class="paragraph"><td class="default_td">'; |
if ($links_file == '') |
{ |
echo '<p>The link system is not in use.<br />To turn it on, set the $links_file variable.</p>'; |
} |
else if (isset($_GET['link'], $_GET['name']) && $_GET['link'] != '') |
{ |
if ($handle = @fopen($dir.$links_file, 'ab')) |
{ |
fwrite($handle, $_GET['link'].'|'.$_GET['name']."\n"); |
fclose($handle); |
echo '<p>Link added.</p>'; |
} |
else |
{ |
echo '<p>Could not open links_file for writing.</p>'; |
} |
} |
else if (isset($_GET['remove'])) |
{ |
if (($list = @file($dir.$links_file)) && ($handle = @fopen($dir.$links_file, 'wb'))) |
{ |
for ($i=0; $i<count($list); $i++) |
{ |
if (rtrim($list[$i]) != rtrim($_GET['remove'])) |
{ |
fwrite($handle, $list[$i]); |
} |
} |
fclose($handle); |
echo '<p>Link removed.</p>'; |
} |
else |
{ |
echo '<p>Could not open links_file.</p>'; |
} |
} |
else |
{ |
echo '<h3>Add a new link:</h3><div class"small">for the directory <em>', htmlentities($dir), |
"</em></div><form method='get' action='$this_file'>", |
'<input type="hidden" name="dir" value="', translate_uri($subdir), |
'" /><p>URL: <input type="text" name="link" size="40" value="http://" /> |
<br />Name: <input type="text" name="name" size="35" /> |
<br /><span class="small">(Leave "name" blank for the URL itself to be shown.)</span></p>'; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo '<input type="hidden" name="edit_links" value="true" /> |
<p><input class="button" type="submit" value="Add" /></p></form></td></tr></table></p>', |
'<p><table border="0" cellpadding="8" cellspacing="0"><tr class="paragraph"><td class="default_td">', |
'<h3>Remove a link:</h3>', "<form method='get' action='$this_file'>"; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo '<input type="hidden" name="dir" value="', translate_uri($subdir), '" />', |
'<input type="hidden" name="edit_links" value="true" />'; |
$list = @file($dir.$links_file) or $list = array(); |
echo '<select name="remove">'; |
for ($i=0; $i<count($list); $i++) |
{ |
echo '<option>'.$list[$i].'</option>'; |
} |
echo '</select><p><input class="button" type="submit" value="Delete" /></form></p>'; |
} |
echo '</p></td></tr></table>', $con; |
show_footer(); |
die(); |
} |
else if (isset($_GET['copyFile'], $_GET['protocol'])) |
{ |
echo $html_heading; |
show_header(); |
if ($_GET['copyFile'] == '') |
{ |
echo '<p>Please go back and enter a file to copy.</p>', $con; |
show_footer(); |
die(); |
} |
$remote = $_GET['protocol'].$_GET['copyFile']; |
$local = $dir.get_basename($remote); |
if (!$allow_file_overwrites && @file_exists($local)) |
{ |
echo "File already exists: <em>$local</em>$con"; |
show_footer(); |
die(); |
} |
$r = @fopen($remote, 'rb') or die("<p>Cannot open remote file for reading: <em>$remote</em></p>$con"); |
$l = @fopen($local, 'wb') or die("<p>Cannot open local file for writing: <em>$local</em></p>$con"); |
while (true) |
{ |
$temp = fread($r, 8192); |
if ($temp === '') |
{ |
break; |
} |
fwrite($l, $temp); |
} |
fclose($l); |
fclose($r); |
echo "<p>Remote file <em>$remote</em> successfully copied to <em>$local</em></p>$con"; |
show_footer(); |
die(); |
} |
else if (isset($_GET['copyURL'])) |
{ |
echo $html_heading; |
show_header(); |
echo "<table border='0' cellpadding='8' cellspacing='0'> |
<tr class='paragraph'><td class='default_td'> |
Enter the name of the remote file you would like to copy: |
<form method='get' action='$this_file'> |
<input type='hidden' name='dir' value='", translate_uri($subdir), "' />"; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo '<p><input type="radio" name="protocol" value="http://" checked="checked" />http:// |
<br /><input type="radio" name="protocol" value="ftp://" />ftp:// |
<input type="text" name="copyFile" /></p> |
<p><input class="button" type="submit" value="Copy" /></p> |
</form></td></tr></table>'; |
show_footer(); |
die(); |
} |
else if (isset($_GET['rename']) && $_GET['rename'] != '') |
{ |
echo $html_heading; |
show_header(); |
echo '<table border="0" cellpadding="8" cellspacing="0"> |
<tr class="paragraph"><td class="default_td">'; |
$p = $dir.eval_dir(rawurldecode($_GET['rename'])); |
if (isset($_GET['newName']) && $_GET['newName'] != '') |
{ |
$new_name = $dir.eval_dir(rawurldecode($_GET['newName'])); |
if ($p == $new_name) |
{ |
$msg = 'The filename is unchanged for '; |
} |
else if (@rename($p, $new_name)) |
{ |
$msg = 'Rename successful for '; |
if ($download_count != '') |
{ |
$l = @file($download_count) or $l = array(); |
if ($h = @fopen($download_count, 'wb')) |
{ |
for ($i=0; $i<count($l); $i++) |
{ |
$regex = '/^'.preg_quote($p, '/').'/'; |
fwrite($h, preg_replace($regex, $new_name, $l[$i])); |
} |
fclose($h); |
} |
} |
if ($description_file != '') |
{ |
$l = @file($description_file) or $l = array(); |
if ($h = @fopen($description_file, 'wb')) |
{ |
for ($i=0; $i<count($l); $i++) |
{ |
$regex = '/^'.preg_quote($p, '/').'/'; |
fwrite($h, preg_replace($regex, $new_name, $l[$i])); |
} |
fclose($h); |
} |
} |
} |
else |
{ |
$msg = 'Rename failed for '; |
} |
echo $msg, htmlentities($p), $con, '</td></tr></table>'; |
show_footer(); |
die(); |
} |
echo '<p>Renaming <em>', htmlentities($p), "</em></p><p>New Filename: |
<br /><span class='small'>(you can also move the file by specifying a path)</span> |
</p><form method='get' action='$this_file'> |
<input type='hidden' name='dir' value='", translate_uri($subdir), "' /> |
<input type='hidden' name='rename' value='", translate_uri($_GET['rename']), '\' />'; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo '<input type="text" name="newName" size="40" value="', $_GET['rename'], '" /> |
<p><input class="button" type="submit" value="Rename" /></p></form></td></tr></table>'; |
show_footer(); |
die(); |
} |
else if (isset($_GET['delete']) && $_GET['delete'] != '') |
{ |
echo $html_heading; |
show_header(); |
echo '<table border="0" cellpadding="8" cellspacing="0"> |
<tr class="paragraph"><td class="default_td">'; |
$_GET['delete'] = rawurldecode($_GET['delete']); |
$p = $dir.eval_dir($_GET['delete']); |
if (isset($_GET['sure'])) //delete the file |
{ |
if (@is_dir($p)) |
{ |
$msg = (rmdir_recursive($p) ? 'Folder successfully deleted: ' |
: 'Could not delete folder: '); |
} |
else if (@is_file($p)) |
{ |
$msg = (@unlink($p) ? 'File successfully deleted: ' |
: 'Could not delete file: '); |
} |
else |
{ |
$msg = 'File or folder does not exist: '; |
} |
} |
else //ask user for confirmation |
{ |
$msg = 'Are you sure you want to delete <em>'; |
$con = '</em><p><a class="default_a" href="'.$this_file.'dir=' |
.translate_uri($subdir).'&delete='.translate_uri($_GET['delete']) |
.'&sure=true">Yes, delete it.</a></p><p><a class="default_a" href="' |
.$this_file.'dir='.translate_uri($subdir).'">No, go back.</a></p>'; |
} |
echo $msg, htmlentities($p), $con, '</td></tr></table>'; |
show_footer(); |
die(); |
} |
else if (isset($_GET['config'])) |
{ |
if (@is_file($config_generator)) |
{ |
define('CONFIG', true); |
if (!@include($config_generator)) |
{ |
die("$html_heading<p>Error including file <em>$config_generator</em></p>"); |
} |
die(); |
} |
else |
{ |
die("$html_heading<p>File <em>$config_generator</em> not found.</p>"); |
} |
} |
else if (isset($_GET['edit_ban'])) |
{ |
echo $html_heading; |
show_header(); |
echo '<table border="0" cellpadding="8" cellspacing="0"> |
<tr class="paragraph"><td class="default_td">'; |
if ($banned_list == '') |
{ |
echo '<p>The banning system is not in use.<br />To turn it on, set the $banned_list variable.</p>'; |
} |
else if (isset($_GET['add_ban'])) |
{ |
if ($handle = @fopen($banned_list, 'ab')) |
{ |
fwrite($handle, $_GET['add_ban']."\n"); |
fclose($handle); |
echo '<p>Ban added.</p>'; |
} |
else |
{ |
echo '<p>Could not open ban_list file for writing.</p>'; |
} |
} |
else if (isset($_GET['del_ban'])) |
{ |
$del_ban = rtrim($_GET['del_ban']); |
if (($list = @file($banned_list)) && ($handle = @fopen($banned_list, 'wb'))) |
{ |
for ($i=0; $i<count($list); $i++) |
{ |
if (rtrim($list[$i]) != $del_ban) |
{ |
fwrite($handle, $list[$i]); |
} |
} |
fclose($handle); |
echo '<p>Ban removed.</p>'; |
} |
else |
{ |
echo '<p>Could not open ban_list file.</p>'; |
} |
} |
else |
{ |
echo '<h3>Add a new ban:</h3>', |
"<form method='get' action='$this_file'>", |
'IP address or hostname: <input type="text" name="add_ban" size="35" /> |
<br /><span class="small">You can use wildcards if you want (*, ?, +)</span></p>'; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo '<input type="hidden" name="edit_ban" value="true" /> |
<p><input class="button" type="submit" value="Add" /></p></form></td></tr></table></p>', |
'<table border="0" cellpadding="8" cellspacing="0"><tr class="paragraph"><td class="default_td">', |
'<h3>Remove a ban:</h3>'."<form method='get' action='$this_file'>"; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo '<input type="hidden" name="edit_ban" value="true" />'; |
$list = @file($banned_list) or $list = array(); |
echo '<select name="del_ban">'; |
for ($i=0; $i<count($list); $i++) |
{ |
echo '<option>'.$list[$i].'</option>'; |
} |
echo '</select><p><input class="button" type="submit" value="Remove" /></form>'; |
} |
echo '</p></td></tr></table>', $con; |
show_footer(); |
die(); |
} |
} |
function get_change_color($num) |
{ |
if ($num > 0) |
{ |
return '<span style="color: #00FF00;">+'; |
} |
if ($num < 0) |
{ |
return '<span style="color: #FF0000;">'; |
} |
return '<span style="color: #000000;">'; |
} |
if ($use_login_system && isset($_GET['log'])) |
//logfile viewer |
{ |
echo $html_heading; |
show_header(); |
if (!logged_in() || !is_admin()) |
{ |
echo '<p>You must be logged in as an admin to access this page.</p>'; |
} |
else if ($log_file == '') |
{ |
echo '<p>The logging system is not in use. |
<br />To turn it on, set the $log_file variable.</p>'; |
} |
else if (isset($_GET['view'])) |
{ |
$log = @file($log_file) or die("Cannot open log file: <em>$log_file</em>"); |
$count_log = count($log); |
$max_to_display = (int)$_GET['view']; |
$num = (($max_to_display == 0) ? $count_log : min($max_to_display, $count_log)); |
echo "<p>Last $num log entries (of $count_log".')</p><table width="100%"><tr> |
<th class="default_th"> </th><th class="default_th">Date</th> |
<th class="default_th">Time</th><th class="default_th">IP</th> |
<th class="default_th">Hostname</th><th class="default_th">Referrer</th> |
<th class="default_th">File/Folder Viewed</th><th class="default_th">Other</th></tr>'; |
for ($i=0; $i<$num; $i++) |
{ |
$entries = explode("\t", rtrim($log[$count_log-$i-1])); |
$num_entries = count($entries); |
if ($num_entries > 5) |
{ |
echo "\n<tr class=", (($i % 2) ? '"dark_row">' : '"light_row">'), |
'<td class="default_td"><strong>', ($i + 1), '</strong></td>'; |
for ($j=0; $j<$num_entries; $j++) |
{ |
echo '<td class="default_td">', (($j == 4 && $entries[4] != 'N/A') ? |
'<a class="default_a" href="'.$entries[$j].'">'.htmlentities($entries[$j]).'</a>' : |
htmlentities($entries[$j])).'</td>'; |
} |
if ($num_entries === 6) |
{ |
echo '<td class="default_td"> </td>'; |
} |
echo '</tr>'; |
} |
} |
echo '</table>'; |
} |
else if (isset($_GET['stats'])) |
{ |
if (!@include($path_to_language_files.'country_codes.php')) |
{ |
die("<p>File not found: <em>{$path_to_language_files}country_codes.php</em></p>"); |
} |
$extensions = $dates = $unique_hits = $countries = array(); |
$total_hits = 0; |
$h = @fopen($log_file, 'rb') or die("<p>Cannot open log file: <em>$log_file</em></p>"); |
while (!feof($h)) |
{ |
$entries = explode("\t", rtrim(fgets($h, 1024))); |
if (count($entries) > 5) |
{ |
//find the number of unique visits |
if ($entries[5] == $base_dir) |
{ |
$total_hits++; |
if (!in_array($entries[3], $unique_hits)) |
{ |
$unique_hits[] = htmlentities($entries[3]); |
} |
//find country codes by hostnames |
$cc = ext($entries[3]); |
if (preg_match('/^[a-z]+$/i', $cc)) |
{ |
add_num_to_array($cc, $countries); |
} |
//find the dates of the visits |
add_num_to_array($entries[0], $dates); |
} |
//find file extensions |
else if (($ext = ext($entries[5])) && preg_match('/^[\w-]+$/', $ext)) |
{ |
add_num_to_array($ext, $extensions); |
} |
} |
} |
fclose($h); |
$num_days = count($dates); |
$avg = round($total_hits/$num_days); |
echo '<table width="40%"><tr><th class="default_th"> </th> |
<th class="default_th">Total</th><th class="default_th">Daily</th></tr>', |
"<tr class='light_row'><td class='default_td'>Hits</td> |
<td class='default_td'>$total_hits</td><td class='default_td'>$avg", |
'</td></tr><tr class="light_row"><td class="default_td">Unique Hits</td> |
<td class="default_td">'.count($unique_hits).'</td><td class="default_td">', |
round(count($unique_hits)/$num_days), |
'</td></tr></table><p>Percent Unique: ', |
number_format(count($unique_hits)/$total_hits*100, 1), '</p>'; |
arsort($extensions); |
arsort($countries); |
$date_nums = array_values($dates); |
echo '<p /><table width="75%" border="0"><tr><th class="default_th">Date</th> |
<th class="default_th">Hits That Day</th><th class="default_th">Change From Previous Day</th> |
<th class="default_th">Difference From Average ('.$avg.')</th></tr>'; |
$i = 0; |
foreach ($dates as $day => $num) |
{ |
$diff = $num - $avg; |
$change = (($i > 0) ? ($num - $date_nums[$i-1]) : 0); |
$change_color = get_change_color($change); |
$diff_color = get_change_color($diff); |
$class = (($i++ % 2) ? 'dark_row' : 'light_row'); |
echo "<tr class='$class'><td class='default_td'>$day</td> |
<td class='default_td'>$num</td> |
<td class='default_td'>$change_color$change</span></td> |
<td class='default_td'>$diff_color$diff</span></td></tr>"; |
} |
echo '</table><p /><table width="75%" border="0"> |
<tr><th class="default_th">Downloads based on file extensions</th> |
<th class="default_th">Total</th><th class="default_th">Daily</th></tr>'; |
$i = 0; |
foreach ($extensions as $ext => $num) |
{ |
$class = (($i++ % 2) ? 'dark_row' : 'light_row'); |
echo "<tr class='$class'><td class='default_td'>$ext</td> |
<td class='default_td'>$num</td><td class='default_td'>", |
number_format($num/$num_days, 1), '</td></tr>'; |
} |
echo '</table><p /><table width="75%" border="0"><tr> |
<th class="default_th">Hostname ISP extension</th> |
<th class="default_th">Total</th><th class="default_th">Daily</th></tr>'; |
$i = 0; |
foreach ($countries as $c => $num) |
{ |
$c_code = (isset($country_codes[strtolower($c)]) ? ' <span class="small">('.$country_codes[strtolower($c)].')</span>' : ''); |
$class = (($i++ % 2) ? 'dark_row' : 'light_row'); |
echo "<tr class='$class'><td class='default_td'>$c{$c_code}</td><td class='default_td'>$num</td><td class='default_td'>", |
number_format($num / $num_days, 1), "</td></tr>\n"; |
} |
echo '</table>'; |
} |
else |
{ |
echo '<table border="0" cellpadding="8" cellspacing="0"> |
<tr class="paragraph"><td class="default_td">' |
."<form method='get' action='$this_file'> |
<input type='hidden' name='log' value='true' />"; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo '<p>List the latest <input type="text" size="2" name="view" /> enties in the log file (0 to view all).<input class="button" type="submit" value="Go" /></p></form> |
<p>or <a class="default_a" href="', $this_file, 'log=true&stats=true">view statistics</a>.</p></td></tr></table>'; |
} |
echo '<p><a class="default_a" href="', $this_file, '">Continue.</a></p>'; |
show_footer(); |
die(); |
} |
if ($use_login_system && (isset($_POST['admin']) || isset($_GET['admin']))) |
//user admin section |
{ |
echo $html_heading; |
show_header(); |
if (!logged_in() || !is_admin()) |
{ |
echo '<p>You must be logged in as an admin to access this page.</p>'; |
} |
else if (isset($_POST['username'], $_POST['password1'], $_POST['password2'], $_POST['admin'])) |
{ |
$pwd_reg_exp = '^[A-Za-z0-9_-]+$'; |
if (strlen($_POST['password1']) < 6) |
{ |
echo '<p>Password must be at least 6 characters long.</p>'; |
} |
else if (!ereg($pwd_reg_exp, $_POST['username'])) |
{ |
echo 'The username must only contain alpha-numeric characters, underscores, or dashes.', |
'<br /><span class="small">It must match the regular expression: <strong>', |
htmlentities($pwd_reg_exp), '</strong></span>'; |
} |
else if ($_POST['password1'] != $_POST['password2']) |
{ |
echo '<p>Passwords do not match.</p>'; |
} |
else if (is_username($_POST['username'])) |
{ |
echo '<p>That username already exists.</p>'; |
} |
else |
{ |
$handle = @fopen($user_list, 'ab') or die("<p>Could not open file <em>$user_list</em> for writing.</p>"); |
fwrite($handle, md5($_POST['password1']).$_POST['admin'].$_POST['username']."\n"); |
fclose($handle); |
echo '<p>User added. <a class="default_a" href="', $this_file, '">Continue.</a></p>'; |
} |
} |
else if (isset($_POST['deluser'], $_POST['doit'])) |
{ |
if ($_POST['doit']) |
{ |
if (is_user_admin($_POST['deluser']) && num_admins() < 2) |
{ |
echo '<p>You cannot remove this user because it is the only admin. |
<br />Create another user with admin rights, then delete this user.</p> |
<p><a class="default_a" href="', $this_file, '">Continue.</a></p>'; |
} |
else |
{ |
$handle = @fopen($user_list, 'wb') or die("<p>Could not open file <strong>$user_list</strong> for writing.</p>"); |
foreach ($global_user_list as $look) |
{ |
if (strcasecmp($_POST['deluser'], substr(rtrim($look), 33)) !== 0) |
{ |
fwrite($handle, $look); |
} |
} |
fclose($handle); |
echo '<p>User <strong>'.$_POST['deluser'].'</strong> has been removed. <a class="default_a" href="' |
.$this_file.'">Continue.</a></p>'; |
} |
} |
else |
{ |
echo '<table border="0" cellpadding="8" cellspacing="0"><tr class="paragraph"><td class="default_td">', |
'Are you sure you want to remove <strong>', $_POST['deluser'], "</strong>?<p><form method='post' action='$this_file'>", |
'<input type="hidden" name="doit" value="1" /><input type="hidden" name="admin" value="true" /><input type="hidden" name="deluser" value="', |
$_POST['deluser'], '" /><input class="button" type="submit" value="Yes, do it." />', |
'</form></td></tr></table>'; |
} |
} |
else |
{ |
echo " |
<table border='0' cellpadding='8' cellspacing='0'> |
<tr class='paragraph'><td class='default_td'> |
<h3>Add a user:</h3> |
<form method='post' action='$this_file'> |
<p><input type='hidden' name='admin' value='true' /> |
Username: <input type='text' name='username' /> |
<br />Password: <input type='password' name='password1' /> |
<br />Password: <input type='password' name='password2' /> |
<br />Is Admin?: <select name='admin'> |
<option selected='selected' value='0'>No</option> |
<option value='1'>Yes</option></select></p> |
<p><input class='button' type='submit' value='Add User' /></p> |
</form></td></tr></table> |
<p /><table border='0' cellpadding='8' cellspacing='0'> |
<tr class='paragraph'><td class='default_td'> |
<h3>Delete a user:</h3> |
<form method='post' action='$this_file'> |
<p><input type='hidden' name='admin' value='true' /> |
Select user to delete: <select name='deluser'>"; |
foreach ($global_user_list as $look) |
{ |
echo '<option>', substr($look, 33), '</option>'; |
} |
echo '</select><input type="hidden" name="doit" value="0" /></p> |
<p><input class="button" type="submit" value="Delete" /></p></form> |
</td></tr></table>'; |
} |
show_footer(); |
die(); |
} |
else if ($use_login_system && isset($_GET['logout'])) |
//logout |
{ |
session_unset(); |
session_destroy(); |
redirect($this_file); |
} |
else if ($use_login_system && (isset($_POST['passwd']) || isset($_GET['passwd']))) |
//change password |
{ |
echo $html_heading; |
show_header(); |
if (!logged_in()) |
{ |
echo '<p>You must login to access this page.</p>'; |
} |
else if (isset($_POST['oldpass'], $_POST['newpass1'], $_POST['newpass2'])) |
{ |
if (strlen($_POST['newpass1']) < 6) |
{ |
echo '<p>New password too short (must be at least 6 characters).</p>'; |
} |
else if ($_POST['newpass1'] != $_POST['newpass2']) |
{ |
echo '<p>New passwords do not match.</p>'; |
} |
else if (check_login($_SESSION['user'], md5($_POST['oldpass']))) |
{ |
$handle = @fopen($user_list, 'wb') or die("<p>Could not open file <strong>$user_list</strong> for writing.</p>"); |
foreach ($global_user_list as $look) |
{ |
fwrite($handle, ((strcasecmp($_SESSION['user'] , substr(rtrim($look), 33)) === 0) ? |
md5($_POST['newpass1']).substr($look, 32) : $look)); |
} |
fclose($handle); |
echo '<p>Password for <strong>'.$_SESSION['user'].'</strong> has been changed.<p>You must now <a class="default_a" href="' |
.$this_file.'">logout</a>.</p>'; |
} |
else |
{ |
echo '<p>Incorrect old password.</p>'; |
} |
} |
else |
{ |
echo "<table border='0' cellpadding='8' cellspacing='0'> |
<tr class='paragraph'><td class='default_td'> |
<form method='post' action='$this_file'> |
<input type='hidden' name='passwd' value='true' /> |
Old Password: <input type='password' name='oldpass' /> |
<br />New Password: <input type='password' name='newpass1' /> |
<br />New Password: <input type='password' name='newpass2' /> |
<p><input class='button' type='submit' value='Change Password' /> |
</form></td></tr></table>"; |
} |
show_footer(); |
die(); |
} |
$total_bytes = 0; |
if ($links_file != '' && isset($_GET['link'])) |
//redirect to a link |
{ |
if (ok_to_log()) |
{ |
if ($log_file != '') |
{ |
if ($write = @fopen($log_file, 'ab')) |
{ |
fwrite($write, date($date_format)."\t".date('H:i:s') |
."\t$ip\t$host\t$referrer\t" |
.$_GET['link']."\tLink file\n"); |
fclose($write); |
} |
} |
if ($download_count != '') |
{ |
add_to_file($_GET['link'], $download_count); |
} |
} |
redirect($_GET['link']); |
} |
if ($file_dl != '') |
//if the user specified a file to download, download it now |
{ |
if (!@is_file($dir.$file_dl)) |
{ |
header('HTTP/1.0 404 Not Found'); |
echo $html_heading; |
show_header(); |
echo '<h3>Error 404: file not found</h3>', |
htmlentities($dir . $file_dl), ' was not found on this server.'; |
show_footer(); |
die(); |
} |
if ($anti_leech && !isset($_SESSION['ref']) && ($referrer == 'N/A' || !stristr($referrer, $_SERVER['SERVER_NAME']))) |
{ |
if ($log_file != '' && ok_to_log()) |
{ |
if ($write = @fopen($log_file, 'ab')) |
{ |
fwrite($write, date($date_format)."\t".date('H:i:s') |
."\t$ip\t$host\t$referrer\t$dir$file_dl\tLeech Attempt\n"); |
fclose($write); |
} |
} |
$ref = (($referrer == 'N/A') ? 'typing it in the address bar...' : $referrer); |
echo $html_heading; |
show_header(); |
echo '<h3>This PHP Script has an Anti-Leech feature turned on.<p>Make sure you are accessing this file directly from <a class="default_a" href="http://', |
$_SERVER['SERVER_NAME'], '">', htmlentities($_SERVER['SERVER_NAME']), '</a></h3>', |
'It seems you are trying to get it from <strong>', "$ref</strong><p>Your IP address has been logged.<br />$ip ($host)"; |
$index_link = 'http://'.$_SERVER['SERVER_NAME'].$this_file.'dir='.translate_uri($subdir); |
echo '<p>Here is a link to the directory index the file is in:<br /><a class="default_a" href="', |
$index_link, '">', htmlentities($index_link), '</a></p>'; |
show_footer(); |
die(); |
} |
if (ok_to_log()) |
{ |
if ($download_count != '') |
{ |
add_to_file($dir.$file_dl, $download_count); |
} |
if ($log_file != '') |
{ |
if ($write = @fopen($log_file, 'ab')) |
{ |
fwrite($write, date($date_format)."\t".date('H:i:s') |
."\t$ip\t$host\t$referrer\t$dir$file_dl\n"); |
fclose($write); |
} |
} |
} |
if ($force_download) //use php to read the file, and tell the browser to download it |
{ |
if (!($fn = @fopen($dir.$file_dl, 'rb'))) |
{ |
die($html_heading.'<h3>Error 401: permission denied</h3> you cannot access <em>' |
.htmlentities($file_dl).'</em> on this server.'); |
} |
$outname = get_basename($file_dl); |
$size = @filesize($dir.$file_dl); |
if ($size !== false) |
{ |
header('Content-Length: '.$size); |
} |
header('Content-Type: '.find_mime_type(ext($outname)).'; name="'.$outname.'"'); |
header('Content-Disposition: attachment; filename="'.$outname.'"'); |
@set_time_limit(0); |
while (true) |
{ |
$temp = @fread($fn, (int)($speed * 1024)); |
if ($temp === '') |
{ |
break; |
} |
echo $temp; |
flush(); |
if ($bandwidth_limit) |
{ |
sleep(1); |
} |
} |
fclose($fn); |
die(); |
} |
redirect(translate_uri($dir.$file_dl)); |
} |
if ($log_file != '' && ok_to_log()) |
//write to the logfile |
{ |
if ($write = @fopen($log_file, 'ab')) |
{ |
$log_str = date($date_format)."\t".date('H:i:s') |
."\t$ip\t$host\t$referrer\t$dir"; |
if ($search != '') |
{ |
$log_str .= "\tSearch: $search"; |
} |
fwrite($write, $log_str."\n"); |
fclose($write); |
} |
else |
{ |
echo '<p>Error: Could not write to logfile.</p>'; |
} |
} |
if ($anti_leech && !isset($_SESSION['ref'])) |
{ |
$_SESSION['ref'] = 1; |
} |
echo $html_heading; |
show_header(); |
if (!@is_dir($dir)) |
//make sure the subfolder exists |
{ |
echo '<p><strong>Error: The folder <em>'.htmlentities($dir) |
.'</em> does not exist.</strong></p>'; |
$dir = $base_dir; |
$subdir = ''; |
} |
if ($enable_searching && $search != '') |
//show the results of a search |
{ |
echo '<table border="0" cellpadding="8" cellspacing="0"> |
<tr class="paragraph"><td class="default_td"><p><strong>', |
$words['search results'], '</strong> :<br /><span class="small">for <em>', |
htmlentities($dir), '</em> and its subdirectories</span></p><p>'; |
$results = search_dir($dir, $search); |
natcasesort($results); |
if ($_SESSION['sort'] == 'd' && $_SESSION['sortMode'] == 'f') |
{ |
$results = array_reverse($results); |
} |
for ($i=0; $i<count($results); $i++) |
{ |
$file = substr($results[$i], strlen($base_dir)); |
echo '<a class="default_a" href="'.$this_file; |
if (is_dir($base_dir.$file)) |
{ |
echo 'dir='.translate_uri($file).'/">'; |
if ($icon_path != '') |
{ |
echo '<img height="16" width="16" alt="[dir]" src="', $icon_path, '/dir.png" /> '; |
} |
echo htmlentities($file)."/</a><br />\n"; |
} |
else if (preg_match('/\|$/', $file)) |
{ |
$file = substr($file, 0, -1); |
$display = get_stored_info($file, $dir.$links_file); |
if ($display == '') |
{ |
$display = $file; |
} |
echo 'dir=', translate_uri($subdir), '&link=', |
translate_uri($file), '" title="Link to: ', $file, '">', |
icon(ext($display)), htmlentities($display), '</a><br />'; |
} |
else |
{ |
echo 'dir=', translate_uri(dirname($file)).'/&file=', |
translate_uri(get_basename($file)), '">', |
icon(ext($file)), htmlentities($file), "</a><br />\n"; |
} |
} |
if (!count($results)) |
{ |
echo '</p><p><strong>[ ', $words['no results'], ' ]</strong></p>'; |
} |
echo '</p><p>', $words['end of results'], ' (', count($results), ' ', |
$words['found'], ')</p></td></tr></table>'; |
show_search_box(); |
echo '<p><a class="default_a" href="', $this_file, 'dir=', |
translate_uri($subdir), '">Go back.</a></p>'; |
show_footer(); |
die(); |
} |
//path navigation at the top |
echo '<div>', $words['index of'], ' <a class="default_a" href="', $this_file, |
'dir=">', htmlentities(substr(str_replace('/', ' / ', $base_dir), 0, -2)), |
'</a>/ '; |
$exploded = explode('/', $subdir); |
$c = count($exploded) - 1; |
for ($i=0; $i<$c; $i++) |
{ |
echo '<a class="default_a" href="', $this_file, 'dir='; |
for ($j=0; $j<=$i; $j++) |
{ |
echo translate_uri($exploded[$j]), '/'; |
} |
echo '">', htmlentities($exploded[$i]), '</a> / '; |
} |
//begin the table |
echo "</div>\n\n", '<table width="100%" border="0" cellpadding="0" cellspacing="2"><tr>'; |
table_heading($words['file'], 'f', 'Sort by Filename'); |
if ($show_type_column) |
{ |
table_heading('Type', 't', 'Sort by Type'); |
} |
if ($download_count != '') |
{ |
table_heading('Downloads', 'h', 'Sort by Hits'); |
} |
if ($show_size_column) |
{ |
table_heading($words['size'], 's', 'Sort by Size'); |
} |
if ($show_date_column) |
{ |
table_heading($words['modified'], 'm', 'Sort by Date'); |
} |
if ($description_file != '') |
{ |
table_heading('Description', 'd', 'Sort by Description'); |
} |
echo '</tr>'; |
if ($subdir != '') |
//if they are not in the root folder, have a link to the parent directory |
{ |
echo '<tr class="light_row"><td class="default_td" colspan="6"><a class="default_a" href="', $this_file, 'dir='; |
$subdir = substr($subdir, 0, -1); |
echo translate_uri(substr($subdir, 0, strrpos($subdir,'/'))), '/">'; |
if ($icon_path != '') |
{ |
echo "<img height=\"16\" width=\"16\" src=\"$icon_path/back.png\" alt=\"[dir]\" /> "; |
} |
echo $words['parent directory'], '</a></td></tr>'; |
$subdir .= '/'; |
} |
flush(); |
$file_array = get_file_list($dir); |
$size_array = $date_a_array = $date_m_array = $desc_array = $hit_array = $type_array = array(); |
$c = count($file_array); |
for ($i=0; $i<$c; $i++) |
{ |
$thisf = $dir.$file_array[$i]; |
if (preg_match('/\|$/', $thisf)) //it is a link |
{ |
$thisf = substr($thisf, 0, -1); |
$type_array[] = ($show_type_column ? ext(get_stored_info(substr($file_array[$i], 0, -1), $dir.$links_file)) : ''); |
$hit_array[] = (($download_count != '' && !@is_dir($thisf)) ? (int)(get_stored_info(substr($file_array[$i], 0, -1), $download_count)) : 0); |
$date_m_array[] = 'N/A'; |
$date_a_array[] = 'N/A'; |
$size_array[] = '[Link]'; |
} |
else //it is an actual file or folder |
{ |
$size_array[] = ($show_size_column ? (@is_dir($thisf) ? ($show_dir_size ? dir_size("$thisf/") : 0) : max((int)@filesize($thisf), 0)) : 0); |
$type_array[] = (($show_type_column && !@is_dir($thisf)) ? ext($thisf) : ''); |
$hit_array[] = (($download_count != '' && !@is_dir($thisf)) ? (int)(get_stored_info($thisf, $download_count)) : 0); |
if ($show_date_column) |
{ |
$date_m_array[] = filemtime($thisf); |
$date_a_array[] = fileatime($thisf); |
} |
else |
{ |
$date_m_array[] = 0; |
$date_a_array[] = 0; |
} |
} |
$desc_array[] = (($description_file == '') ? '' : get_stored_info($thisf, $description_file)); |
} |
switch (strtolower($_SESSION['sortMode'])) |
{ |
case 's': |
array_multisort($size_array, $file_array, $date_m_array, |
$date_a_array, $hit_array, $desc_array, $type_array); |
break; |
case 'm': |
array_multisort($date_m_array, $file_array, $size_array, |
$date_a_array, $hit_array, $desc_array, $type_array); |
break; |
case 'd': |
array_multisort($desc_array, $file_array, $date_m_array, |
$size_array, $date_a_array, $hit_array, $type_array); |
break; |
case 'h': |
array_multisort($hit_array, $file_array, $date_m_array, |
$size_array, $date_a_array, $desc_array, $type_array); |
break; |
case 't': |
array_multisort($type_array, $file_array, $hit_array, |
$date_m_array, $size_array, $date_a_array, $desc_array); |
} |
if (strtolower($_SESSION['sort']) === 'd') |
//if the current sort mode is set to descending, reverse all the arrays |
{ |
$file_array = array_reverse($file_array); |
$size_array = array_reverse($size_array); |
$date_m_array = array_reverse($date_m_array); |
$date_a_array = array_reverse($date_a_array); |
$desc_array = array_reverse($desc_array); |
$hit_array = array_reverse($hit_array); |
$type_array = array_reverse($type_array); |
} |
$folder_count = $file_count = $dl_count = 0; |
for ($i=0; $i<$c; $i++) |
//display the list of files |
{ |
$value = $file_array[$i]; |
echo "\n<tr class=", (($i % 2 == ($subdir == '')) ? '"dark_row">' : '"light_row">'); |
//file column |
echo '<td class="default_td" align="left" valign="top"><a class="default_a" href="', $this_file; |
$npart = $dir . $value; |
if (preg_match('/\|$/', $value)) //it is a link, not an actual file |
{ |
$value = substr($value, 0, -1); |
$npart = substr($npart, 0, -1); |
$display = get_stored_info($value, $dir.$links_file); |
if ($display == '') |
{ |
$display = $value; |
} |
echo 'dir=', translate_uri($subdir), '&link=', |
translate_uri($value), '" title="Link to: ', $value, '">', |
icon(ext($display)), htmlentities($display), '</a>'; |
} |
else //it is a real file or folder |
{ |
if (@is_dir($npart)) |
{ |
$folder_count++; |
if ($icon_path != '') |
{ |
if ($folder_expansion) |
{ |
$listVal = (in_array($npart, $_SESSION['expanded']) ? 'collapse' : 'expand'); |
echo 'dir=', translate_uri($subdir), "&$listVal=", translate_uri($value), |
'"><img height="16" width="16" alt="[dir]" src="', |
$icon_path.'/dir.png" /></a> ', |
'<a class="default_a" href="', $this_file, 'dir=', |
translate_uri($subdir . $value), '/">'; |
} |
else |
{ |
echo 'dir=', translate_uri($subdir . $value), '/">', |
'<img height="16" width="16" alt="[dir]" src="', $icon_path, '/dir.png" /> '; |
} |
} |
else |
{ |
echo 'dir=', translate_uri($subdir . $value), '/">'; |
} |
echo htmlentities($value).'</a>'; |
if ($show_folder_count) |
{ |
$n = num_files($npart); |
$s = (($n == 1) ? $words['file'] : $words['files']); |
echo " [$n $s]"; |
} |
} |
else //is a file |
{ |
$file_count++; |
echo 'dir=', translate_uri($subdir), '&file=', |
translate_uri($value), "\">", |
icon(ext($npart)), htmlentities($value), '</a>'; |
if ($md5_show && $size_array[$i] > 0 && $size_array[$i] / 1048576 <= $md5_show) |
{ |
echo ' [<a class="default_a" href="', $this_file, |
'dir=', translate_uri($subdir), '&md5=', |
translate_uri($value), '"><span class="small">get md5sum</span></a>]'; |
} |
} |
if ($use_login_system && logged_in() && is_admin()) |
{ |
echo ' [<a class="default_a" href="', $this_file, 'dir='.translate_uri($subdir), |
'&delete=', translate_uri($value), '"><span class="small">delete</span></a>, ', |
'<a class="default_a" href="', $this_file, 'dir=', translate_uri($subdir), |
'&rename=', translate_uri($value), '"><span class="small">rename/move</span></a>]'; |
} |
$age = (time() - $date_m_array[$i]) / 86400; |
$age_r = round($age, 1); |
$s = (($age_r == 1) ? '' : 's'); |
if ($days_new && $age <= $days_new) |
{ |
echo (($icon_path == '') ? ' <span class="small" style="color: #FF0000;">[New]</span>' |
: ' <img alt="'."$age_r day$s".' old" height="14" width="28" src="'.$icon_path.'/new.png" />'); |
} |
if ($folder_expansion && @is_dir($npart) && in_array($npart, $_SESSION['expanded'])) |
{ |
$ex_array = get_file_list($npart.'/'); |
if ($_SESSION['sort'] == 'd' && $_SESSION['sortMode'] == 'f') |
{ |
$ex_array = array_reverse($ex_array); |
} |
echo '<ul>'; |
for ($j=0; $j<count($ex_array); $j++) |
{ |
$element = $ex_array[$j]; |
echo '<li><a class="default_a" href="'.$this_file |
.((@is_file("$npart/$element")) ? 'dir='.translate_uri($subdir.$value).'/&file=' |
.translate_uri($element).'">' : 'dir='.translate_uri("$subdir$value/$element/").'">'); |
if (@is_file("$npart/$element")) |
{ |
echo icon(ext($element)); |
} |
else if ($icon_path != '') |
{ |
echo '<img height="16" width="16" alt="[dir]" src="', |
$icon_path, '/dir.png" /> '; |
} |
echo htmlentities($element), "</a></li>\n"; |
} |
echo '</ul>'; |
} |
} |
if ($use_login_system && $description_file != '' && logged_in() && is_admin()) |
//"edit description" link |
{ |
echo ' [<a class="default_a" href="', $this_file, 'dir=', |
translate_uri($subdir), '&descFile=', translate_uri($value), |
'"><span class="small">change description</span></a>]'; |
} |
if ($thumbnail_height > 0 && in_array(ext($value), array('png', 'jpg', 'jpeg', 'gif')) && @is_file($npart)) |
//display the thumbnail image |
{ |
echo ' <a href="'.$this_file.'dir=', translate_uri($subdir), '&file=', |
translate_uri($value), '"><img src="', $this_file, |
'dir=', translate_uri($subdir), '&thumbnail=', translate_uri($value), |
'" alt="Thumbnail of ', $value, '" /></a>'; |
} |
echo '</td>'; //end filename column |
//filetype column |
if ($show_type_column) |
{ |
echo '<td class="default_td" align="left" valign="top">', |
(($type_array[$i] == '') ? ' ' : htmlentities($type_array[$i])), '</td>'; |
} |
//hits column |
if ($download_count != '') |
{ |
$dl_count += $hit_array[$i]; |
echo '<td class="default_td" align="right" valign="top">', |
((!@is_dir($npart)) ? $hit_array[$i] : ' '), '</td>'; |
} |
//size column |
if ($show_size_column) |
{ |
echo '<td class="default_td" align="right" valign="top">'; |
$ds = $size_array[$i]; |
if ($ds === '[Link]') |
{ |
echo $ds; |
} |
else |
{ |
$total_bytes += $ds; |
$size_h = get_filesize($ds); |
echo (@is_dir($npart) ? |
($show_dir_size ? "<a title=\"$value/\n".number_format($ds, 0, '.', ',')." bytes ($size_h)\">$size_h</a>" : '[dir]') |
: "<a title=\"$value\n".number_format($ds, 0, '.', ',')." bytes ($size_h)\">$size_h</a>"); |
} |
echo '</td>'; |
} |
//date column |
if ($show_date_column) |
{ |
echo '<td class="default_td" align="right" valign="top">'; |
if ($date_a_array[$i] == 'N/A') |
{ |
echo 'N/A'; |
} |
else |
{ |
$a = date($date_format.' h:i:s A', $date_a_array[$i]); |
$m = date($date_format.' h:i:s A', $date_m_array[$i]); |
echo "<a title=\"$value\nLast Modified: $m\nLast Accessed: $a\">", |
date($date_format, $date_m_array[$i]), '</a>'; |
} |
echo '</td>'; |
} |
//description column |
if ($description_file != '') |
{ |
echo '<td class="default_td" align="left" valign="top">', |
(($desc_array[$i] != '') ? $desc_array[$i] : ' '), '</td>'; |
} |
echo "</tr>\n"; |
} |
//footer of the table |
echo '<tr><th class="default_th"><span class="small">', "\n$file_count ", |
$words[(($file_count == 1) ? 'file' : 'files')], |
" - $folder_count ", $words['folders'], '</span></th>'; |
if ($show_type_column) |
{ |
echo "<th class='default_th'> </th>"; |
} |
if ($download_count != '') |
{ |
echo "<th class='default_th'><span class='small'>Total: $dl_count</span></th>"; |
} |
if ($show_size_column) |
{ |
echo '<th class="default_th"><span class="small">', $words['total size'], ': <a title="' ,$words['total size'], ":\n", |
number_format($total_bytes, 0, '.', ','), ' bytes (', get_filesize($total_bytes), ')">', |
get_filesize($total_bytes), "</a></span></th>\n"; |
} |
if ($show_date_column) |
{ |
echo '<th class="default_th"> </th>'; |
} |
if ($description_file != '') |
{ |
echo '<th class="default_th"> </th>'; |
} |
echo '</tr></table><div class="small" style="text-align: right;">Powered by <a class="default_a" href="http://autoindex.sourceforge.net/">AutoIndex PHP Script</a></div>'; |
/* |
* We request that you do not remove the link to the AutoIndex website. |
* This not only gives respect to the large amount of time given freely by the |
* developer, but also helps build interest, traffic, and use of AutoIndex. |
*/ |
echo "\n", '<table width="100%" border="0" cellpadding="0" cellspacing="2"> |
<tr valign="top"><td>'; |
if ($enable_searching) |
{ |
show_search_box(); |
} |
if ($use_login_system) |
{ |
if (!logged_in()) |
{ |
echo '</td><td>'; |
show_login_box(); |
} |
else //show user options |
{ |
echo '<br /><table border="0" cellpadding="8" cellspacing="0"><tr class="paragraph"><td class="default_td">'; |
if (is_admin()) |
{ |
echo '<p><a class="default_a" href="'.$this_file.'config=true">Reconfigure script</a></p>', |
'<p><a class="default_a" href="'.$this_file.'admin=true">User account management</a>', |
'<br /><a class="default_a" href="'.$this_file.'log=true">Log file viewer / statistics</a>', |
'<br /><a class="default_a" href="'.$this_file.'edit_links=true&dir='.translate_uri($subdir).'">Links file editor</a>', |
'<br /><a class="default_a" href="'.$this_file.'edit_ban=true">Edit ban list</a></p>', |
'<p><a class="default_a" href="'.$this_file.'getcreate=true&dir='.translate_uri($subdir).'">Create a folder (in current directory)</a>', |
'<br /><a class="default_a" href="'.$this_file.'copyURL=true&dir='.translate_uri($subdir).'">Copy a remote file (to current directory)</a></p>'; |
} |
echo '<p><a class="default_a" href="', $this_file, |
'passwd=true">Change password</a><br /><a class="default_a" href="', $this_file, |
'logout=true">Log out [ ', $_SESSION['user'], ' ]</a></p></td></tr></table>'; |
} |
} |
echo '</td></tr></table>'; |
if ($allow_uploads && (!$use_login_system || logged_in())) |
{ |
echo "<form method='post' action='$this_file'> |
<input type='hidden' name='dir' value='$subdir' /> |
Upload <select size='1' name='numUpload'>"; |
for ($i=1; $i<=10; $i++) |
{ |
echo "\t<option>$i</option>\n"; |
} |
echo '</select> file(s) to this folder <input type="submit" value="Go" /></form>'; |
} |
if ($select_language) |
{ |
echo '<p style="text-align: left;">Select Language:</p>', |
"<form method='get' action='$this_file'><div><select name='lang'>"; |
$l = get_all_files($path_to_language_files); |
sort($l); |
for ($i=0; $i<count($l); $i++) |
{ |
if (@is_file($path_to_language_files.$l[$i]) && |
preg_match('/^[a-z]{2}(_[a-z]{2})?\.php$/i', $l[$i])) |
{ |
$f = substr(get_basename($l[$i]), 0, -4); |
$sel = (($f == $_SESSION['lang']) ? ' selected="selected"' : ''); |
echo "\t<option$sel>$f</option>\n"; |
} |
} |
echo '</select><input type="submit" value="Change" />'; |
if ($index != '' && strpos($index, '?') !== false) |
{ |
$id_temp = explode('=', $index, 2); |
$id_temp[0] = substr(strstr($id_temp[0], '?'), 1); |
echo "<input type='hidden' name='$id_temp[0]' value='$id_temp[1]' />"; |
} |
echo '</div></form>'; |
} |
show_footer(); |
//find time it took for the page to generate, in milliseconds |
$page_time = round((get_microtime() - $start_time) * 1000, 1); |
echo ' |
<!-- |
Powered by AutoIndex PHP Script (version '.VERSION.') |
Copyright (C) 2002-2005 Justin Hagstrom |
http://autoindex.sourceforge.net |
Page generated in ', $page_time, ' milliseconds. |
--> |
'; //We request that you retain the above copyright notice. |
if ($index == '') |
{ |
echo '</body></html>'; |
} |
?> |
/web/mujweb/AutoIndex/index_icons/apache/back.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/binary.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/binhex.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/cd.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/comp.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/compressed.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/dir.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/dll.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/doc.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/generic.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/image.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/java.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/js.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/key.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/login.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/mov.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/movie.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/new.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/pdf.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/php.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/ppt.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/ps.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/search.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/sound.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/tar.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/text.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/unknown.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/uu.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/web.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/apache/xls.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/back.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/binary.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/binhex.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/cd.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/comp.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/compressed.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/dir.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/dll.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/doc.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/generic.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/image.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/java.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/js.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/key.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/login.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/mov.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/movie.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/new.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/pdf.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/php.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/ppt.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/ps.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/search.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/sound.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/tar.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/text.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/unknown.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/uu.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/web.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/kde/xls.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/back.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/binary.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/binhex.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/cd.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/comp.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/compressed.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/dir.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/dll.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/doc.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/generic.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/image.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/java.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/js.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/key.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/login.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/mov.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/movie.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/new.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/pdf.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/php.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/ppt.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/ps.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/search.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/sound.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/tar.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/text.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/unknown.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/uu.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/web.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/osx/xls.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/back.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/binary.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/binhex.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/cd.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/comp.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/compressed.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/dir.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/dll.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/doc.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/generic.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/image.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/java.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/js.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/key.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/login.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/mov.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/movie.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/new.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/pdf.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/php.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/ppt.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/ps.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/search.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/sound.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/tar.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/text.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/unknown.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/uu.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/web.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/index_icons/winxp/xls.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/web/mujweb/AutoIndex/languages/al.php |
---|
0,0 → 1,30 |
<?php |
/* |
al.php |
Shqip - Albanian |
Translation by Laurent Dhima |
*/ |
$words = array( |
'index of' => 'Treguesi i', |
'parent directory' => 'Directory e Mësipërme', |
'file' => 'File', |
'size' => 'Madhësia', |
'modified' => 'Ndryshuar', |
'total size' => 'Madhësia gjithsej', |
'total files' => 'Gjithsej Files', |
'total folders' => 'Gjithsej Kartela', |
'search' => 'Kërko', |
'files' => 'Files', |
'folders' => 'Kartela', |
'both' => 'Gjithçka', |
'search results' => 'Rezultati i kërkimit', |
'no results' => 'NUK U GJET ASNJË REZULTAT', |
'end of results' => 'Fundi i kërkimit', |
'found' => 'gjetur', |
'upload' => 'Dërgo', |
'go' => 'Shko', |
'to this folder' => 'tek kjo kartelë'); |
?> |
/web/mujweb/AutoIndex/languages/bg.php |
---|
0,0 → 1,27 |
<?php |
/* |
bg.php |
Българска - Bulgarian |
Translation by thug@smrad.com |
*/ |
$words = array( |
'index of' => 'уЯДЯТЦБОЙЕ ОБ', |
'parent directory' => 'зМБЧОБ дЙТЕЛФПТЙС', |
'file' => 'жБКМ', |
'size' => 'зПМЕНЙОБ', |
'modified' => 'нПДЙЖЙГЙТБО', |
'total size' => 'пВЭ тБЪНЕТ', |
'total files' => 'пВЭП жБКМПЧЕ', |
'total folders' => 'пВЭП рБРЛЙ', |
'search' => 'фЯТУЙ', |
'files' => 'жБКМПЧЕ', |
'folders' => 'рБРЛЙ', |
'both' => 'оБЧУСЛЯДЕ', |
'search results' => 'тЕЪХМФБФЙ ПФ ФЯТУЕОЕФП', |
'no results' => 'оСНБ оБНЕТЕОЙ тЕЪХМФБФЙ', |
'end of results' => 'лТБК ОБ фЯТУЕОЕФП', |
'found' => 'оБНЕТЕОЙ'); |
?> |
/web/mujweb/AutoIndex/languages/ca.php |
---|
0,0 → 1,27 |
<?php |
/* |
ca.php |
Català - Catalan |
Translation by David Gimeno i Ayuso (info@sima-pc.com) |
*/ |
$words = array( |
'index of' => 'Índex de', |
'parent directory' => 'Directori anterior', |
'file' => 'Fitxer', |
'size' => 'Tamany', |
'modified' => 'Modificat', |
'total size' => 'Tamany total', |
'total files' => 'Total fitxers', |
'total folders' => 'Total carpetes', |
'search' => 'Cercar', |
'files' => 'Fitxers', |
'folders' => 'Carpetes', |
'both' => 'Ambdós', |
'search results' => 'Resultats cerca', |
'no results' => 'NO SE N\'HA TROBAT CAP', |
'end of results' => 'Final de cerca', |
'found' => 'trobat'); |
?> |
/web/mujweb/AutoIndex/languages/country_codes.php |
---|
0,0 → 1,293 |
<?php |
/*************************************************************************** |
AutoIndex PHP Script, by Justin Hagstrom |
------------------- |
filename : country_codes.php |
copyright : Copyright (C) 2002-2004 Justin Hagstrom |
license : GNU General Public License (GPL) |
website & forum : http://autoindex.sourceforge.net |
e-mail : JustinHagstrom [at] yahoo [dot] com |
AutoIndex PHP Script is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 2 of the License, or |
(at your option) any later version. |
AutoIndex PHP Script is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
You should have received a copy of the GNU General Public License |
along with this program; if not, write to the Free Software |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
***************************************************************************/ |
$country_codes = array( |
'af' => 'Afghanistan', |
'al' => 'Albania', |
'dz' => 'Algeria', |
'as' => 'American Samoa', |
'ad' => 'Andorra', |
'ao' => 'Angola', |
'ai' => 'Anguilla', |
'aq' => 'Antarctica', |
'ag' => 'Antigua and Barbuda', |
'ar' => 'Argentina', |
'am' => 'Armenia', |
'aw' => 'Aruba', |
'au' => 'Australia', |
'at' => 'Austria', |
'ax' => 'Ålang Islands', |
'az' => 'Azerbaidjan', |
'bs' => 'Bahamas', |
'bh' => 'Bahrain', |
'bd' => 'Banglades', |
'bb' => 'Barbados', |
'by' => 'Belarus', |
'be' => 'Belgium', |
'bz' => 'Belize', |
'bj' => 'Benin', |
'bm' => 'Bermuda', |
'bo' => 'Bolivia', |
'ba' => 'Bosnia-Herzegovina', |
'bw' => 'Botswana', |
'bv' => 'Bouvet Island', |
'br' => 'Brazil', |
'io' => 'British Indian O. Terr.', |
'bn' => 'Brunei Darussalam', |
'bg' => 'Bulgaria', |
'bf' => 'Burkina Faso', |
'bi' => 'Burundi', |
'bt' => 'Buthan', |
'kh' => 'Cambodia', |
'cm' => 'Cameroon', |
'ca' => 'Canada', |
'cv' => 'Cape Verde', |
'ky' => 'Cayman Islands', |
'cf' => 'Central African Rep.', |
'td' => 'Chad', |
'cl' => 'Chile', |
'cn' => 'China', |
'cx' => 'Christmas Island', |
'cc' => 'Cocos (Keeling) Isl.', |
'co' => 'Colombia', |
'km' => 'Comoros', |
'cg' => 'Congo', |
'ck' => 'Cook Islands', |
'cr' => 'Costa Rica', |
'hr' => 'Croatia', |
'cu' => 'Cuba', |
'cy' => 'Cyprus', |
'cz' => 'Czech Republic', |
'cs' => 'Czechoslovakia', |
'dk' => 'Denmark', |
'dj' => 'Djibouti', |
'dm' => 'Dominica', |
'do' => 'Dominican Republic', |
'tp' => 'East Timor', |
'ec' => 'Ecuador', |
'eg' => 'Egypt', |
'sv' => 'El Salvador', |
'gq' => 'Equatorial Guinea', |
'ee' => 'Estonia', |
'et' => 'Ethiopia', |
'fk' => 'Falkland Isl. (UK)', |
'fo' => 'Faroe Islands', |
'fj' => 'Fiji', |
'fi' => 'Finland', |
'fr' => 'France', |
'fx' => 'France (European Terr.)', |
'tf' => 'French Southern Terr.', |
'ga' => 'Gabon', |
'gm' => 'Gambia', |
'ge' => 'Georgia', |
'de' => 'Germany', |
'gh' => 'Ghana', |
'gi' => 'Gibraltar', |
'gb' => 'Great Britain (UK)', |
'gr' => 'Greece', |
'gl' => 'Greenland', |
'gd' => 'Grenada', |
'gp' => 'Guadeloupe (Fr)', |
'gu' => 'Guam (US)', |
'gt' => 'Guatemala', |
'gn' => 'Guinea', |
'gw' => 'Guinea Bissau', |
'gy' => 'Guyana', |
'gf' => 'Guyana (Fr)', |
'ht' => 'Haiti', |
'hm' => 'Heard & McDonald Isl.', |
'hn' => 'Honduras', |
'hk' => 'Hong Kong', |
'hu' => 'Hungary', |
'is' => 'Iceland', |
'in' => 'India', |
'id' => 'Indonesia', |
'ir' => 'Iran', |
'iq' => 'Iraq', |
'ie' => 'Ireland', |
'il' => 'Israel', |
'it' => 'Italy', |
'ci' => 'Ivory Coast', |
'jm' => 'Jamaica', |
'jp' => 'Japan', |
'jo' => 'Jordan', |
'kz' => 'Kazachstan', |
'ke' => 'Kenya', |
'kg' => 'Kirgistan', |
'ki' => 'Kiribati', |
'kp' => 'North Korea', |
'kr' => 'South Korea', |
'kw' => 'Kuwait', |
'la' => 'Laos', |
'lv' => 'Latvia', |
'lb' => 'Lebanon', |
'ls' => 'Lesotho', |
'lr' => 'Liberia', |
'ly' => 'Libya', |
'li' => 'Liechtenstein', |
'lt' => 'Lithuania', |
'lu' => 'Luxembourg', |
'mo' => 'Macau', |
'mg' => 'Madagascar', |
'mw' => 'Malawi', |
'my' => 'Malaysia', |
'mv' => 'Maldives', |
'ml' => 'Mali', |
'mt' => 'Malta', |
'mh' => 'Marshall Islands', |
'mk' => 'Macedonia', |
'mq' => 'Martinique (Fr.)', |
'mr' => 'Mauritania', |
'mu' => 'Mauritius', |
'mx' => 'Mexico', |
'fm' => 'Micronesia', |
'md' => 'Moldavia', |
'mc' => 'Monaco', |
'mn' => 'Mongolia', |
'ms' => 'Montserrat', |
'ma' => 'Morocco', |
'mz' => 'Mozambique', |
'mm' => 'Myanmar', |
'na' => 'Namibia', |
'nr' => 'Nauru', |
'np' => 'Nepal', |
'an' => 'Netherland Antilles', |
'nl' => 'Netherlands', |
'nt' => 'Neutral Zone', |
'nc' => 'New Caledonia (Fr.)', |
'nz' => 'New Zealand', |
'ni' => 'Nicaragua', |
'ne' => 'Niger', |
'ng' => 'Nigeria', |
'nu' => 'Niue', |
'nf' => 'Norfolk Island', |
'mp' => 'Northern Mariana Isl.', |
'no' => 'Norway', |
'om' => 'Oman', |
'pk' => 'Pakistan', |
'pw' => 'Palau', |
'pa' => 'Panama', |
'pg' => 'Papua New Guinea', |
'py' => 'Paraguay', |
'pe' => 'Peru', |
'ph' => 'Philippines', |
'pn' => 'Pitcairn', |
'pl' => 'Poland', |
'pf' => 'Polynesia (Fr.)', |
'pt' => 'Portugal', |
'pr' => 'Puerto Rico (US)', |
'qa' => 'Qatar', |
're' => 'Réunion (Fr.)', |
'ro' => 'Romania', |
'ru' => 'Russian Federation', |
'rw' => 'Rwanda', |
'lc' => 'Saint Lucia', |
'ws' => 'Samoa', |
'sm' => 'San Marino', |
'sa' => 'Saudi Arabia', |
'sn' => 'Senegal', |
'sc' => 'Seychelles', |
'sl' => 'Sierra Leone', |
'sg' => 'Singapore', |
'sk' => 'Slovak Republic', |
'si' => 'Slovenia', |
'sb' => 'Solomon Islands', |
'so' => 'Somalia', |
'za' => 'South Africa', |
'su' => 'Soviet Union', |
'es' => 'Spain', |
'lk' => 'Sri Lanka', |
'sh' => 'St. Helena', |
'pm' => 'St. Pierre & Miquelon', |
'st' => 'St. Tome and Principe', |
'kn' => 'St. Kitts Nevis Anguilla', |
'vc' => 'St. Vincent & Grenadines', |
'sd' => 'Sudan', |
'sr' => 'Suriname', |
'sj' => 'Svalbard & Jan Mayen Isl.', |
'sz' => 'Swaziland', |
'se' => 'Sweden', |
'ch' => 'Switzerland', |
'sy' => 'Syria', |
'tj' => 'Tadjikistan', |
'tw' => 'Taiwan', |
'tz' => 'Tanzania', |
'th' => 'Thailand', |
'tg' => 'Togo', |
'tk' => 'Tokelau', |
'to' => 'Tonga', |
'tt' => 'Trinidad & Tobago', |
'tn' => 'Tunisia', |
'tr' => 'Turkey', |
'tm' => 'Turkmenistan', |
'tc' => 'Turks & Caicos Islands', |
'tv' => 'Tuvalu', |
'ug' => 'Uganda', |
'ua' => 'Ukraine', |
'ae' => 'United Arab Emirates', |
'uk' => 'United Kingdom', |
'us' => 'United States', |
'uy' => 'Uruguay', |
'um' => 'US Minor outlying Isl.', |
'uz' => 'Uzbekistan', |
'vu' => 'Vanuatu', |
'va' => 'Vatican City State', |
've' => 'Venezuela', |
'vn' => 'Vietnam', |
'vg' => 'Virgin Islands (British)', |
'vi' => 'Virgin Islands (US)', |
'wf' => 'Wallis & Futuna Islands', |
'wlk' => 'Wales', |
'eh' => 'Western Sahara', |
'ye' => 'Yemen', |
'yu' => 'Yugoslavia', |
'zr' => 'Zaire', |
'zm' => 'Zambia', |
'zw' => 'Zimbabwe', |
'mil' => 'United States Military', |
'gov' => 'United States Government', |
'com' => 'Commercial', |
'net' => 'Network', |
'org' => 'Non-Profit Organization', |
'edu' => 'Educational', |
'int' => 'International', |
'aero' => 'Air Transport Industry', |
'biz' => 'Businesses', |
'coop' => 'Non-profit cooperatives', |
'arpa' => 'Arpanet', |
'info' => 'Info', |
'name' => 'Name', |
'nato' => 'Nato', |
'museum' => 'Museum', |
'pro' => 'Pro' |
); |
?> |
/web/mujweb/AutoIndex/languages/cz.php |
---|
0,0 → 1,27 |
<?php |
/* |
cz.php |
Cesky - Czech |
Translation by Vasek Purchart |
*/ |
$words = array( |
'index of' => 'Seznam', |
'parent directory' => 'Nadrazeny adresar', |
'file' => 'Soubor', |
'size' => 'Velikost', |
'modified' => 'Upraveny', |
'total size' => 'Celokva velikost', |
'total files' => 'Celkem souboru', |
'total folders' => 'Celkem slozek', |
'search' => 'Search', |
'files' => 'Soubory', |
'folders' => 'Slozka', |
'both' => 'Oba', |
'search results' => 'Vysledky vyhledavani', |
'no results' => 'Nenalezeny zadne vysledky', |
'end of results' => 'Konec vyhledavani', |
'found' => 'Nalezeno'); |
?> |
/web/mujweb/AutoIndex/languages/da.php |
---|
0,0 → 1,27 |
<?php |
/* |
da.php |
Dansk - Danish |
Translation by Lars Dyrelund |
*/ |
$words = array( |
'index of' => 'Indhold af', |
'parent directory' => 'Niveau op', |
'file' => 'Fil', |
'size' => 'Størrelse', |
'modified' => 'Ændret', |
'total size' => 'Total størrelse', |
'total files' => 'Total antal filer', |
'total folders' => 'Total antal mapper', |
'search' => 'Søg', |
'files' => 'Filer', |
'folders' => 'Mapper', |
'both' => 'Begge', |
'search results' => 'Resultat af søgning', |
'no results' => 'INGEN RESULTATER', |
'end of results' => 'Ikke flere resultater', |
'found' => 'fundet'); |
?> |
/web/mujweb/AutoIndex/languages/de.php |
---|
0,0 → 1,28 |
<?php |
/* |
de.php |
Deutsch - German |
Translation by "DazClimax" |
Updated by "tagdancer" |
*/ |
$words = array( |
'index of' => 'Index von', |
'parent directory' => 'Übergeordnetes Verzeichnis', |
'file' => 'Datei', |
'size' => 'Grösse', |
'modified' => 'Geändert', |
'total size' => 'Gesamtgrösse', |
'total files' => 'Gesamtdateien', |
'total folders' => 'Gesamtverzeichnisse', |
'search' => 'Suchen', |
'files' => 'Dateien', |
'folders' => 'Verzeichnisse', |
'both' => 'Beide', |
'search results' => 'Suchergebnisse', |
'no results' => 'KEIN ERGEBNIS GEFUNDEN', |
'end of results' => 'Ende der Suche', |
'found' => 'gefunden'); |
?> |
/web/mujweb/AutoIndex/languages/ee.php |
---|
0,0 → 1,27 |
<?php |
/* |
ee.php |
Eesti - Estonian |
Translation by W. District |
*/ |
$words = array( |
'index of' => 'Dokumendiloetelu', |
'parent directory' => 'Peakataloog', |
'file' => 'Dokument', |
'size' => 'Suurus', |
'modified' => 'Muudetud', |
'total size' => 'Suurus kokku', |
'total files' => 'Dokumente kokku', |
'total folders' => 'Katalooge kokku', |
'search' => 'Otsi', |
'files' => 'Dokumenti', |
'folders' => 'Kataloogi', |
'both' => 'Mõlemad', |
'search results' => 'Otsingu tulemused', |
'no results' => 'Tulemusteta', |
'end of results' => 'Otsingu lõpp', |
'found' => 'leitud'); |
?> |
/web/mujweb/AutoIndex/languages/en.php |
---|
0,0 → 1,26 |
<?php |
/* |
en.php |
English |
*/ |
$words = array( |
'index of' => 'Index of', |
'parent directory' => 'Parent Directory', |
'file' => 'File', |
'size' => 'Size', |
'modified' => 'Modified', |
'total size' => 'Total size', |
'total files' => 'Total files', |
'total folders' => 'Total folders', |
'search' => 'Search', |
'files' => 'Files', |
'folders' => 'Folders', |
'both' => 'Both', |
'search results' => 'Search results', |
'no results' => 'NO RESULTS FOUND', |
'end of results' => 'End of search', |
'found' => 'found'); |
?> |
/web/mujweb/AutoIndex/languages/eo.php |
---|
0,0 → 1,27 |
<?php |
/* |
eo.php |
Esperanto |
Traduktita de Cristian Guajardo Y. <cgware@gmail.com> |
*/ |
$words = array( |
'index of' => 'Indekso de', |
'parent directory' => 'Supra dosierujo', |
'file' => 'Dosiero', |
'size' => 'Grando', |
'modified' => 'Modifikita', |
'total size' => 'Totala grando', |
'total files' => 'Totalaj dosieroj', |
'total folders' => 'Totalaj dosierujoj', |
'search' => 'Serĉo', |
'files' => 'Dosieroj', |
'folders' => 'Dosierujoj', |
'both' => 'Ambaŭ', |
'search results' => 'Rezultoj de la serĉo', |
'no results' => 'NENIU REZULTO ESTIS TROVITA', |
'end of results' => 'Fino de la serĉo', |
'found' => 'trovitaj'); |
?> |
/web/mujweb/AutoIndex/languages/es.php |
---|
0,0 → 1,27 |
<?php |
/* |
es.php |
Español - Spanish |
Translation by Alan Mizrahi <alan@ldc.usb.ve> |
*/ |
$words = array( |
'index of' => 'Índice de', |
'parent directory' => 'Directorio Superior', |
'file' => 'Archivo', |
'size' => 'Tamaño', |
'modified' => 'Modificado', |
'total size' => 'Tamaño total', |
'total files' => 'Archivos totales', |
'total folders' => 'Directorios totales', |
'search' => 'Búsqueda', |
'files' => 'Archivos', |
'folders' => 'Directorios', |
'both' => 'Ambos', |
'search results' => 'Resultados de la búsqueda', |
'no results' => 'NO SE HAN ENCONTRADO RESULTADOS', |
'end of results' => 'Fin de la búsqueda', |
'found' => 'encontrados'); |
?> |
/web/mujweb/AutoIndex/languages/fi.php |
---|
0,0 → 1,27 |
<?php |
/* |
fi.php |
Suomi - Finnish |
Translation by Daniel Schildt (autiomaa.org) |
*/ |
$words = array( |
'index of' => 'Tiedostolistaus', |
'parent directory' => 'Ylempi hakemisto', |
'file' => 'Tiedosto', |
'size' => 'Koko', |
'modified' => 'Muokattu', |
'total size' => 'Koko yhteensä', |
'total files' => 'Tiedostoja yhteensä', |
'total folders' => 'Hakemistoja yhteensä', |
'search' => 'Hae', |
'files' => 'Tiedostoa', |
'folders' => 'Hakemistoa', |
'both' => 'Kumpaakin', |
'search results' => 'Hakutulokset', |
'no results' => 'EI TULOKSIA LÖYDETTY', |
'end of results' => 'Haun loppu', |
'found' => 'löydetty'); |
?> |
/web/mujweb/AutoIndex/languages/fr.php |
---|
0,0 → 1,27 |
<?php |
/* |
fr.php |
Français - French |
Translation by Pierre Lesbazeilles |
*/ |
$words = array( |
'index of' => 'Chemin', |
'parent directory' => 'Dossier Parent', |
'file' => 'Fichier', |
'size' => 'Taille', |
'modified' => 'Modifié', |
'total size' => 'Taille totale', |
'total files' => 'Nombre de fichiers', |
'total folders' => 'Nombre de dossiers', |
'search' => 'Rechercher', |
'files' => 'Fichiers', |
'folders' => 'Dossiers', |
'both' => 'Les deux', |
'search results' => 'Résultat de la recherche', |
'no results' => 'Pas de résultat', |
'end of results' => 'Fin de la recherche', |
'found' => 'trouvé'); |
?> |
/web/mujweb/AutoIndex/languages/gr.php |
---|
0,0 → 1,27 |
<?php |
/* |
gr.php |
Ελληνικά - Greek |
Translation by Dimitris Koukoravas |
*/ |
$words = array( |
'index of' => 'Λίστα του', |
'parent directory' => 'Προηγούμενο Κατάλογο', |
'file' => 'Αρχεία', |
'size' => 'Μέγεθος', |
'modified' => 'Επεξεργάστηκε', |
'total size' => 'Ολικό Μέγεθος', |
'total files' => 'Ολικά Αρχεία', |
'total folders' => 'Ολικοί Φάκελοι', |
'search' => 'Ψάξε', |
'files' => 'Αρχεία', |
'folders' => 'Φάκελοι', |
'both' => 'Και τα 2', |
'search results' => 'Αποτελέσματα Ψαξήματος', |
'no results' => 'ΔΕΝ ΒΡΈΘΗΚΑΝ ΑΠΟΤΕΛΕΣΜΑΤΑ', |
'end of results' => 'Τέλος Ψαξήματος', |
'found' => 'Βρέθηκαν'); |
?> |
/web/mujweb/AutoIndex/languages/he.php |
---|
0,0 → 1,27 |
<?php |
/* |
he.php |
עיברית - Hebrew |
Translated by "Shlomi Tolpoler - www.topler.de.vu" |
*/ |
$words = array( |
'index of' => 'אינדקס של', |
'parent directory' => 'תיקיה ראשית', |
'file' => 'שם הקובץ', |
'size' => 'גודל הקובץ', |
'modified' => 'שינוי האחרון', |
'total size' => 'סהכ גודל', |
'total files' => 'סהכ קבצים', |
'total folders' => 'סהכ תיקיות', |
'search' => 'חפוש', |
'files' => 'קבצים', |
'folders' => 'תיקיות', |
'both' => 'שניהם', |
'search results' => 'תוצאות החיפוש', |
'no results' => 'אין תוצאות החיפוש', |
'end of results' => 'סוף החיפוש', |
'found' => 'נמצאו'); |
?> |
/web/mujweb/AutoIndex/languages/hu.php |
---|
0,0 → 1,27 |
<?php |
/* |
hu.php |
Magyar - Hungarian |
Translation by crash2@freemail.hu and "Blaize" |
*/ |
$words = array( |
'index of' => 'Könyvtár', |
'parent directory' => 'Feljebb', |
'file' => 'Fájl', |
'size' => 'Méret', |
'modified' => 'Dátum', |
'total size' => 'Összes méret', |
'total files' => 'Összes file', |
'total folders' => 'Összes könyvtár', |
'search' => 'Keres', |
'files' => 'Fájl', |
'folders' => 'Könyvtár', |
'both' => 'Mind', |
'search results' => 'Keresés eredménye', |
'no results' => 'NINCS TALÁLAT', |
'end of results' => 'Keresés vége', |
'found' => 'találat'); |
?> |
/web/mujweb/AutoIndex/languages/is.php |
---|
0,0 → 1,27 |
<?php |
/* |
is.php |
Íslenska - Icelandic |
Translation by "KinD" |
*/ |
$words = array( |
'index of' => 'Efnisyfirlit af', |
'parent directory' => 'Til baka', |
'file' => 'Skrár', |
'size' => 'Stærð', |
'modified' => 'Breytt', |
'total size' => 'Heildar Stærð', |
'total files' => 'Heildar Skrár', |
'total folders' => 'Heildar möppur', |
'search' => 'Leita af', |
'files' => 'Skrár', |
'folders' => 'Möppur', |
'both' => 'Bæði', |
'search results' => 'Þetta Fannst', |
'no results' => 'EKKERT FANNST', |
'end of results' => 'Leit hætt', |
'found' => 'fundust'); |
?> |
/web/mujweb/AutoIndex/languages/it.php |
---|
0,0 → 1,30 |
<?php |
/* |
it.php |
Italiano - Italian |
Translation by "Sharko" and Fabrizio De Santis |
*/ |
$words = array( |
'index of' => 'Indice di', |
'parent directory' => 'Directory Superiore', |
'file' => 'File', |
'size' => 'Dimensione', |
'modified' => 'Modificato', |
'total size' => 'Dimensione totale', |
'total files' => 'Files totali', |
'total folders' => 'Cartelle totali', |
'search' => 'Cerca', |
'files' => 'Files', |
'folders' => 'Cartelle', |
'both' => 'Tutto', |
'search results' => 'Risultati della ricerca', |
'no results' => 'NESSUN RISULTATO TROVATO', |
'end of results' => 'Fine della ricerca', |
'found' => 'trovati', |
'upload' => 'Manda', |
'go' => 'Vai', |
'to this folder' => 'in questa cartella'); |
?> |
/web/mujweb/AutoIndex/languages/it2.php |
---|
0,0 → 1,30 |
<?php |
/* |
it.php |
Italiano - Italian |
Translation by *.bLLy |
*/ |
$words = array( |
'index of' => 'Contenuto di', |
'parent directory' => 'Directory Superiore', |
'file' => 'File', |
'size' => 'Dimensione', |
'modified' => 'Modificato', |
'total size' => 'Dimensione totale', |
'total files' => 'Totale Files', |
'total folders' => 'Totale Cartelle', |
'search' => 'Cerca', |
'files' => 'Files', |
'folders' => 'Cartelle', |
'both' => 'Entrambi', |
'search results' => 'Risultati della ricerca', |
'no results' => 'SPIACENTE, LA RICERCA NON HA DATO RISULTATI', |
'end of results' => 'Fine dei risultati', |
'found' => 'trovati', |
'upload' => 'Carica', |
'go' => 'Vai', |
'to this folder' => 'a questa cartella'); |
?> |
/web/mujweb/AutoIndex/languages/jp.php |
---|
0,0 → 1,27 |
<?php |
/* |
jp.php |
日本語 - Japanese |
Translation by "rainier" |
*/ |
$words = array( |
'index of' => '目次', |
'parent directory' => '親ディレクトリ', |
'file' => 'ファイル', |
'size' => 'サイズ', |
'modified' => '更新日時', |
'total size' => '合計サイズ', |
'total files' => '合計ファイル数', |
'total folders' => '合計フォルダ数', |
'search' => '検索', |
'files' => 'ファイル', |
'folders' => 'フォルダ', |
'both' => '両方', |
'search results' => '検索結果', |
'no results' => '見つかりません', |
'end of results' => '検索結果の最後', |
'found' => '見つかりました'); |
?> |
/web/mujweb/AutoIndex/languages/ko.php |
---|
0,0 → 1,27 |
<?php |
/* |
ko.php |
한국어 - Korean |
Translation by "Pandix" |
*/ |
$words = array( |
'index of' => 'Index of', |
'parent directory' => '상위 디렉터리', |
'file' => '파일', |
'size' => '크기', |
'modified' => '파일', |
'total size' => '전체 크기', |
'total files' => '전체 파일', |
'total folders' => '전체 폴더', |
'search' => '검색', |
'files' => '파일', |
'folders' => '폴더', |
'both' => '모두', |
'search results' => '검색 결과', |
'no results' => '검색 결과가 없습니다', |
'end of results' => '검색 끝', |
'found' => '개 찾았습니다'); |
?> |
/web/mujweb/AutoIndex/languages/lt.php |
---|
0,0 → 1,27 |
<?php |
/* |
lt.php |
Lietuviø - Lithuanian |
Translation by Darius Kasperavièius (verslo@centras.lt) |
*/ |
$words = array( |
'index of' => 'Turinys:', |
'parent directory' => 'Aukðtesnis katalogas', |
'file' => 'Byla', |
'size' => 'Dydis', |
'modified' => 'Taisyta', |
'total size' => 'Dydis ið viso', |
'total files' => 'Ið viso bylø', |
'total folders' => 'Ið viso katalogø', |
'search' => 'Paieðka', |
'files' => 'Bylos', |
'folders' => 'Katalogai', |
'both' => 'Abu', |
'search results' => 'Paieðkos rezultatai', |
'no results' => 'rezultatø nreasta', |
'end of results' => 'Paieðkos pabaiga', |
'found' => 'rasta'); |
?> |
/web/mujweb/AutoIndex/languages/lv.php |
---|
0,0 → 1,27 |
<?php |
/* |
lv.php |
Latvieðu - Latvian |
Translation by Arnis Rugâjs (arnis@mediaservice.lv) |
*/ |
$words = array( |
'index of' => 'Mape:', |
'parent directory' => 'Augšup', |
'file' => 'Fails', |
'size' => 'Izmērs', |
'modified' => 'Datums', |
'total size' => 'Kopējais apjoms', |
'total files' => 'Faili kopā', |
'total folders' => 'Mapes kopā', |
'search' => 'Meklēt', |
'files' => 'Faili', |
'folders' => 'Mapes', |
'both' => 'Abos', |
'search results' => 'Meklēšanas rezultāti', |
'no results' => 'NAV NEKAS ATRASTS', |
'end of results' => 'Meklēšanas beigas', |
'found' => 'atrasti'); |
?> |
/web/mujweb/AutoIndex/languages/ms.php |
---|
0,0 → 1,27 |
<?php |
/* |
ms.php |
Melayu - Malay |
Translation by Haji Keropok |
*/ |
$words = array( |
'index of' => 'Indeks utk', |
'parent directory' => 'Direktori Utama', |
'file' => 'Fail', |
'size' => 'Saiz', |
'modified' => 'Diubahsuai', |
'total size' => 'Jumlah saiz', |
'total files' => 'Jumlah fail', |
'total folders' => 'Jumlah folders', |
'search' => 'Carian', |
'files' => 'Fail', |
'folders' => 'Folders', |
'both' => 'Both', |
'search results' => 'Keputusan carian', |
'no results' => 'TIADA CARIAN DIJUMPAI', |
'end of results' => 'Carian terakhir', |
'found' => 'jumpa'); |
?> |
/web/mujweb/AutoIndex/languages/nl.php |
---|
0,0 → 1,27 |
<?php |
/* |
nl.php |
Nederlands - Dutch |
Translation by Tom Buskens |
*/ |
$words = array( |
'index of' => 'Inhoud van', |
'parent directory' => 'Omhoog', |
'file' => 'Bestand', |
'size' => 'Grootte', |
'modified' => 'Laatst aangepast', |
'total size' => 'Totale grootte', |
'total files' => 'Totaal aantal bestanden', |
'total folders' => 'Total aantal mappen', |
'search' => 'Zoeken', |
'files' => 'Bestanden', |
'folders' => 'Mappen', |
'both' => 'Beide', |
'search results' => 'Zoekresultaten', |
'no results' => 'GEEN RESULTATEN GEVONDEN', |
'end of results' => 'Einde resultaten', |
'found' => 'gevonden'); |
?> |
/web/mujweb/AutoIndex/languages/no.php |
---|
0,0 → 1,27 |
<?php |
/* |
no.php |
Norsk - Norwegian |
Translation by Kristian Hansen |
*/ |
$words = array( |
'index of' => 'Innhold av', |
'parent directory' => 'Nivå opp', |
'file' => 'Fil', |
'size' => 'Størrelse', |
'modified' => 'Endret', |
'total size' => 'Total størrelse', |
'total files' => 'Total antall filer', |
'total folders' => 'Total antall mapper', |
'search' => 'Søk', |
'files' => 'Filer', |
'folders' => 'Mapper', |
'both' => 'Begge', |
'search results' => 'Resultat af søking', |
'no results' => 'INGEN RESULTATER', |
'end of results' => 'Ikke flere resultater', |
'found' => 'funnet'); |
?> |
/web/mujweb/AutoIndex/languages/pl.php |
---|
0,0 → 1,27 |
<?php |
/* |
pl.php |
Polski - Polish |
Translation by Krzysztof Kopeæ |
*/ |
$words = array( |
'index of' => 'Index of', |
'parent directory' => 'Katalog macierzysty', |
'file' => 'Nazwa zbioru', |
'size' => 'Rozmiar', |
'modified' => 'Modyfikowany', |
'total size' => 'Cakowity rozmiar', |
'total files' => 'Iloæ plików', |
'total folders' => 'Iloæ Katalogów', |
'search' => 'Szukaj', |
'files' => 'Plik', |
'folders' => 'Katalog', |
'both' => 'Oba', |
'search results' => 'Rezultat szukania', |
'no results' => 'BRAK REZULTATÓW PRZESZUKIWANIA', |
'end of results' => 'Koniec przeszukiwania', |
'found' => 'znaleziono'); |
?> |
/web/mujweb/AutoIndex/languages/pt_BR.php |
---|
0,0 → 1,27 |
<?php |
/* |
pt_BR.php |
Brazilian Portuguese |
Translation by Hugo Cisneiros |
*/ |
$words = array( |
'index of' => 'Índice de', |
'parent directory' => 'Diretãrio Pai', |
'file' => 'Arquivo', |
'size' => 'Tamanho', |
'modified' => 'Modificado', |
'total size' => 'Tamanho total', |
'total files' => 'Total de arquivos', |
'total folders' => 'Total de pastas', |
'search' => 'Procurar', |
'files' => 'Arquivos', |
'folders' => 'Pastas', |
'both' => 'Ambos', |
'search results' => 'Resultados da Busca', |
'no results' => 'NENHUM RESULTADO ENCONTRADO', |
'end of results' => 'Fim da busca', |
'found' => 'achados'); |
?> |
/web/mujweb/AutoIndex/languages/ro.php |
---|
0,0 → 1,27 |
<?php |
/* |
ro.php |
Românã - Romanian |
Translation by BuGsY (streetlaw@as.ro) |
*/ |
$words = array( |
'index of' => 'Indice la', |
'parent directory' => 'Director Superior', |
'file' => 'Fisier', |
'size' => 'Marime', |
'modified' => 'Modificat', |
'total size' => 'Dimensiune totala', |
'total files' => 'Fisiere totale', |
'total folders' => 'Foldere totale', |
'search' => 'Cauta', |
'files' => 'Fisiere', |
'folders' => 'Foldere', |
'both' => 'Ambele', |
'search results' => 'Rezultatele cautari', |
'no results' => 'CAUTARE FARA REZULTATE', |
'end of results' => 'Sfarsitul rezultatelor', |
'found' => 'rezultat(e)'); |
?> |
/web/mujweb/AutoIndex/languages/ru.php |
---|
0,0 → 1,27 |
<?php |
/* |
ru.php |
Русский - Russian |
Translation by masterr15@ukr.net |
*/ |
$words = array( |
'index of' => 'Индекс', |
'parent directory' => 'Родительская директория', |
'file' => 'Файл', |
'size' => 'Объём', |
'modified' => 'Изменён', |
'total size' => 'Полный объём', |
'total files' => 'Всего файлов', |
'total folders' => 'Всего папок', |
'search' => 'Поиск', |
'files' => 'Файлы', |
'folders' => 'Папки', |
'both' => 'Оба', |
'search results' => 'Результаты поиска', |
'no results' => 'Поиск не дал результатов', |
'end of results' => 'Конец поиска', |
'found' => 'Найдено'); |
?> |
/web/mujweb/AutoIndex/languages/sr_CY.php |
---|
0,0 → 1,27 |
<?php |
/* |
sr_CY.php |
Serbian (Cyrillic) |
Translated by Petar Benke, benke verat net |
*/ |
$words = array( |
'index of' => 'ÁÐÔàÖÐø', |
'parent directory' => 'ÝØÒÞ ÓÞàÕ', |
'file' => 'ÝÐ×ØÒ', |
'size' => 'ÒÕÛØçØÝÐ', |
'modified' => 'ÔÐâãÜ', |
'total size' => 'ãÚãßÝÐ ÒÕÛØçØÝÐ', |
'total files' => 'ãÚãßÝÞ ÔÐâÞâÕÚÐ', |
'total folders' => 'ãÚãßÝÞ ÔØàÕÚâÞàØøãÜÐ', |
'search' => '¿àÕâàÐÖØÒÐúÕ', |
'files' => 'ÔÐâÞâÕÚÐ', |
'folders' => 'ÔØàÕÚâÞàØøãÜÐ', |
'both' => 'Ø øÕÔÝÞ Ø ÔàãÓÞ', |
'search results' => 'ÀÕ×ãÛâÐâ ßàÕâàÐÖØÒÐúÐ', |
'no results' => '¶ÐÛØÜ, ÝØèâÐ ÝØøÕ ÝÐòÕÝÞ', |
'end of results' => '¿àÕâàÖØÒÐúÕ øÕ ÞÚÞÝçÐÝÞ', |
'found' => 'ÝÐòÕÝÞ'); |
?> |
/web/mujweb/AutoIndex/languages/sr_LA.php |
---|
0,0 → 1,27 |
<?php |
/* |
sr_LA.php |
Serbian (Latin) |
Translated by Petar Benke, benke verat net |
*/ |
$words = array( |
'index of' => 'Sadr¾aj', |
'parent directory' => 'nivo gore', |
'file' => 'naziv', |
'size' => 'velièina', |
'modified' => 'datum', |
'total size' => 'ukupna velièina', |
'total files' => 'ukupno datoteka', |
'total folders' => 'ukupno direktorijuma', |
'search' => 'Pretra¾ivanje', |
'files' => 'datoteka', |
'folders' => 'direktorijuma', |
'both' => 'i jedno i drugo', |
'search results' => 'Rezultat pretra¾ivanja', |
'no results' => '¾alim, ni¹ta nije naðeno', |
'end of results' => 'Pretra¾ivanje je okonèano', |
'found' => 'naðeno'); |
?> |
/web/mujweb/AutoIndex/languages/sv.php |
---|
0,0 → 1,27 |
<?php |
/* |
sv.php |
Svenska - Swedish |
Translation by Christian Lilja |
*/ |
$words = array( |
'index of' => 'Innehåll', |
'parent directory' => 'Upp en nivå', |
'file' => 'Fil', |
'size' => 'Storlek', |
'modified' => 'Modifierad', |
'total size' => 'Total storlek', |
'total files' => 'Totalt antal filer', |
'total folders' => 'Totalt antal katalogerr', |
'search' => 'Sök', |
'files' => 'Filer', |
'folders' => 'Mappar', |
'both' => 'Båda', |
'search results' => 'Sök resultat', |
'no results' => 'INGA RESULTAT FUNNA', |
'end of results' => 'Avslutad sökning', |
'found' => 'hittad'); |
?> |
/web/mujweb/AutoIndex/languages/th.php |
---|
0,0 → 1,27 |
<?php |
/* |
th.php |
ไทย - Thai |
Translation by "MaXZerker" |
*/ |
$words = array( |
'index of' => 'ดัชนี ของ', |
'parent directory' => 'ไดเร็กโทรี่ ก่อนหน้า', |
'file' => 'ไฟล์', |
'size' => 'ขนาด', |
'modified' => 'แก้ใข', |
'total size' => 'ขนาด ทั้งหมด', |
'total files' => 'ไฟล์ ทั้งหมด', |
'total folders' => 'โฟลเดอร์ ทั้งหมด', |
'search' => 'ค้นหา', |
'files' => 'ไฟล์', |
'folders' => 'โฟลเดอร์', |
'both' => 'ทั่งคู้', |
'search results' => 'ผลการค้นหา', |
'no results' => 'ค้นหาไม่พบ', |
'end of results' => 'จบการค้นหา', |
'found' => 'พบ'); |
?> |
/web/mujweb/AutoIndex/languages/tr.php |
---|
0,0 → 1,27 |
<?php |
/* |
tr.php |
Türkçe - Turkish |
Translation by Sinan Keskýn |
*/ |
$words = array( |
'index of' => 'Ýçindekiler', |
'parent directory' => 'Ana Dizin', |
'file' => 'Dosya', |
'size' => 'Boyut', |
'modified' => 'Deðiþtirilme', |
'total size' => 'Toplam boyut', |
'total files' => 'Toplam dosya', |
'total folders' => 'Toplam klasör', |
'search' => 'Arama', |
'files' => 'Dosya', |
'folders' => 'Klasör', |
'both' => 'Her Ýkiside', |
'search results' => 'Arama Sonuçlarý', |
'no results' => 'SONUÇ BULUNAMADI', |
'end of results' => 'Aramanýn sonu', |
'found' => 'bulundu'); |
?> |
/web/mujweb/AutoIndex/languages/vi.php |
---|
0,0 → 1,26 |
<?php |
/* |
vi.php |
Tiếng Việt - Vietnamese |
*/ |
$words = array( |
'index of' => 'Index of', |
'parent directory' => 'Thư mục cha', |
'file' => 'Tập tin', |
'size' => 'Kích thước', |
'modified' => 'Đã hiệu chỉnh', |
'total size' => 'Tổng dung lượng', |
'total files' => 'Tập tin', |
'total folders' => 'Thư mục', |
'search' => 'Tìm kiếm', |
'files' => 'Tập tin', |
'folders' => 'Thư mục', |
'both' => 'Cả hai lọai', |
'search results' => 'Kết quả tìm kiếm', |
'no results' => 'Tìm kiếm không có kết quả', |
'end of results' => 'Kết thúc việc tìm kiếm', |
'found' => 'Tìm thấy'); |
?> |
/web/mujweb/AutoIndex/languages/zh_CN.php |
---|
0,0 → 1,27 |
<?php |
/* |
zh.php |
汉语 - Chinese |
Translation by Allen Chen |
*/ |
$words = array( |
'index of' => '索引', |
'parent directory' => '上一级目录', |
'file' => '文件', |
'size' => '大小', |
'modified' => '最后修改日期', |
'total size' => '占用总空间', |
'total files' => '总文件数', |
'total folders' => '总目录数', |
'search' => '搜索', |
'files' => '文件', |
'folders' => '目录', |
'both' => '两者都有', |
'search results' => '搜索结果', |
'no results' => '没有找到你要的', |
'end of results' => '搜索结束', |
'found' => '寻找'); |
?> |
/web/mujweb/AutoIndex/languages/zh_TW.php |
---|
0,0 → 1,27 |
<?php |
/* |
zh_TW.php |
漢語 - Chinese Traditional (Big5) |
Translation by Michael Lui |
*/ |
$words = array( |
'index of' => '索引', |
'parent directory' => '上一級目錄', |
'file' => '文件', |
'size' => '大小', |
'modified' => '最後修改日期', |
'total size' => '佔用總空間', |
'total files' => '總文件數', |
'total folders' => '總目錄數', |
'search' => '搜索', |
'files' => '文件', |
'folders' => '目錄', |
'both' => '兩者都有', |
'search results' => '搜索結果', |
'no results' => '沒有找到你要的', |
'end of results' => '搜索結束', |
'found' => '尋找'); |
?> |
/web/mujweb/AutoIndex/license.html |
---|
0,0 → 1,418 |
<?xml version="1.0" encoding="iso-8859-1"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
<head> |
<title>GNU General Public License</title> |
<style type="text/css"> |
html, body |
{ |
background-color: #FFFFFF; |
color: #000000; |
} |
</style> |
</head> |
<body> |
<h1>GNU General Public License</h1> |
<p>Version 2, June 1991</p> |
<pre> |
Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
Everyone is permitted to copy and distribute verbatim copies |
of this license document, but changing it is not allowed. |
</pre> |
<h2>Preamble</h2> |
<p>The licenses for most software are designed to take away |
your freedom to share and change it. By contrast, the GNU |
General Public License is intended to guarantee your freedom |
to share and change free software--to make sure the software |
is free for all its users. This General Public License |
applies to most of the Free Software Foundation's |
software and to any other program whose authors commit to |
using it. (Some other Free Software Foundation software is |
covered by the GNU Library General Public License instead.) |
You can apply it to your programs, too.</p> |
<p>When we speak of free software, we are referring to |
freedom, not price. Our General Public Licenses are designed |
to make sure that you have the freedom to distribute copies |
of free software (and charge for this service if you wish), |
that you receive source code or can get it if you want it, |
that you can change the software or use pieces of it in new |
free programs; and that you know you can do these things.</p> |
<p>To protect your rights, we need to make restrictions that |
forbid anyone to deny you these rights or to ask you to |
surrender the rights. These restrictions translate to certain |
responsibilities for you if you distribute copies of the |
software, or if you modify it.</p> |
<p>For example, if you distribute copies of such a program, |
whether gratis or for a fee, you must give the recipients all |
the rights that you have. You must make sure that they, too, |
receive or can get the source code. And you must show them |
these terms so they know their rights.</p> |
<p>We protect your rights with two steps: (1) copyright the |
software, and (2) offer you this license which gives you |
legal permission to copy, distribute and/or modify the |
software.</p> |
<p>Also, for each author's protection and ours, we want |
to make certain that everyone understands that there is no |
warranty for this free software. If the software is modified |
by someone else and passed on, we want its recipients to know |
that what they have is not the original, so that any problems |
introduced by others will not reflect on the original |
authors' reputations.</p> |
<p>Finally, any free program is threatened constantly by |
software patents. We wish to avoid the danger that |
redistributors of a free program will individually obtain |
patent licenses, in effect making the program proprietary. To |
prevent this, we have made it clear that any patent must be |
licensed for everyone's free use or not licensed at |
all.</p> |
<p>The precise terms and conditions for copying, distribution |
and modification follow.</p> |
<h2>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND |
MODIFICATION</h2> |
<p><strong>0.</strong> This License applies to any program or |
other work which contains a notice placed by the copyright |
holder saying it may be distributed under the terms of this |
General Public License. The "Program", below, |
refers to any such program or work, and a "work based on |
the Program" means either the Program or any derivative |
work under copyright law: that is to say, a work containing |
the Program or a portion of it, either verbatim or with |
modifications and/or translated into another language. |
(Hereinafter, translation is included without limitation in |
the term "modification".) Each licensee is |
addressed as "you".</p> |
<p>Activities other than copying, distribution and |
modification are not covered by this License; they are |
outside its scope. The act of running the Program is not |
restricted, and the output from the Program is covered only |
if its contents constitute a work based on the Program |
(independent of having been made by running the Program). |
Whether that is true depends on what the Program does.</p> |
<p><strong>1.</strong> You may copy and distribute verbatim |
copies of the Program's source code as you receive it, in |
any medium, provided that you conspicuously and appropriately |
publish on each copy an appropriate copyright notice and |
disclaimer of warranty; keep intact all the notices that |
refer to this License and to the absence of any warranty; and |
give any other recipients of the Program a copy of this |
License along with the Program.</p> |
<p>You may charge a fee for the physical act of transferring |
a copy, and you may at your option offer warranty protection |
in exchange for a fee.</p> |
<p><strong>2.</strong> You may modify your copy or copies of |
the Program or any portion of it, thus forming a work based |
on the Program, and copy and distribute such modifications or |
work under the terms of Section 1 above, provided that you |
also meet all of these conditions:</p> |
<ul> |
<li><strong>a)</strong> You must cause the modified files |
to carry prominent notices stating that you changed the |
files and the date of any change.</li> |
<li><strong>b)</strong> You must cause any work that you |
distribute or publish, that in whole or in part contains or |
is derived from the Program or any part thereof, to be |
licensed as a whole at no charge to all third parties under |
the terms of this License.</li> |
<li><strong>c)</strong> If the modified program normally |
reads commands interactively when run, you must cause it, |
when started running for such interactive use in the most |
ordinary way, to print or display an announcement including |
an appropriate copyright notice and a notice that there is |
no warranty (or else, saying that you provide a warranty) |
and that users may redistribute the program under these |
conditions, and telling the user how to view a copy of this |
License. (Exception: if the Program itself is interactive |
but does not normally print such an announcement, your work |
based on the Program is not required to print an |
announcement.)</li> |
</ul> |
<p>These requirements apply to the modified work as a whole. |
If identifiable sections of that work are not derived from |
the Program, and can be reasonably considered independent and |
separate works in themselves, then this License, and its |
terms, do not apply to those sections when you distribute |
them as separate works. But when you distribute the same |
sections as part of a whole which is a work based on the |
Program, the distribution of the whole must be on the terms |
of this License, whose permissions for other licensees extend |
to the entire whole, and thus to each and every part |
regardless of who wrote it.</p> |
<p>Thus, it is not the intent of this section to claim rights |
or contest your rights to work written entirely by you; |
rather, the intent is to exercise the right to control the |
distribution of derivative or collective works based on the |
Program.</p> |
<p>In addition, mere aggregation of another work not based on |
the Program with the Program (or with a work based on the |
Program) on a volume of a storage or distribution medium does |
not bring the other work under the scope of this License.</p> |
<p><strong>3.</strong> You may copy and distribute the |
Program (or a work based on it, under Section 2) in object |
code or executable form under the terms of Sections 1 and 2 |
above provided that you also do one of the following: |
</p> |
<ul> |
<li><strong>a)</strong> Accompany it with the complete |
corresponding machine-readable source code, which must be |
distributed under the terms of Sections 1 and 2 above on a |
medium customarily used for software interchange; or,</li> |
<li><strong>b)</strong> Accompany it with a written offer, |
valid for at least three years, to give any third party, |
for a charge no more than your cost of physically |
performing source distribution, a complete machine-readable |
copy of the corresponding source code, to be distributed |
under the terms of Sections 1 and 2 above on a medium |
customarily used for software interchange; or,</li> |
<li><strong>c)</strong> Accompany it with the information |
you received as to the offer to distribute corresponding |
source code. (This alternative is allowed only for |
noncommercial distribution and only if you received the |
program in object code or executable form with such an |
offer, in accord with Subsection b above.)</li> |
</ul> |
<p>The source code for a work means the preferred form of the |
work for making modifications to it. For an executable work, |
complete source code means all the source code for all |
modules it contains, plus any associated interface definition |
files, plus the scripts used to control compilation and |
installation of the executable. However, as a special |
exception, the source code distributed need not include |
anything that is normally distributed (in either source or |
binary form) with the major components (compiler, kernel, and |
so on) of the operating system on which the executable runs, |
unless that component itself accompanies the executable.</p> |
<p>If distribution of executable or object code is made by |
offering access to copy from a designated place, then |
offering equivalent access to copy the source code from the |
same place counts as distribution of the source code, even |
though third parties are not compelled to copy the source |
along with the object code.</p> |
<p><strong>4.</strong> You may not copy, modify, sublicense, |
or distribute the Program except as expressly provided under |
this License. Any attempt otherwise to copy, modify, |
sublicense or distribute the Program is void, and will |
automatically terminate your rights under this License. |
However, parties who have received copies, or rights, from |
you under this License will not have their licenses |
terminated so long as such parties remain in full |
compliance.</p> |
<p><strong>5.</strong> You are not required to accept this |
License, since you have not signed it. However, nothing else |
grants you permission to modify or distribute the Program or |
its derivative works. These actions are prohibited by law if |
you do not accept this License. Therefore, by modifying or |
distributing the Program (or any work based on the Program), |
you indicate your acceptance of this License to do so, and |
all its terms and conditions for copying, distributing or |
modifying the Program or works based on it.</p> |
<p><strong>6.</strong> Each time you redistribute the Program |
(or any work based on the Program), the recipient |
automatically receives a license from the original licensor |
to copy, distribute or modify the Program subject to these |
terms and conditions. You may not impose any further |
restrictions on the recipients' exercise of the rights |
granted herein. You are not responsible for enforcing |
compliance by third parties to this License.</p> |
<p><strong>7.</strong> If, as a consequence of a court |
judgment or allegation of patent infringement or for any |
other reason (not limited to patent issues), conditions are |
imposed on you (whether by court order, agreement or |
otherwise) that contradict the conditions of this License, |
they do not excuse you from the conditions of this License. |
If you cannot distribute so as to satisfy simultaneously your |
obligations under this License and any other pertinent |
obligations, then as a consequence you may not distribute the |
Program at all. For example, if a patent license would not |
permit royalty-free redistribution of the Program by all |
those who receive copies directly or indirectly through you, |
then the only way you could satisfy both it and this License |
would be to refrain entirely from distribution of the |
Program.</p> |
<p>If any portion of this section is held invalid or |
unenforceable under any particular circumstance, the balance |
of the section is intended to apply and the section as a |
whole is intended to apply in other circumstances.</p> |
<p>It is not the purpose of this section to induce you to |
infringe any patents or other property right claims or to |
contest validity of any such claims; this section has the |
sole purpose of protecting the integrity of the free software |
distribution system, which is implemented by public license |
practices. Many people have made generous contributions to |
the wide range of software distributed through that system in |
reliance on consistent application of that system; it is up |
to the author/donor to decide if he or she is willing to |
distribute software through any other system and a licensee |
cannot impose that choice.</p> |
<p>This section is intended to make thoroughly clear what is |
believed to be a consequence of the rest of this License.</p> |
<p><strong>8.</strong> If the distribution and/or use of the |
Program is restricted in certain countries either by patents |
or by copyrighted interfaces, the original copyright holder |
who places the Program under this License may add an explicit |
geographical distribution limitation excluding those |
countries, so that distribution is permitted only in or among |
countries not thus excluded. In such case, this License |
incorporates the limitation as if written in the body of this |
License.</p> |
<p><strong>9.</strong> The Free Software Foundation may |
publish revised and/or new versions of the General Public |
License from time to time. Such new versions will be similar |
in spirit to the present version, but may differ in detail to |
address new problems or concerns.</p> |
<p>Each version is given a distinguishing version number. If |
the Program specifies a version number of this License which |
applies to it and "any later version", you have the |
option of following the terms and conditions either of that |
version or of any later version published by the Free |
Software Foundation. If the Program does not specify a |
version number of this License, you may choose any version |
ever published by the Free Software Foundation.</p> |
<p><strong>10.</strong> If you wish to incorporate parts of |
the Program into other free programs whose distribution |
conditions are different, write to the author to ask for |
permission. For software which is copyrighted by the Free |
Software Foundation, write to the Free Software Foundation; |
we sometimes make exceptions for this. Our decision will be |
guided by the two goals of preserving the free status of all |
derivatives of our free software and of promoting the sharing |
and reuse of software generally.</p> |
<p><strong>NO WARRANTY</strong></p> |
<p><strong>11.</strong> BECAUSE THE PROGRAM IS LICENSED FREE |
OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE |
EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE |
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES |
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY |
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED |
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND |
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM |
PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY |
SERVICING, REPAIR OR CORRECTION.</p> |
<p><strong>12.</strong> IN NO EVENT UNLESS REQUIRED BY |
APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT |
HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE |
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, |
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL |
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE |
PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA |
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD |
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER |
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN |
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p> |
<h2>END OF TERMS AND CONDITIONS</h2> |
<h2>How to Apply These Terms to Your New Programs</h2> |
<p>If you develop a new program, and you want it to be of the greatest |
possible use to the public, the best way to achieve this is to make it |
free software which everyone can redistribute and change under these |
terms.</p> |
<p>To do so, attach the following notices to the program. It is safest |
to attach them to the start of each source file to most effectively |
convey the exclusion of warranty; and each file should have at least |
the "copyright" line and a pointer to where the full notice is found.</p> |
<pre> |
<one line to give the program's name and a brief idea of what it does.> |
Copyright (C) <year> <name of author> |
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 2 of the License, or |
(at your option) any later version. |
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
You should have received a copy of the GNU General Public License |
along with this program; if not, write to the Free Software |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
</pre> |
<p>Also add information on how to contact you by electronic and paper mail.</p> |
<p>If the program is interactive, make it output a short notice like this |
when it starts in an interactive mode:</p> |
<pre> |
Gnomovision version 69, Copyright (C) year name of author |
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
This is free software, and you are welcome to redistribute it |
under certain conditions; type `show c' for details. |
</pre> |
<p>The hypothetical commands `show w' and `show c' should show the appropriate |
parts of the General Public License. Of course, the commands you use may |
be called something other than `show w' and `show c'; they could even be |
mouse-clicks or menu items--whatever suits your program.</p> |
<p>You should also get your employer (if you work as a programmer) or your |
school, if any, to sign a "copyright disclaimer" for the program, if |
necessary. Here is a sample; alter the names:</p> |
<pre> |
Yoyodyne, Inc., hereby disclaims all copyright interest in the program |
`Gnomovision' (which makes passes at compilers) written by James Hacker. |
<signature of Ty Coon>, 1 April 1989 |
Ty Coon, President of Vice |
</pre> |
<p>This General Public License does not permit incorporating your program into |
proprietary programs. If your program is a subroutine library, you may |
consider it more useful to permit linking proprietary applications with the |
library. If this is what you want to do, use the GNU Library General |
Public License instead of this License.</p> |
</body> |
</html> |
/web/mujweb/AutoIndex/readme.html |
---|
0,0 → 1,463 |
<?xml version="1.0" encoding="iso-8859-1"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
<head> |
<style type="text/css" title="AutoIndex Default"> |
@import "stylesheet.css"; |
td, th |
{ |
border: 1px solid; |
} |
</style> |
<title>AutoIndex PHP Script: Readme</title> |
</head> |
<body class="autoindex_body"> |
<table width="100%" border="0" cellpadding="5" cellspacing="0"> |
<tr class="paragraph"><td class="default_td"> |
<p> |
<strong>AutoIndex PHP Script (version 1.5.2) - Help File |
<br />by Justin Hagstrom</strong> <JustinHagstrom [at] yahoo [dot] com> |
<br /><span class="small">AutoIndex is provided under the terms of |
the <a class="default_a" href="license.html">GNU General Public License (GPL)</a>.</span> |
</p> |
<p> |
<a class="default_a" href="http://autoindex.sourceforge.net/">http://autoindex.sourceforge.net/</a> |
<br />Please post any questions or comments in the |
<a class="default_a" href="http://autoindex.sourceforge.net/forum/">forum</a>. |
</p> |
<p> |
To install and run the script, simply upload the contents of this |
directory to a server with PHP support (Works with all versions of |
PHP4 and PHP5). |
<br />Then, point your browser to the index.php file in that folder. The |
first time you do this, it will take you to a configuration page. |
<br />To use all the default values, just click the button at the bottom, |
or customize it however you want. |
<br />Information about the use of each variable is in this file. |
</p> |
<p> |
|
</p> |
<hr class="default_hr" /> |
<p> |
|
</p> |
<p> |
<strong>base_dir</strong> is the folder that will be the root of the directory listing. |
<br />This will be the starting point for the script. Nothing above this directory can be viewed, but its subfolders can. |
<br />Make sure to use forward slashes, rather than backslashes. Also, try to use a relative path if possible. |
<br />Examples: |
</p> |
<table cellpadding="5" cellspacing="0" style="border-collapse: collapse; border: 1px solid; border-color: #111111;"> |
<tr class="paragraph"> |
<td><span class="fixed_width">./</span></td> |
<td>(the folder index.php is in)</td> |
</tr> |
<tr class="paragraph"> |
<td><span class="fixed_width">./some folder/</span></td> |
<td>(path relative to the php file)</td> |
</tr> |
<tr class="paragraph"> |
<td><span class="fixed_width">/home/user/public_html/some_folder/</span></td> |
<td>(absolute path)</td> |
</tr> |
</table> |
<p> |
If you're using an absolute path, you'll need to set force_download to TRUE (this is not recommended, though. It is better to use a path relative to the php script). |
</p> |
<p> |
|
</p> |
<p> |
<strong>icon_path</strong> is the path to the icons. Don't put a slash at the end. |
<br />Leave this blank to not show icons to the left of files and folders. |
<br />Examples: |
</p> |
<table cellpadding="5" cellspacing="0" style="border-collapse: collapse; border-color: #111111;" > |
<tr class="paragraph"> |
<td><span class="fixed_width">index_icons/winxp</span></td> |
<td>(relative to the php file)</td> |
</tr> |
<tr class="paragraph"> |
<td><span class="fixed_width">/index_icons/kde</span></td> |
<td>(absolute path, relative to the server root)</td> |
</tr> |
</table> |
<p> |
|
</p> |
<p> |
<strong>stylesheet</strong> is the path and filename of your css stylesheet. |
<br />Just modify the one that came with this, so it will match the rest of your site.<br /> |
Examples: |
</p> |
<table cellpadding="5" cellspacing="0" style="border-collapse: collapse; border-color: #111111;"> |
<tr class="paragraph"> |
<td><span class="fixed_width">stylesheet.css</span></td> |
<td>(stylesheet.css is in the same folder as the php file)</td> |
</tr> |
<tr class="paragraph"> |
<td><span class="fixed_width">/some_folder/some_stylesheet.css</span></td> |
<td>(absolute path to the stylesheet)</td> |
</tr> |
</table> |
<p> |
|
</p> |
<hr class="default_hr" /> |
<p> |
<strong>Optional Variables</strong> : |
</p> |
<p> |
|
</p> |
<p> |
If <strong>allow_uploads</strong> is set to TRUE, people will be able to upload files to your website. <em>(Default: FALSE)</em> |
<br />But if <strong>use_login_system</strong> is also set to TRUE, you must create an account for them before they can upload. |
<br />The preset users are: |
</p><p><span class="fixed_width"> |
username: admin |
<br />password: admin |
<br /> |
<br />username: test |
<br />password: test |
</span></p><p> |
<br />If you plan to use the login system, change the passwords or create different accounts and delete these! |
<br />All registered users will be able to upload, but only admins can create/delete accounts. |
<br />Also, if you want to allow uploads, make sure the folders you want to upload to are chmod'ed to allow PHP to write there. |
</p> |
<p> |
|
</p> |
<p> |
<strong>user_list</strong> contains the path to the text file where the usernames and encrypted passwords are stored. |
<br />Make sure the file is chmod'ed so PHP can read and write to it. |
<br />(This is only needed if use_login_system is set to TRUE.) |
</p> |
<p> |
|
</p> |
<p> |
If <strong>allow_file_overwrites</strong> is set to TRUE, when uploading a file that already exists, the file will be replaced. <em>(Default: FALSE)</em> |
<br />In other words, this will allow people to overwrite existing files by uploading new ones. |
<br />This variable only matters when allow_uploads is set to TRUE. |
</p> |
<p> |
|
</p> |
<p> |
If <strong>must_login_to_download</strong> is set to TRUE, users must login before they will see the list of files. <em>(Default: FALSE)</em> |
<br />(They will not be able to download or browse through files without logging in first.) |
<br />This variable only matters when use_login_system is set to TRUE. |
</p> |
<p> |
|
</p> |
<p> |
<strong>banned_list</strong> contains the path to the text file where blocked IP addresses and/or hostnames are stored. |
<br />This list can be edited by logging in as an administrator, or you can directly edit the text file and add IP addresses and/or hostnames, each on a new line. |
<br />You can use wildcards in the entries (*, ?, +). |
</p> |
<p> |
|
</p> |
<p> |
If <strong>sub_folder_access</strong> is set to FALSE, folders will not be shown. <em>(Default: TRUE)</em> |
</p> |
<p> |
|
</p> |
<p> |
<strong>index: Leave this blank unless you use php includes on your webpage.</strong> |
<br />Make sure to put "ob_start();" and "session_start();" at the top of your index file. This will make sure headers are sent correctly. |
<br />Examples: |
</p> |
<table cellpadding="5" cellspacing="0" style="border-collapse: collapse; border-color: #111111;"> |
<tr class="paragraph"> |
<td><span class="fixed_width">?id=AutoIndex</span></td> |
</tr> |
<tr class="paragraph"> |
<td><span class="fixed_width">/file.php?id=thisFile</span></td> |
</tr> |
</table> |
<p> |
The include in your index file should look something like this: |
</p> |
<pre> |
if (isset($_REQUEST['id']) && strpos($_REQUEST['id'], '/') === false) |
//if the id parameter in the URL is set, and it doesn't contain any slashes |
{ |
include($_REQUEST['id']); //include the file |
} |
</pre> |
<p> |
|
</p> |
<p> |
<strong>hidden_files</strong> contains an array of strings. |
<br />If a file or folder matches any of them, it will not be displayed. |
<br />They may contain wildcards (*, +, ?). For example, to hide all php files, add '*.php' to the list, or if you want to hide all files that begin with a period, add '.*' |
</p> |
<p> |
|
</p> |
<p> |
<strong>show_only_these_files</strong> contains an array of strings. |
<br />If there are any items in the array, the hidden_files variable will be disabled, and only files that are listed here will be shown. |
<br />They may contain wildcards (*, +, ?). For example, to show only .txt files, add '*.txt' to the list. |
</p> |
<p> |
|
</p> |
<p> |
<strong>force_download</strong> should be set to TRUE or FALSE. <em>(Default: FALSE)</em> |
<br />If it is set to TRUE, the file will be automatically downloaded, instead of letting the person's browser decide. |
</p> |
<p> |
|
</p> |
<p> |
<strong>bandwidth_limit</strong> is set to the max download speed (per client) in KB/s. 0 will turn it off. |
<br />The number can contain a decimal if you want. |
<br /><strong>NOTE</strong>: To use this feature, force_download must be set to TRUE. |
</p> |
<p> |
|
</p> |
<p> |
<strong>anti_leech</strong> should be set to TRUE or FALSE. <em>(Default: FALSE)</em> |
<br />This will compare the referrer and the name of your site to make sure they clicked on a link to download a file. |
<br />Setting this equal to TRUE will prevent "leeching" by making sure they download files directly from a link on your site. |
<br />Since some people turn off referrer sending in their browser, this option is not recommended. |
</p> |
<p> |
|
</p> |
<p> |
<strong>enable_searching</strong> should be set to TRUE or FALSE. <em>(Default: TRUE)</em> |
<br />If it is TRUE, people will be able to search for a file or folder containing a string. |
<br />It will search the folder you are currently in, and all subfolders. |
<br />Searching is not case sensitive. |
</p> |
<p> |
|
</p> |
<p> |
The <strong>log_file</strong> contains the full path to the file to write the access log. |
<br />Leave it blank to turn off logging. |
<br />The log file can be a local file, or on an FTP server. |
<br />If it's a local file on non-windows systems, make sure the log file is chmod'ed to allow PHP to write to the file. |
<br />Example: |
</p> |
<table cellpadding="5" cellspacing="0" style="border-collapse: collapse; border-color: #111111;"> |
<tr class="paragraph"> |
<td><span class="fixed_width">./log.txt</span></td> |
<td>(the folder the php file is in)</td> |
</tr> |
<tr class="paragraph"> |
<td><span class="fixed_width">/home/user/public_html/some_folder/somefile.log</span></td> |
<td>(absolute path)</td> |
</tr> |
<tr class="paragraph"> |
<td><span class="fixed_width">ftp://user:password@example.com/somefile.txt</span></td> |
<td>(stored on ftp server)</td> |
</tr> |
</table> |
<p> |
<strong>dont_log_these_ips</strong> contains an array of strings (which are IP addresses). |
<br />Any access from an IP on this list will not be written to the log file. |
<br />You can also add hostnames to the list, and use wildcards (*, +, ?). |
<br />(i.e. put your own IP in here so you don't fill up the log file when you access your site) |
</p> |
<p> |
|
</p> |
<p> |
<strong>download_count</strong> contains a string which is the filename of the file to keep track of how many times files have been downloaded. |
<br />The file must be chmod'ed to allow PHP to read AND write to the file. |
<br />Leave blank to disable this feature. |
<br /><strong>NOTE</strong>: When downloading a file from an IP addresses in the dont_log_these_ips array, the count will NOT increase. |
</p> |
<p> |
|
</p> |
<p> |
<strong>links_file</strong> contains the path to a text file with the URL of files that you want to be listed as links. |
<br />Separate each entry with a new line. |
<br />If you want, you can change how the links is displayed, by putting some text after a pipe ('|') |
</p><p><span class="fixed_width"> |
http://autoindex.sourceforge.net|Main Site |
<br />http://autoindex.sourceforge.net/forum/|Forum |
</span></p><p> |
If no link description is present, the link itself will be displayed. |
<br /><strong>NOTE</strong>: This isn't really meant to be done by hand - you can use the built-in editor when you log in as an admin. |
</p> |
<p> |
|
</p> |
<p> |
<strong>description_file</strong> contains the path to a text file with descriptions for files. |
<br />The format is: [base_dir][full filename and path][a pipe, '|'][description for file] |
<br />Here's an example: ./somefile.txt|This is a text file. |
<br />Separate each entry with a new line. |
<br /><strong>NOTE</strong>: This isn't really meant to be done by hand: you can login as an admin and click "edit description" next to any file. |
</p> |
<p> |
|
</p> |
<p> |
<strong>show_dir_size</strong> should be set to TRUE or FALSE. <em>(Default: TRUE)</em> |
<br />If it is set to TRUE, the total size of the folder will be shown under size. |
<br />If it is FALSE, it will display "[dir]" under size. |
<br /><strong>NOTE</strong>: If you are trying to index many files (meaning a few thousand), you will notice a speed improvement with this turned off. |
</p> |
<p> |
|
</p> |
<p> |
<strong>folder_expansion</strong> should be set to TRUE or FALSE. <em>(Default: FALSE)</em> |
<br />If it is set to TRUE, when you click on the folder icon, it will expand the folder and list its contents. |
<br />Clicking on the folder name will take you into that folder. |
<br />If it is set to FALSE, both clicking on the icon and name will take you into the folder. |
</p> |
<p> |
|
</p> |
<p> |
<strong>show_folder_count</strong> should be set to TRUE or FALSE. <em>(Default: FALSE)</em> |
<br />If it is TRUE, the total number of files in a folder will be shown next to that folder. |
<br />Files are counted recursively (files in subfolders are counted). |
</p> |
<p> |
|
</p> |
<p> |
<strong>header</strong> and <strong>footer</strong> are the paths to 2 files. |
<br />The files must be text files (.html .txt .php , etc...) |
<br />Header will be displayed at the top, and footer will be displayed at the bottom. |
<br />Leave blank to not include a file. |
</p> |
<p> |
|
</p> |
<p> |
<strong>header_per_folder</strong> and <strong>footer_per_folder</strong> should be set to TRUE or FALSE. <em>(Default: FALSE)</em> |
<br />If they are FALSE, the header/footer will be taken from the absolute or relative path in the header/footer variable. |
<br />If they are TRUE, the current directory will be added to the beginning of the file to be included. (don't add a path to the header/footer variables - just the filename) |
</p> |
<p> |
|
</p> |
<p> |
<strong>days_new</strong> contains the number of days old a file can be and still have [New] written next to it. <em>(Default: 0)</em> |
<br />If it is set to 0, this feature will be disabled. |
<br /><strong>NOTE</strong>: this can contain any number, not just a 1 or 0 value, and it can contain a decimal if you want. |
</p> |
<p> |
|
</p> |
<p> |
<strong>md5_show</strong> is a feature that will let users get the md5sum of a specific file. <em>(Default: 0)</em> |
<br />If set to 0 it will be disabled. |
<br />Otherwise, the number will represent the maximum file size (in megabytes) to allow the md5sum to be calculated (I'd recommend something close to 10). |
<br />The number can contain a decimal if you want. |
<br /><strong>NOTE</strong>: PHP version 4.2.0 or higher is required for this feature to work. |
</p> |
<p> |
|
</p> |
<p> |
<strong>thumbnail_height</strong> is a feature that will show thumbnails next to images. (NOTE: GDlib 2.0.1 or higher is required) |
<br />Setting it to 0 will disable this feature, and setting it to any other number will set the size of the thumbnail. |
<br />(100 is a good setting to start with.) |
</p> |
<p> |
|
</p> |
<p> |
<strong>show_type_column</strong>, <strong>show_size_column</strong>, and <strong>show_date_column</strong> are set to TRUE or FALSE. |
<br />Setting them to TRUE will show the column, and setting it to FALSE will not display the column. |
</p> |
<hr class="default_hr" /> |
<p> |
<strong>Language Settings</strong>: |
</p> |
<p> |
|
</p> |
<p> |
<strong>lang</strong> is the default language to display the script in. |
<br />The choices are listed below... |
<br /><em>(Default: 'en')</em> |
</p> |
<table cellpadding="1" cellspacing="0" style="border-collapse: collapse; border-color: #111111;"> |
<tr class="paragraph"><th>lang setting</th><th>Language</th></tr> |
<tr class="paragraph"><td>al</td><td>Albanian</td></tr> |
<tr class="paragraph"><td>bg</td><td>Bulgarian</td></tr> |
<tr class="paragraph"><td>ca</td><td>Catalan</td></tr> |
<tr class="paragraph"><td>cz</td><td>Czech</td></tr> |
<tr class="paragraph"><td>da</td><td>Danish</td></tr> |
<tr class="paragraph"><td>de</td><td>German</td></tr> |
<tr class="paragraph"><td>ee</td><td>Estonian</td></tr> |
<tr class="paragraph"><td>en</td><td>English</td></tr> |
<tr class="paragraph"><td>es</td><td>Spanish</td></tr> |
<tr class="paragraph"><td>fi</td><td>Finnish</td></tr> |
<tr class="paragraph"><td>fr</td><td>French</td></tr> |
<tr class="paragraph"><td>gr</td><td>Greek</td></tr> |
<tr class="paragraph"><td>he</td><td>Hebrew</td></tr> |
<tr class="paragraph"><td>hu</td><td>Hungarian</td></tr> |
<tr class="paragraph"><td>is</td><td>Icelandic</td></tr> |
<tr class="paragraph"><td>it</td><td>Italian</td></tr> |
<tr class="paragraph"><td>jp</td><td>Japanese</td></tr> |
<tr class="paragraph"><td>ko</td><td>Korean</td></tr> |
<tr class="paragraph"><td>lt</td><td>Lithuanian</td></tr> |
<tr class="paragraph"><td>lv</td><td>Latvian</td></tr> |
<tr class="paragraph"><td>ms</td><td>Malay</td></tr> |
<tr class="paragraph"><td>nl</td><td>Dutch</td></tr> |
<tr class="paragraph"><td>no</td><td>Norwegian</td></tr> |
<tr class="paragraph"><td>pl</td><td>Polish</td></tr> |
<tr class="paragraph"><td>pt_BR</td><td>Brazilian Portuguese</td></tr> |
<tr class="paragraph"><td>ro</td><td>Romanian</td></tr> |
<tr class="paragraph"><td>ru</td><td>Russian</td></tr> |
<tr class="paragraph"><td>sr_LA</td><td>Serbian (Latin)</td></tr> |
<tr class="paragraph"><td>sr_CY</td><td>Serbian (Cyrillic)</td></tr> |
<tr class="paragraph"><td>sv</td><td>Swedish</td></tr> |
<tr class="paragraph"><td>th</td><td>Thai</td></tr> |
<tr class="paragraph"><td>tr</td><td>Turkish</td></tr> |
<tr class="paragraph"><td>vi</td><td>Vietnamese</td></tr> |
<tr class="paragraph"><td>zh_CN</td><td>Chinese</td></tr> |
<tr class="paragraph"><td>zh_TW</td><td>Chinese Traditional</td></tr> |
</table> |
<p> |
|
</p> |
<p> |
<strong>path_to_language_files</strong> is the path where the *.php language files are located. |
<br /><em>Default:</em> <span class="fixed_width">./languages/</span> |
</p> |
<p> |
|
</p> |
<p> |
If <strong>select_language</strong> is set to TRUE, there will be an option at the bottom of the script for |
<br />the user to choose which language the script is displayed in. <em>(Default: FALSE)</em> |
</p> |
<hr class="default_hr" /> |
</td></tr></table> |
</body> |
</html> |
/web/mujweb/AutoIndex/stylesheet.css |
---|
0,0 → 1,112 |
/*************************************************************************** |
AutoIndex PHP Script, by Justin Hagstrom |
------------------- |
filename : stylesheet.css |
copyright : Copyright (C) 2002-2004 Justin Hagstrom |
license : GNU General Public License (GPL) |
website & forum : http://autoindex.sourceforge.net |
e-mail : JustinHagstrom [at] yahoo [dot] com |
***************************************************************************/ |
/* The default BODY setting */ |
.autoindex_body, html |
{ |
font-family: verdana, lucidia, sans-serif; |
font-size: 13px; |
background-color: #F0F0F0; |
} |
.autoindex_body img |
{ |
border: none; |
} |
/* Table settings */ |
.light_row |
{ |
background-color: #F2F6FC; |
font-size: 13px; |
} |
.dark_row |
{ |
background-color: #DADEEE; |
font-size: 13px; |
} |
.default_td |
{ |
border: 1px solid #7F8FA9; |
font-size: 13px; |
} |
.default_th |
{ |
background-color: #7F8FAD; |
border: 1px solid #000010; |
font-size: 13px; |
} |
/* Settings for links */ |
.default_a:visited, .default_a:active |
{ |
color: #00008F; |
text-decoration: none; |
} |
.default_a:link |
{ |
color: #0000FF; |
text-decoration: none; |
} |
.default_a:hover |
{ |
color: #0000FF; |
text-decoration: overline underline; |
} |
/* The style for every button */ |
.button |
{ |
color: #707070; |
background-color: #F2F6FC; |
font-family: sans-serif; |
font-size: 11px; |
text-align: left; |
vertical-align: middle; |
font-weight: bold; |
cursor: pointer; |
border: none; |
padding: 3px 10px 3px 10px; |
} |
/* Misc. Styles */ |
.paragraph |
{ |
background: #F2F6FC; |
color: #000020; |
font-size: 13px; |
} |
.default_hr |
{ |
color: #000020; |
background-color: #000020; |
border: none; |
width: 75%; |
height: 1px; |
} |
.fixed_width |
{ |
background: #F2F6FC; |
color: #000020; |
font-family: lucida console, sans-serif; |
font-size: 12px; |
} |
.black_link |
{ |
color: #000000; |
text-decoration: none; |
} |
.small |
{ |
font-size: 10px; |
} |