Code:
/************************************************************************/
//
// EASYUP-NUKE
//
// module created by HI-Lab based on EasyUp of Amine Ouelhadj *
// Copyright (c) 2002 by cooperativa sociale l'Utopia a r.l.
// released under GPL licence
//
// www.hi-lab.net
//
/***************************************************************************/
//
// upload html form
//
if (!eregi("modules.php", $PHP_SELF)) {
die ("Non puoi accedere a questo file direttamente...");
}
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);
$pagetitle = "- "._TITLEASYUP."";
global $user, $cookie, $prefix, $dbi, $user_prefix;
include ("header.php");
title("<img src='modules/Easyup/EASYUP-NUKE.jpg' width='248' height='123' alt='logo EASYUP-NUKE'>");
OpenTable();
echo "<center><font class=\"content\"><b>"._TITLEASYUP."</b></font></center><br><br>"
. "<i>"._INSTRUCTIONEASYUP."</i><br>"
."<form ENCTYPE=\"multipart/form-data\" action=\"modules.php?mop=modload&name=Easyup&file=index\" method=\"post\">"
._FILETYPE.":<br><SELECT name=\"percorso\" title=\"Tipo di file\">\n"
."<OPTION value=\"1\">"._FILETODISPLAY."</OPTION>\n"
."<OPTION value=\"2\">"._FILETODOWN."</OPTION></SELECT><br><br>\n"
._FILEPOSITION.":<br><input name=\"nomfichier\" type=\"file\" size=\"30\"><br><br>\n"
._ALTTAG.":<br><input name=\"alt\" type=\"text\" size=\"30\" maxlength=\"40\"><br><br>\n"
._BGCOLORSWF.":<br># <input name=\"bgcolorswf\" type=\"text\" size=\"6\" maxlength=\"6\"><br><br>\n"
."<input type=\"submit\" name=\"Submit\" value=\""._SEND."\">\n"
."</form><br>\n";
//----------------------------------------------------------------
// upload engine
//----------------------------------------------------------------
// parameters
// choose directory of upload files
$imagesdir="images/upload";
$downloaddir="images/materiali";
// Allow or not executable files adding an extension - yes="si" no="no"
$execution = "no";
// Allow or not upload of index files - yes="si" no="no"
$index_autorisation = "no";
$alertdimension=array(
// Alert dimension for images files in Kb integer
img=>150,
// Alert dimension for swf files in Kb integer
swf=>150,
// Alert dimension for other files in Kb integer
other=>500
);
// check folder permissions
function checkperms($dir)
{
$permsdir=decoct(fileperms($dir));
$perms=substr("$permsdir",-3);
if ($perms!="777")
{
echo "<div align=\"center\"><font color=\"#cc0000\"><h3>"._ERRORPERM." "$dir" "._ERRORPERM2."<br>"
._PERMISSION." $perms. "._PERMISSION2."</h3></font></div><br>";
}
}
checkperms($imagesdir);
checkperms($downloaddir);
switch ($percorso)
{
case "1":
$chemin=$imagesdir;
break;
case "2":
$chemin=$downloaddir;
break;
}
$testotoobig=array(_TOOBIG,_TOOBIG1,_TOOBIG2,_TOOBIG3,_TOOBIG4,_TOOBIG5);
$nom_fichier_name = strtolower($nomfichier_name);
// check extension of file
function check_extension($nomfichier_name)
{
$extension = end(explode(".", $nomfichier_name));
if ($extension == "php" || $extension == "php3" || $extension == "php4" || $extension == "pl" || $extension == "phtml" || $extension == "asp" || $extension == "cgi")
{
return true;
}
}
// Verifie si le nom ne se nomme pas index.extension
function verif_index($nomfichier_name)
{
$pointeur = strrpos($nomfichier_name, ".");
$nom = substr($nomfichier_name, 0, $pointeur);
if (ereg ("^index$", $nom)) return true;
}
// Verifie si le fichier existe sur le serveur.
function presence_file($nomfichier_name)
{
global $chemin;
if (file_exists("$chemin/$nomfichier_name")) return true;
}
// Calculate dimensions of files and print alert message
function dimensionefiles($chemin,$nomfichier_name,$testotoobig1,$testotoobig2,$max)
{
$dimensione=filesize("$chemin/$nomfichier_name");
$fdimensione=number_format($dimensione, 0, ',', '.');
$kdimensione=number_format(($dimensione/1024), 1, ',', '.');
$mdimensione=number_format(($kdimensione/1024), 1, ',', '.');
if ($dimensione<=1023)
{
echo "<center>"._FILEIS." $dimensione "._BYTES.".</center><br>";
}
elseif (($dimensione>1023)&&($dimensione<=1048575))
{
echo "<center>"._FILEIS." $kdimensione Kb ($fdimensione "._BYTES.").</center><br>";
if ($kdimensione>$max) {echo "<center><font color=\"#ff0000\"><h3>$testotoobig1</h3></font>$testotoobig2</center><br><br>";}
}
elseif (($dimensione>1048575))
{
echo "<center>"._FILEIS." $mdimensione Mb ($fdimensione "._BYTES.").<br>"
."<font color=\"#ff0000\"><h3>$testotoobig1</h3></font>$testotoobig2</center><br><br>";
}
}
// Calculate dimensions of image and print related html tag
function imagetag($chemin,$nomfichier_name,$alt)
{
global $testotoobig,$alertdimension;
$misura=getimagesize("$chemin/$nomfichier_name");
$htmlimgstring="<img src=\"$chemin/$nomfichier_name\" alt=\"$alt\" ".$misura[3].">";
echo "<center><h2>"._TITLETAG."</h2>\n".
"<i>"._INSTRUCTIONTAG." "._IMAGE.". "._INSTRUCTIONTAG2."</i><br>\n";
echo "<font color=\"#000066\"><h2><blockquote><img src=\"$chemin/$nomfichier_name\" alt=\"$alt\" ".$misura[3]."></h2></font></center><br><br>";
echo "<center><h2>"._TITLEDIMENSION."</h2></center><br>\n";
dimensionefiles($chemin,$nomfichier_name,$testotoobig[0],$testotoobig[1],$alertdimension[img]);
echo "<center><h2><br>"._PREVIEW."</h2>\n".
"<i>"._SUBPREVIEW." "._IMAGE." "._SUBPREVIEW2."</i>:<br><br>\n";
echo "".$htmlimgstring."</center>";
}
// Calculate dimensions of swf file and print related html tag
function swftag ($chemin,$nomfichier_name,$alt,$bgcolorswf)
{
global $testotoobig,$alertdimension;
$misura=getimagesize("$chemin/$nomfichier_name");
$htmlswfstring="<embed ALT=\"$alt\" src=\"$chemin/$nomfichier_name\" quality=high bgcolor=\"#$bgcolorswf\" ".$misura[3]." type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\">";
echo "<center><h2>"._TITLETAG."</h2>\n".
"<i>"._INSTRUCTIONTAG." "._MOVIE.". "._INSTRUCTIONTAG2."</i><br>\n";
echo "<font color=\"#000066\"><h2><blockquote><embed ALT=\"$alt\" src=\"$chemin/$nomfichier_name\" quality=high bgcolor=\"#$bgcolorswf\" ".$misura[3]." type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"></h2></font></center><br><br>";
echo "<center><h2>"._TITLEDIMENSION."</h2></center><br>\n";
dimensionefiles($chemin,$nomfichier_name,$testotoobig[2],$testotoobig[3],$alertdimension[swf]);
echo "<center><h2><br>"._PREVIEW."</h2>\n".
"<i>"._SUBPREVIEW." "._MOVIE." "._SUBPREVIEW2."</i>:<br><br>\n";
echo "".$htmlswfstring."</center>";
}
// Check dimension of file and print alert message
function otherfiles ($chemin,$nomfichier_name)
{
global $testotoobig,$alertdimension,$nukeurl;
echo "<center><h2>"._TITLEDIMENSION."</h2></center><br>\n";
dimensionefiles($chemin,$nomfichier_name,$testotoobig[4],$testotoobig[5],$alertdimension[other]);
echo "<center><h2>"._TITLEDOWNLOAD."</h2></center><br>\n";
echo "<center>"._INSTRUCTIONDOWN."</center><br>".
_FILEURL.": <font color=\"#000066\">$nukeurl/$chemin/$nomfichier_name</font><br>\n";
$dimensione=filesize("$chemin/$nomfichier_name");
echo ""._FILESIZE.": <font color=\"#000066\">$dimensione</font> "._BYTES."<br>\n";
echo ""._HOMEPAGE.": <font color=\"#000066\">$nukeurl</font><br>";
}
// Chmod le fichier pour en 644 pour le rendre non executable.
function chmod_no_execution($nomfichier_name)
{
global $chemin;
chmod ("$chemin/$nomfichier_name", 0644);
}
if ($nomfichier!="")
{
if ($index_autorisation == "no")
{
if (verif_index($nomfichier_name)) {
echo "<hr>";
echo ""._ERROR." 02: "._YOURFILE." "$nomfichier_name" "._REFUSE."<br>";
echo "<hr>";
exit;
}
}
if ($execution == "no"){
if(check_extension($nomfichier_name)){
$nomfichier_name = "$nomfichier_name.txt";
}
}
if (presence_file($nomfichier_name) == "true") {
echo "<hr>";
echo ""._ERROR." 01: "._YOURFILE." $nomfichier_name "._EXIST."<br>";
echo "<hr>";
exit;
}
if (copy($nomfichier, "$chemin/$nomfichier_name"))
{
echo ""._YOURFILE." $nomfichier_name "._SUCCESS."<br><p>\n";
// check file type
$imgextension = end(explode(".", $nomfichier_name));
switch ($imgextension)
{
case ("swf"):
swftag($chemin,$nomfichier_name,$alt,$bgcolorswf);
break;
case ("gif"):
imagetag($chemin,$nomfichier_name,$alt);
break;
case ("jpg"):
imagetag($chemin,$nomfichier_name,$alt);
break;
case ("png"):
imagetag($chemin,$nomfichier_name,$alt);
break;
default:
otherfiles($chemin,$nomfichier_name);
}
chmod_no_execution($nomfichier_name);
}
else
{
//echo ""._ERRORPERM."<br>";
//echo ""._PERMISSION."<p>";
//exit;
}
}
echo "<p align=\"right\"><A href=\"http://www.hi-lab.net\"><img src='modules/Easyup/hilab.gif' width='70' height='30' alt='HI-Lab - The Social Technology'></A><p>";
CloseTable();
include ("footer.php");
?>
|