<?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.'&gdir=local&gpoddir=dataavaphoto&gname='.$uzdata[72].'&maxsize=200500" alt="Фотография">.<div></div>';
} else {echo'<img src="../images/img/nofoto.gif" width="210" alt="">.';}
echo '<br><form action="index.php?action=photo&'.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";
?>