Subversion Repositories svnkaklik

Compare Revisions

No changes between revisions

Ignore whitespace Rev 5 → Rev 6

/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>
&nbsp;
</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>
&nbsp;
</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 &quot;.*&quot; 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 (&quot;simple search&quot; 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 &quot;wget&quot;)
<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 &quot;natural sort&quot;
<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 &quot;useless&quot; 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 />(*) &quot;..&quot; 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 &quot;Version 3.x&quot; 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('&nbsp;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), '&amp;sort=',
(($_SESSION['sort'] == 'a' && $_SESSION['sortMode'] == $sortMode) ? 'd' : 'a'),
'&amp;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).'&amp;delete='.translate_uri($_GET['delete'])
.'&amp;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">&nbsp;</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">&nbsp;</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">&nbsp;</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&amp;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), '&amp;link=',
translate_uri($file), '" title="Link to: ', $file, '">',
icon(ext($display)), htmlentities($display), '</a><br />';
}
else
{
echo 'dir=', translate_uri(dirname($file)).'/&amp;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), '&amp;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), "&amp;$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), '&amp;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), '&amp;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),
'&amp;delete=', translate_uri($value), '"><span class="small">delete</span></a>, ',
'<a class="default_a" href="', $this_file, 'dir=', translate_uri($subdir),
'&amp;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).'/&amp;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), '&amp;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), '&amp;file=',
translate_uri($value), '"><img src="', $this_file,
'dir=', translate_uri($subdir), '&amp;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] == '') ? '&nbsp;' : 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] : '&nbsp;'), '</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] : '&nbsp;'), '</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'>&nbsp;</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">&nbsp;</th>';
}
if ($description_file != '')
{
echo '<th class="default_th">&nbsp;</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&amp;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&amp;dir='.translate_uri($subdir).'">Create a folder (in current directory)</a>',
'<br /><a class="default_a" href="'.$this_file.'copyURL=true&amp;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&euml;sip&euml;rme',
'file' => 'File',
'size' => 'Madh&euml;sia',
'modified' => 'Ndryshuar',
'total size' => 'Madh&euml;sia gjithsej',
'total files' => 'Gjithsej Files',
'total folders' => 'Gjithsej Kartela',
'search' => 'K&euml;rko',
'files' => 'Files',
'folders' => 'Kartela',
'both' => 'Gjithçka',
'search results' => 'Rezultati i k&euml;rkimit',
'no results' => 'NUK U GJET ASNJ&Euml; REZULTAT',
'end of results' => 'Fundi i k&euml;rkimit',
'found' => 'gjetur',
'upload' => 'D&euml;rgo',
'go' => 'Shko',
'to this folder' => 'tek kjo kartel&euml;');
 
?>
/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' => '&Iacute;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&oacute;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' => '&Aring;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 &amp; 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&eacute;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 &amp; Miquelon',
'st' => 'St. Tome and Principe',
'kn' => 'St. Kitts Nevis Anguilla',
'vc' => 'St. Vincent &amp; Grenadines',
'sd' => 'Sudan',
'sr' => 'Suriname',
'sj' => 'Svalbard &amp; 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 &amp; Tobago',
'tn' => 'Tunisia',
'tr' => 'Turkey',
'tm' => 'Turkmenistan',
'tc' => 'Turks &amp; 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 &amp; 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&oslash;rrelse',
'modified' => '&AElig;ndret',
'total size' => 'Total st&oslash;rrelse',
'total files' => 'Total antal filer',
'total folders' => 'Total antal mapper',
'search' => 'S&oslash;g',
'files' => 'Filer',
'folders' => 'Mapper',
'both' => 'Begge',
'search results' => 'Resultat af s&oslash;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' => '&Uuml;bergeordnetes Verzeichnis',
'file' => 'Datei',
'size' => 'Gr&ouml;sse',
'modified' => 'Ge&auml;ndert',
'total size' => 'Gesamtgr&ouml;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&otilde;lemad',
'search results' => 'Otsingu tulemused',
'no results' => 'Tulemusteta',
'end of results' => 'Otsingu l&otilde;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&#265;o',
'files' => 'Dosieroj',
'folders' => 'Dosierujoj',
'both' => 'Amba&#365;',
'search results' => 'Rezultoj de la ser&#265;o',
'no results' => 'NENIU REZULTO ESTIS TROVITA',
'end of results' => 'Fino de la ser&#265;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' => '&Iacute;ndice de',
'parent directory' => 'Directorio Superior',
'file' => 'Archivo',
'size' => 'Tama&ntilde;o',
'modified' => 'Modificado',
'total size' => 'Tama&ntilde;o total',
'total files' => 'Archivos totales',
'total folders' => 'Directorios totales',
'search' => 'B&uacute;squeda',
'files' => 'Archivos',
'folders' => 'Directorios',
'both' => 'Ambos',
'search results' => 'Resultados de la b&uacute;squeda',
'no results' => 'NO SE HAN ENCONTRADO RESULTADOS',
'end of results' => 'Fin de la b&uacute;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&auml;',
'total files' => 'Tiedostoja yhteens&auml;',
'total folders' => 'Hakemistoja yhteens&auml;',
'search' => 'Hae',
'files' => 'Tiedostoa',
'folders' => 'Hakemistoa',
'both' => 'Kumpaakin',
'search results' => 'Hakutulokset',
'no results' => 'EI TULOKSIA L&Ouml;YDETTY',
'end of results' => 'Haun loppu',
'found' => 'l&ouml;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&eacute;',
'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&eacute;sultat de la recherche',
'no results' => 'Pas de r&eacute;sultat',
'end of results' => 'Fin de la recherche',
'found' => 'trouv&eacute;');
 
