View file gallery/index.php

File size: 11.92Kb
<?php
#-----------------------------------------------------#
#          ********* WAP-MOTORS *********             #
#             Made by   :  VANTUZ                     #
#               E-mail  :  [email protected]             #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#-----------------------------------------------------#	
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";

$text = @file("../local/profil/$log.prof"); 
if ($text!=""){
$udata = explode(":||:",$text[0]);
$provlog=trim($udata[0]);
$provpar=trim($udata[1]);
$privat=trim($udata[10]);}
$date=date("d.m.Y"); 
$time=date("H:i:s"); 

$valid_types = array("gif","jpg","png");  // допустимые расширения фотогалереи
	
echo'<a href="index.php?'.SID.'">Галерея сайта</a> | <a href="index.php?event=addform&amp;'.SID.'">Добавить фото</a><br><br>';
if (isset($_GET['event'])) {
if ($_GET['event']=="add") {  // Событие добавления сообщения if $event=add
// возвращаем значения данных из формы и присваиваем их переменным
if (isset ($_POST['name']) & isset ($_POST['msg'])) {$name=$_POST['name']; $msg=$_POST['msg'];} else {exit;}

// Вырезаем ПРОБЕЛьные символы
$name=trim($name);
$msg=trim($msg);
$fotosize=$_FILES['file']['size'];
$foto=$_FILES['file']['name'];
$size = GetImageSize($_FILES['file']['tmp_name']); // Узнаем размеры
$width = $size[0]; 
$height = $size[1]; 





$data = file("../local/datagallery/fotobase.dat");
for ($p=0;$p<count($data);$p++) {
$dat_arr = explode("|", $data[$p]);

if ($dat_arr[6] == $foto) 
{echo 'Файл с таким именем '.$foto.' существует в базе, пожалуйста добавьте фотографию с другим именем<br>'; 
include_once"../themes/$config_themes/foot.php";
 exit;}}



if ($name == "" || strlen($name) > 50) {echo 'Название пустое, или превышает 50 символов!';  include_once"../themes/$config_themes/foot.php"; exit;}
if ($msg == "" || strlen($msg) > 500) {echo 'Ваша подпись пустая или превышает 300 символов.'; include_once"../themes/$config_themes/foot.php";  exit;}

$filename = $_FILES['file']['name']; // определяем имя файла
// проверяем расширение файла
$ext = substr($filename, 1 + strrpos($filename, "."));
if (!in_array($ext, $valid_types)) {
echo '<b>ФАЙЛ НЕ загружен.</b> Возможные причины:<br>
- неверно введён адрес или выбран файл;<br>
- Вы пытаетесь загрузить не графический файл;<br>
- разрешена загрузка только файлов с такими расширениями: '; 


foreach($valid_types as $index => $val)
{
echo("$val, ");
}
echo'<br>'; include_once"../themes/$config_themes/foot.php";
exit;}

if($width>$config_filefoto || $height>$config_filefoto || $height<"5" || $width<"5" ) {
echo'Размер картинки не должен превышать разрешения '.$config_filefoto.'*'.$config_filefoto.' px<br>'; 
include_once"../themes/$config_themes/foot.php";
exit;}

if(eregi("[^a-z0-9.()+_-]",$foto)){
echo'В названии изображения '.$foto.' присутствуют недопустимые символы'; 
include_once"../themes/$config_themes/foot.php";
exit;} 

if($fotosize=="0" || $fotosize>$config_filesize) {
echo'Вес изображения превышает допустимое значение, не более '.$config_filesize.' бит'; 
include_once"../themes/$config_themes/foot.php";
exit;}
 
 
 //--------------------- Новый антифлуд -----------------------------//
if($config_floodstime > 0){
if(flooder($ip, $php_self) == TRUE ){
echo'Нельзя так часто добавлять фотографии'; 
include_once"../themes/$config_themes/foot.php";
exit;}
$flood_file = fopen(BASEDIR."local/flood.dat", "a+");
flock ($flood_file,LOCK_EX);
fputs ($flood_file, time()."|$ip|$php_self|\r\n");
fflush($flood_file);
flock ($flood_file,LOCK_UN);
fclose($flood_file);   
}
 

if($_FILES['file']['size']!="0" and $_FILES['file']['size']<$config_filesize) {copy($_FILES['file']['tmp_name'], "../local/datagallery/".$_FILES['file']['name']); 
$ch=$_FILES['file']['name'];
chmod("$ch", 0777);
chmod("../local/datagallery/$ch", 0777);
	
echo 'Идет загрузка изображения...<br>';

$size = getimagesize("../local/datagallery/$ch");

if($size[2]=="2"){
echo'<img src="resize.php?act=jpg&amp;image='.$ch.'&amp;show=full" alt="">';}
elseif($size[2]=="1"){
echo'<img src="resize.php?act=gif&amp;image='.$ch.'&amp;show=full" alt="">';}
elseif($size[2]=="3"){
echo'<img src="resize.php?act=png&amp;image='.$ch.'&amp;show=full" alt="">';}



echo '<img src="../local/datagallery/'.$_FILES['file']['name'].'" alt="">';
echo '<br> (Размер: '.$_FILES['file']['size'].' байт)'; 


} else {
echo 'Произошла ошибка при копировании изображения'; exit;}
$foto=$_FILES['file']['name'];
$fotoksize=round($fotosize/10.24)/100; // размер фото в килобайтах
$fotosize=$_FILES['file']['size'];



$size = getimagesize("../local/datagallery/$foto");


//   обрезаем лишние символы в емайле и сообщении

$log=check($log);
$msg=check($msg);
$name=check($name);
$foto=check($foto);
$msg=preg_replace ("|[\r\n]+|si","",$msg);
$name=preg_replace ("|[\r\n]+|si","",$name);

// Запись данных в файл по шаблону: 
// собщение|имя|login|дата|время||фото_большое|размер|разрешение_длина|разрешение_ширина|
$text=$msg.'|'.$name.'|'.$log.'|'.$date.'|'.$time.'||'.$foto.'|'.$fotoksize.'|'.$size[0].'|'.$size[1].'|';
$fp=fopen("../local/datagallery/fotobase.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);
fclose($fp);
@chmod($fp, 0777);
@chmod("../local/datagallery/fotobase.dat", 0777);


echo 'Спасибо <b>'.$log.'</b>, Ваша фотография успешно добавлена. <br><a href="index.php?'.SID.'">Продолжить</a>'; include_once"../themes/$config_themes/foot.php";
exit;
}



if ($_GET['event']=="addform") { 
	if (!$log=="" && !md5($par)=="" && md5($par)==$provpar && $log==$provlog ){
if($config_themes!=="wml"){		
echo '<b>Добавление ФОТО</b>';
echo '<form action="index.php?event=add&amp;'.SID.'" method="post" name="form" enctype="multipart/form-data">';
echo 'Название: <br><input type="text" value="" name="name" /><br>Прикрепить фото: <br>';
echo '<input type="file" name="file" /><br>Подпись к фото: <br><textarea cols="25" rows="3" name="msg"></textarea><br><br>';
echo '<input type="submit" value="Добавить" /></form><hr>';
echo 'Разрешается добавлять фотки с расширением ';
  foreach($valid_types as $index => $val)
   {
      echo("$val, ");
   } $config_filesize2=round($config_filesize/1024,1);
echo'<br> весом не более '.$config_filesize2.' kb и размером не более'.$config_filefoto.'*'.$config_filefoto.' px';
}else{
echo'Для того чтобы добавить фото у вас должен быть включен не wml-cкин<br>Измените тему у себя в настройках!';}


}else{echo'Вы не авторизованы,<br> Фотографии могут добавлять только авторизованные <br>Вам необходимо <a href="../pages/vhod.php?'.SID.'"> авторизоваться</a><br> или сперва <a href="../pages/registration.php?'.SID.'"> зарегистрироваться</a><br>';} }




// При запросе - показываем КРУПНОЕ ИЗОБРАЖЕНИЕ
if ($_GET['event']=="showimg") {
if (isset($_GET['num'])) {$num=$_GET['num']+1;} else {$num=0;}
$lines = file("../local/datagallery/fotobase.dat");
$dti=explode("|",$lines[$num]);
echo 'Название: '.$dti[1].'<br>';


$size = getimagesize("../local/datagallery/$dti[6]");

if($size[2]=="2"){
echo'<img src="resize.php?act=jpg&amp;image='.$dti[6].'&amp;show=full" alt="">';}
elseif($size[2]=="1"){
echo'<img src="resize.php?act=gif&amp;image='.$dti[6].'&amp;show=full" alt="">';}
elseif($size[2]=="3"){
echo'<img src="resize.php?act=png&amp;image='.$dti[6].'&amp;show=full" alt="">';}


echo $dti[0].'<br>';
echo 'Разрешение: <b>'.$dti[8].' х '.$dti[9].'</b>, ';
echo 'Размер: <b>'.$dti[7].'</b> Кб.<br>';
echo 'Добавил: <a href="../pages/anketa.php?uz='.$dti[2].'&amp;'.SID.'">'.$dti[2].'</a> ('.$dti[3].' / '.$dti[4].')';


 }


} else {  



$lines = file("../local/datagallery/fotobase.dat");
if($lines){
$total= count($lines);}
$maxi = count($lines)-1;
$total=(int)$total;
if($total<1){echo'<br><b>Фотографий нет, будь первым!</b><br>';}



if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="1";}
if ($page=="0") {$page="1";} else {$page=abs($page);}


// Выводим $config_fotolist фото на текущей странице
$maxpage=ceil(($maxi+1)/$config_fotolist); if ($page>$maxpage) {$page=$maxpage;}

 $fm=$maxi-$config_fotolist*($page-1); if ($fm<"0") {$fm=$config_fotolist;}
  $lm=$fm-$config_fotolist; if ($lm<"0") {$lm="-1";} 

do { $dt = explode("|", $lines[$fm]);
$fm--;
$tp=$fm; $teknum=$maxi-$tp;
if(!$dt[0]==""){
echo'</div><div class=b>'.$teknum.'. '.$dt[1].'</div><div> ';                                   
echo'<a href="index.php?event=showimg&amp;num='.$tp.'&amp;'.SID.'">';


$size = getimagesize("../local/datagallery/$dt[6]");
if($size[2]=="2"){
echo'<img src="resize.php?act=jpg&amp;image='.$dt[6].'" alt="">';}
elseif($size[2]=="1"){
echo'<img src="resize.php?act=gif&amp;image='.$dt[6].'" alt="">';}
elseif($size[2]=="3"){
echo'<img src="resize.php?act=png&amp;image='.$dt[6].'" alt="">';}

echo'</a>'.$dt[0].'<br>';
echo'Разрешение: <b>'.$dt[8].' х '.$dt[9].'</b>,'; 
echo'Размер: <b>'.$dt[7].'</b> Кб.<br>';
echo'Добавил: <a href="../pages/anketa.php?uz='.$dt[2].'&amp;'.SID.'">'.$dt[2].'</a> ('.$dt[3].' / '.$dt[4].')'; 
}


$cm=1; 
$zz=$maxi-$fm;
if ((round(($maxi-$fm)))==(($maxi-$fm))) {$cm++;}
$whm=$lm; $whe=$fm;
} while($whm < $whe);

if($total>$config_fotolist){
echo '<br><hr>Страницы:  ';
$ba=ceil($total/$config_fotolist);

$asd=($page*$config_fotolist)-($config_fotolist*3);
$asd2=($page*$config_fotolist)+($config_fotolist*2);
if($asd<0){$asd=0;}
if($asd2>$total){$asd2=$total;}

if($asd<$total && $asd>1){echo ' <a href="index.php?page=1&amp;'.SID.'">1</a> ... ';}

for($i=$asd; $i<$asd2;) {$ip=$i/$config_fotolist+1;

if ($page==$ip) {echo ' <b>'.(int)$ip.'</b> ';} else {echo ' <a href="index.php?page='.(int)$ip.'&amp;'.SID.'">'.(int)$ip.'</a> ';}
$i=$i+$config_fotolist;}
if($asd2<$total){echo ' ... <a href="index.php?page='.(int)$ba.'&amp;'.SID.'">'.(int)$ba.'</a>';}
}

echo'<br>Всего фотографий: '.$total;
}
echo'<br><br><a href="../index.php?'.SID.'">На главную</a>'; 
include_once"../themes/$config_themes/foot.php";
?>