Просмотр файла WEB-Pack_LIGHT_version_3/upphoto/index.php

Размер файла: 11.4Kb
<?php

###########################
##          ********* Sky CMS ********       ##
##                 Modification   :  LondoN           ##
##               E-mail  :  [email protected]     ##
##                 Site  :  http://inter-sky.net       ##
##                                                                      ##
##                  ICQ  :  355-98-00-79              ##
##                                                                      ## ##################################
##     ВЫ НЕ ИМЕЕТЕ ПРАВА ВНОСИТЬ ИЗМЕНЕНИЯ В КОД СКРИПТА ДЛЯ РАСПРОСТРАНЕНИЯ    ##
##############################################################	
##   СКРИПТЫ, ДИЗАЙН ПОД ЗАКАЗ !!!  ICQ  :  355-98-00-79   http://inter-sky.net Дмитрий LONDON
##############################################################

/*
 ВЫПОЛНЯЮ  ЗАКАЗЫ  НА  ЭКСКЛЮЗИВНЫЕ СКРИПТЫ ДЛЯ ВАШЕГО САЙТА !!!
 
 Возникли проблемы или найдены баги?   ICQ  :  355-98-00-79   http://inter-sky.net Дмитрий LONDON
 
 Всегда рад вашим отзывам, пожеланиям, предложениям или простой благодарности!
 
 Если не жалко, то прошу помочь развитию проекта и на оплату Интернета: 
 
Webmoney Wmid: 	180910508615
Webmoney WMZ: 	257351459957
Webmoney WMR: 	183110384655
Webmoney WME: 	681446621238

 Искренне, Ваш LONDON !!!
 */
################################################################

require_once"../template/start.php";
require_once"../template/regglobals.php";
require_once"../template/config.php";
require_once"../template/functions.php";
require_once"../template/antidos.php";
require_once"../template/cookies.php";
require_once"../template/gzip.php";
require_once"../template/header.php";
require_once"../template/referer.php";
include_once"../themes/$config_themes/index.php";
include_once"../template/isset.php";
include_once"configuration.php";

echo '<img src="../images/img/partners.gif" alt=""> <b>Загрузка фотографии</b><br><br>';