?>
/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&ouml;nyvt&aacute;r',
'parent directory' => 'Feljebb',
'file' => 'F&aacute;jl',
'size' => 'M&eacute;ret',
'modified' => 'D&aacute;tum',
'total size' => '&Ouml;sszes m&eacute;ret',
'total files' => '&Ouml;sszes file',
'total folders' => '&Ouml;sszes k&ouml;nyvt&aacute;r',
'search' => 'Keres',
'files' => 'F&aacute;jl',
'folders' => 'K&ouml;nyvt&aacute;r',
'both' => 'Mind',
'search results' => 'Keres&eacute;s eredm&eacute;nye',
'no results' => 'NINCS TAL&Aacute;LAT',
'end of results' => 'Keres&eacute;s v&eacute;ge',
'found' => 'tal&aacute;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&eth;tesnis katalogas',
'file' => 'Byla',
'size' => 'Dydis',
'modified' => 'Taisyta',
'total size' => 'Dydis i&eth; viso',
'total files' => 'I&eth; viso byl&oslash;',
'total folders' => 'I&eth; viso katalog&oslash;',
'search' => 'Paie&eth;ka',
'files' => 'Bylos',
'folders' => 'Katalogai',
'both' => 'Abu',
'search results' => 'Paie&eth;kos rezultatai',
'no results' => 'rezultat&oslash; nreasta',
'end of results' => 'Paie&eth;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&#353;up',
'file' => 'Fails',
'size' => 'Izm&#275;rs',
'modified' => 'Datums',
'total size' => 'Kop&#275;jais apjoms',
'total files' => 'Faili kop&#257;',
'total folders' => 'Mapes kop&#257;',
'search' => 'Mekl&#275;t',
'files' => 'Faili',
'folders' => 'Mapes',
'both' => 'Abos',
'search results' => 'Mekl&#275;&#353;anas rezult&#257;ti',
'no results' => 'NAV NEKAS ATRASTS',
'end of results' => 'Mekl&#275;&#353;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&aring; opp',
'file' => 'Fil',
'size' => 'St&oslash;rrelse',
'modified' => 'Endret',
'total size' => 'Total st&oslash;rrelse',
'total files' => 'Total antall filer',
'total folders' => 'Total antall mapper',
'search' => 'S&oslash;k',
'files' => 'Filer',
'folders' => 'Mapper',
'both' => 'Begge',
'search results' => 'Resultat af s&oslash;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&aelig; plik&oacute;w',
'total folders' => 'Ilo&aelig; Katalog&oacute;w',
'search' => 'Szukaj',
'files' => 'Plik',
'folders' => 'Katalog',
'both' => 'Oba',
'search results' => 'Rezultat szukania',
'no results' => 'BRAK REZULTAT&Oacute;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' => '&Iacute;ndice de',
'parent directory' => 'Diret&atilde;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&aring;ll',
'parent directory' => 'Upp en niv&aring;',
'file' => 'Fil',
'size' => 'Storlek',
'modified' => 'Modifierad',
'total size' => 'Total storlek',
'total files' => 'Totalt antal filer',
'total folders' => 'Totalt antal katalogerr',
'search' => 'S&ouml;k',
'files' => 'Filer',
'folders' => 'Mappar',
'both' => 'B&aring;da',
'search results' => 'S&ouml;k resultat',
'no results' => 'INGA RESULTAT FUNNA',
'end of results' => 'Avslutad s&ouml;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&#39;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&#39;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&#39; 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&#39;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 &quot;Program&quot;, below,
refers to any such program or work, and a &quot;work based on
the Program&quot; 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 &quot;modification&quot;.) Each licensee is
addressed as &quot;you&quot;.</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&#39;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&#39; 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 &quot;any later version&quot;, 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 &quot;AS IS&quot; 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>
&lt;one line to give the program's name and a brief idea of what it does.&gt;
Copyright (C) &lt;year&gt; &lt;name of author&gt;
 
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.
 
&lt;signature of Ty Coon&gt;, 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> &lt;JustinHagstrom [at] yahoo [dot] com&gt;
<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>
&nbsp;
</p>
 
<hr class="default_hr" />
 
<p>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</p>
 
<hr class="default_hr" />
 
<p>
<strong>Optional Variables</strong> :
</p>
<p>
&nbsp;
</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 />&nbsp;
<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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</p>
<p>
If <strong>sub_folder_access</strong> is set to FALSE, folders will not be shown. <em>(Default: TRUE)</em>
</p>
<p>
&nbsp;
</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']) &amp;&amp; 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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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>
&nbsp;
</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;
}