Файл: obmen/inc/upload_act.php
Строк: 87
<?
if ($dir_id['upload']==1 and $user['id'] and (!isset($set['obmen_limit_up']) || $set['obmen_limit_up']<=$user['balls'])){
if (isset($_GET['act']) && $_GET['act']=='upload' && isset($_GET['ok']) && $l!='/')
{
if (!isset($_FILES['file']))$err[]='Ошибка при выгрузке файла';
if (!isset($_FILES['file']['tmp_name']) || filesize($_FILES['file']['tmp_name']) == 0)
$err[]='Ошибка нулевой размер файла !';
elseif (!isset($_FILES['file']['tmp_name']) || filesize($_FILES['file']['tmp_name'])>$dir_id['maxfilesize'])$err[]='Размер файла превышает установленные ограничения';
else
{
$file=esc(stripcslashes(htmlspecialchars($_FILES['file']['name'])));
$file=preg_replace('(#|?)', NULL, $file);
$name=preg_replace('#.[^.]*$#', NULL, $file); // имя файла без расширения
$ras=strtolower(preg_replace('#^.*.#', NULL, $file));
$type=$_FILES['file']['type'];
$size=filesize($_FILES['file']['tmp_name']);
$rasss=explode(';', $dir_id['ras']);
$ras_ok=false;
for($i=0;$i<count($rasss);$i++)
{
if ($rasss[$i]!=NULL && $ras==$rasss[$i])$ras_ok=true;
}
if (!$ras_ok)$err='Неверное расширение файла';
}
$name_file = $name;
$name = retranslit(esc($name .'_'. time()));
$opis=NULL;
if (isset($_POST['opis']))
$opis=stripslashes(htmlspecialchars(esc($_POST['opis'])));
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id_dir` = '$dir_id[id]' AND `name` = '$name'"),0)!=0)
$err[]='Файл с таким названием уже есть в этой папке';
if (!isset($err))
{
mysql_query("INSERT INTO `obmennik_files` (`id_dir`, `name`, `ras`, `type`, `size`, `time`, `time_last`, `id_user`, `opis` ,`name_file`)
VALUES ('$dir_id[id]', '$name', '$ras', '$type', '$size', '$time', '$time', '$user[id]', '$opis','$name_file' )");
$id_file=mysql_insert_id();
if (!@copy($_FILES['file']['tmp_name'], H."sys/obmen/files/$id_file.dat"))
{
mysql_query("DELETE FROM `obmennik_files` WHERE `id` = '$id_file' LIMIT 1");
$err[]='Ошибка при выгрузке';
}
}
if (!isset($err))
{
chmod(H."sys/obmen/files/$id_file.dat", 0666);
if (isset($_FILES['screen']) && $imgc=@imagecreatefromstring(file_get_contents($_FILES['screen']['tmp_name'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW= $set['obmen_foto_128_w']; // ширина
$dstH= $set['obmen_foto_128_H']; // высота
}
elseif ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$set['obmen_foto_128_w'];;
$dstH=ceil($dstW/$prop);
}
else
{
$prop=$img_y/$img_x;
$dstH=$set['obmen_foto_128_H'];;
$dstW=ceil($dstH/$prop);
}
$screen=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen=img_copyright($screen); // наложение копирайта
imagegif($screen,H."sys/obmen/screens/128/$id_file.gif");
imagedestroy($screen);
}
}
}
}
if (isset($_GET['act']) && $_GET['act']=='import' && isset($_GET['ok']) && $l!='/')
{
if (!isset($_POST['file'])) $err[]='Ошибка при выгрузке файла';
else
{
$newfile=basename($_POST["file"]);
$name=preg_replace('#.[^.]*$#i', NULL, $newfile);
$ras=strtolower(preg_replace('#^.*.#i', NULL,$newfile));
$file=esc(stripcslashes(htmlspecialchars($_POST['file'])));
$file=preg_replace('(#|?)', NULL, $file);
$rasss=explode(';', $dir_id['ras']);
$ras_ok=false;
for($i=0;$i<count($rasss);$i++)
{
if ($rasss[$i]!=NULL && $ras==$rasss[$i])$ras_ok=true;
}
if (!$ras_ok)$err='Неверное расширение файла';
}
$opis=NULL;
if (isset($_POST['opis'])) $opis=my_esc($_POST['opis']);
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id_dir` = '$dir_id[id]' AND `name` = '$name'"),0)!=0)
$err[]='Файл с таким названием уже есть в этой папке';
if (!isset($err))
{
mysql_query("INSERT INTO `obmennik_files` (`id_dir`, `name`, `ras`, `time`, `time_last`, `id_user`, `opis` )
VALUES ('$dir_id[id]', '$name', '$ras', '$time', '$time', '$user[id]', '$opis' )");
$id_file=mysql_insert_id();
if (!@copy($_POST['file'], H."sys/obmen/files/$id_file.dat"))
{
mysql_query("DELETE FROM `obmennik_files` WHERE `id` = '$id_file' LIMIT 1");
$err[]='Ошибка при выгрузке';
}
else mysql_query("UPDATE `obmennik_files` SET `size` = '".filesize(H."sys/obmen/files/$id_file.dat")."' WHERE `id` = '$id_file' LIMIT 1");
}
if (!isset($err))
{
chmod(H."sys/obmen/files/$id_file.dat", 0666);
if (isset($_POST['screen']) && $imgc=@imagecreatefromstring(file_get_contents($_POST['screen'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=480; // ширина
$dstH=480; // высота
}
elseif ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=480;
$dstH=ceil($dstW/$prop);
}
else
{
$prop=$img_y/$img_x;
$dstH=480;
$dstW=ceil($dstH/$prop);
}
$screen=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen=img_copyright($screen); // наложение копирайта
imagegif($screen,H."sys/obmen/screens/480/$id_file.gif");
imagedestroy($screen);
}
}
}
?>