if ($provlog==$_SESSION['log'] && $provpar==md5($_SESSION['par']) && $_SESSION['log']!="" && md5($_SESSION['par'])!=""){
	
if(!isset($action)){
	
if($uzdata[72]!=="" && file_exists("../local/dataavaphoto/$uzdata[72]")){
$ext = strtolower(substr($uzdata[72], strrpos($uzdata[72], '.') + 1));
$dt = explode("|", $lines[$i]);	

echo'<br><img src="../upphoto/resize.php?act='.$ext.'&amp;gdir=local&amp;gpoddir=dataavaphoto&amp;gname='.$uzdata[72].'&amp;maxsize=200500" alt="Фотография">.<div></div>';

} else {echo'<img src="../images/img/nofoto.gif" width="210" alt="">.';}
	
echo '<br><form action="index.php?action=photo&amp;'.SID.'" method="post" name="form" enctype="multipart/form-data">';
echo '<br>Прикрепить фото:  ';
echo '<input type="file" name="file" /> ';
echo '<input type="submit" value="Загрузить" /></form><hr>';




echo '<br><br>';

echo 'Разрешено расширение фото только <b>.GIF .JPEG .PNG </b> <u>(в нижнем регистре)</u><br>';
echo 'В названии фото могут быть <u>только</u> латинские буквы и цифры, длина - не более 10 символов!<br><br>';

}

//---------------------------- Загрузка фото  --------------------------//
if($action=="photo"){

// Для начала удаляем текущее фото
if($uzdata[72]!=="" && file_exists("../local/dataavaphoto/$uzdata[72]")){
$ext = strtolower(substr($uzdata[72], strrpos($uzdata[72], '.') + 1));
$dt = explode("|", $lines[$i]);	
unlink ("$idatadir/$uzdata[72]");
} 

$valid_types=array("gif","jpg","png","jpeg"); 



$fotoname = $_FILES['file']['name']; 
$fotosize=$_FILES['file']['size']; 
// проверяем расширение файла
$ext = strtolower(substr($fotoname, 1 + strrpos($fotoname, ".")));
if (!in_array($ext, $valid_types)) {header("location: ../pages/profil.php?system=photo&isset=youhacker&".SID); exit;}

if (!preg_match("/^[a-z0-9\.\-_]+\.(jpg|gif|png|)+$/is",$fotoname)) {header("location: ../pages/profil.php?system=photo&isset=youhacker&".SID); exit;}



$findtchka=substr_count($fotoname, "."); if ($findtchka>1) {echo 'ТОЧКА встречается в имени файла '.$findtchka.' раз(а). Это ЗАПРЕЩЕНО! <BR>\r\n';}

$bago="Извините. В имени Файла <B>запрещено</B> использовать .php, .html, .htm";
if (preg_match("/\.php/i",$fotoname))  {header("location: ../pages/profil.php?system=photo&isset=youhacker&".SID); exit;}
if (preg_match("/\.html/i",$fotoname)) {header("location: ../pages/profil.php?system=photo&isset=youhacker&".SID); exit;}
if (preg_match("/\.htm/i",$fotoname))  {header("location: ../pages/profil.php?system=photo&isset=youhacker&".SID); exit;}


$fotoksize=round($fotosize/10.24)/100; // размер ЗАГРУЖАЕМОГО ФОТО в Кб.
$fotomax=round($imax_file_size/10.24)/100; // максимальный размер фото в Кб.
if ($fotoksize>$fotomax) {echo'Вы превысили допустимый размер фото! <BR><B>Максимально допустимый</B> размер фото: <B>'.$fotomax.' </B>Кб.<BR> <B>Вы пытаетесь</B> загрузить изображение: <B>$fotoksize</B> Кб!'; include_once"../themes/$config_themes/foot.php"; exit;}


$size=getimagesize($_FILES['file']['tmp_name']);
if ($size[0]>$imaxwidth or $size[1]>$imaxheight) {print "$size[0] x $size[1] - не допустимые габариты фото. Разрешено $imaxwidth х $imaxheight px!"; include_once"../themes/$config_themes/foot.php"; exit;}



if   ($fotosize>"0" and $fotosize<$imax_file_size) {
     copy($_FILES['file']['tmp_name'], $idatadir."/".$fotoname);
     echo '<br><br>Фото УСПЕШНО загружено: '.$fotoname.' (Размер: '.$fotosize.' байт)';}
else { echo '<B>Файл НЕ ЗАГРУЖЕН - ошибка СЕРВЕРА! Обратитесь к администратору!<B>'; include_once"../themes/$config_themes/foot.php"; exit;}

if ($size[0]>230) { // Если ширина фото больше 230, то производим такие действия: 
// Создаём новое изображение из «старого»
$src=ImageCreateFromJPEG ("$idatadir/$fotoname");
// Берём числовое значение ширины фотографии, которое мы получили в первой строке и записываем это число в переменную
$iw=$size[0];
// Проделываем ту же операцию, что и в предыдущей строке, но только уже с высотой.
$ih=$size[1];
// Ширину фотографии делим на 150 т.к. на выходи мы хотим получить фото шириной в 150 пикселей. В результате получаем коэфициент соотношения ширины оригинала с будущей превьюшкой.
$koe=$iw/250;
// Делим высоту изображения на коэфициент, полученный в предыдущей строке, и округляем число до целого в большую сторону — в результате получаем высоту нового изображения.
$new_h=ceil ($ih/$koe);
// Создаём пустой изображени шириной в 250 пикселей и высотой, которую мы вычислили в предыдущей строке.
$dst=ImageCreateTrueColor (250, $new_h);
// Данная функция копирует прямоугольную часть изображения в другое изображение, плавно интерполируя пикселные значения таким образом, что, в частности, уменьшение размера изображения сохранит его чёткость и яркость.
ImageCopyResampled ($dst, $src, 0, 0, 0, 0, 250, $new_h, ImageSX ($src), ImageSY ($src));
// Сохраняем полученное изображение
ImageJPEG ($dst, "$idatadir/$log-$fotoname", 100);


//------------------------------ Запись в профиль ----------------------------//
$ufile = file_get_contents(BASEDIR."local/profil/$log.prof"); 
$udata = explode(":||:",$ufile);

$udata[72]=check(no_br("$log-$fotoname"));

$utext = "";
for ($u=0; $u<$config_userprofkey; $u++){
$utext.=$udata[$u].':||:';}

if($udata[0]!="" && $udata[1]!="" && $udata[4]!="" && $utext!=""){
$fp=fopen(BASEDIR."local/profil/$log.prof","a+");
flock($fp,LOCK_EX);           
ftruncate($fp,0);                                                                 
fputs($fp,$utext);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp); 
unset($utext); 
}

//  закачиваем прикреплённый файл на сервер
if (isset($_POST['file'])) {
if (!copy($file, $file.'.bak')) {echo ('при копировании файла '.$file.' произошла ошибка...<br>\n');}}

unlink ("$idatadir/$fotoname"); // удаляем фото - оригинал

} else { // если ширина меньше 230, то действуем проще
// Копируем файл, переименовываем, пишем в файл, оригинал удаляем


rename ("$idatadir/$fotoname", "$idatadir/$log-$fotoname");

//------------------------------ Запись в профиль ----------------------------//
$ufile = file_get_contents(BASEDIR."local/profil/$log.prof"); 
$udata = explode(":||:",$ufile);

$udata[72]=check(no_br("$log-$fotoname"));

$utext = "";
for ($u=0; $u<$config_userprofkey; $u++){
$utext.=$udata[$u].':||:';}

if($udata[0]!="" && $udata[1]!="" && $udata[4]!="" && $utext!=""){
$fp=fopen(BASEDIR."local/profil/$log.prof","a+");
flock($fp,LOCK_EX);           
ftruncate($fp,0);                                                                 
fputs($fp,$utext);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp); 
unset($utext); 
}

if (isset($_POST['file'])) {
if (!copy($file, $file.'.bak')) {echo ('при копировании файла '.$file.' произошла ошибка...<br>\n');}}

}

echo'<script language="Javascript">function reload() {location = "../pages/profil.php?system=photo&isset=upphoto_ok&"}; setTimeout("reload()", 1500);</script>
<BR><BR><BR><center><table border=1 cellpadding=7 cellspacing=0 bordercolor=#224488 width=350><tr><td><center>
Спасибо <B>'.$log.'</B>, Ваше фото успешно добавлено. Через несколько секунд Вы будете перемещены на страницу загрузки фото.<BR>
Если этого не происходит, то для возврата нажмите <B><a href="../pages/profil.php?system=photo&isset=upphoto_ok&"> здесь</a></B> </td></tr></table></center><BR><BR><BR>';
include_once"../themes/$config_themes/foot.php"; exit;
}

}else{echo'<br>Эта страница доступна только авторизованным пользователям<br><br>';}	
	
echo'<hr>';
include_once"../themes/$config_themes/foot.php";
?>