<?php
define('IN_PHPATM', true);
$include_location = dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME'])."/";
include($include_location.'include/conf.php');
include($include_location.'include/common.'.$phpExt);
$num_last_files = 7;
//
// Ricerca ricorsivamente i file contenuti nella directory indicata ed
// in ogni subdirectory in essa contenuta e ritorna un array contentente
// i dieci files piщ recentri trovati fino a quel momento
//
function find_last_files($current_dir, $lastfiles = array())
{
global $max_last_files, $hidden_dirs, $showhidden, $reserved_files, $num_last_files;
// Leggo il contenuto della directory passata come primo argomento
$handle = opendir($current_dir);
while (false !== ($filename = readdir($handle)))
{
// Scarto i file da non visualizzare o non accettabili
if (!eregi($reserved_files, $filename) && show_hidden_files($filename))
{
// Se и una dir lancio ricursivamente la funzione
if(is_dir("$current_dir/$filename"))
{
// Non controllo le dir nascoste
if (eregi($hidden_dirs, $filename) && !$showhidden)
{
continue;
}
$lastfiles = find_last_files("$current_dir/$filename", $lastfiles);
continue;
}
// Inserisco il file trovato nell'array
$file_modif_time = filemtime("$current_dir/$filename");
$lastfiles["$current_dir/$filename"] = $file_modif_time;
}
}
closedir($handle);
// Ordino l'array trovato in base alla data d'invio e
// mantengo solo i primi '$last_files_shown' valori (definito in conf.php)
arsort($lastfiles, SORT_NUMERIC);
array_splice($lastfiles, $num_last_files);
return $lastfiles;
}
//
// Stampa l'intera pagina
//
function show_contents()
{
global $mess, $grants, $user_status, $phpExt;
global $font,$order,$totalsize,$tablecolor,$headercolor,$bordercolor;
global $headerfontcolor, $normalfontcolor;
echo "<script language=\"javascript\">\n";
echo "function popup(file, dir) {\n";
echo "var fen=window.open('index.${phpExt}?action=view&filename='+file+'&directory='+dir+'&".SID."','filemanager','status=yes,scrollbars=yes,resizable=yes,width=500,height=400');\n";
echo "}\n";
echo "</script>\n";
show_files();
echo "
<!--- ---!>
\n";
}
//
// Stampa l'elenco dei file ordinati in base al numero di download
//
function show_files()
{
global $font,$direction,$order,$directory,$totalsize,$mess,$tablecolor,$lightcolor;
global $file_out_max_caracters,$normalfontcolor,$uploads_folder_name;
global $comment_max_caracters,$datetimeformat, $logged_user_name, $grants;
global $user_status,$activationcode,$max_filesize_to_mail;
global $mail_functions_enabled, $timeoffset, $validation_enabled, $phpExt;
$lastfiles = find_last_files($uploads_folder_name);
while (list($filename, $filedate) = each($lastfiles))
{
$directory = ereg_replace($uploads_folder_name, '', dirname($filename));
if (strchr($directory, '/') == 0)
$directory = substr($directory, 1);
list($upl_user, $upl_ip, $filestatus, $contents) = get_file_description($filename, $comment_max_caracters);
if (!$validation_enabled ||
$filestatus == VALIDATED ||
($filestatus == UNVALIDATED && $grants[$user_status][VALIDATE]))
{
echo "
<a href=\"index.${phpExt}?action=downloadfile&filename=".basename($filename)."&directory=$directory&".SID."\">
<img src=\"images/".get_mimetype_img($filename)."\" align=\"ABSMIDDLE\" border=\"0\"></a> ";
if (is_viewable($filename))
{echo "<a href=\"javascript:popup('".basename($filename)."', '".$directory."')\">";}
echo substr(basename($filename),0,$file_out_max_caracters);
if(is_viewable($filename) || is_dir($filename))
{echo "</a>\n";}
// Load description
list($upl_user, $upl_ip, $filestatus, $contents) = get_file_description($filename, $comment_max_caracters);
echo "(".count_file_download($filename).")<BR><font face=\"$font\" size=\"1\" color=\"$normalfontcolor\">$contents</font>";
echo "<BR>\n";
}
} // while loop
}
//----------------------------------------------------------------------------
// MAIN
//----------------------------------------------------------------------------
// In caso non sia abilitata la visione anonima, reindirizzo a index.php
if (!$grants[$user_status][VIEW])
{
header($header_location.'index.'.$phpExt.'?'.SID);
exit;
}
echo "------------- начало списка ---------------
<div align=\"left\">
<table border=0><tr><td weight=\"200px\"><font size=\"1\" face=\"$font\" color=\"$normalfontcolor\">";
show_contents();
echo "</font></td></tr></table></div>
-------------- конец списка ---------------";
?>