Просмотр файла forum/gallery/index.php

Размер файла: 15.02Kb
<?php
# автор скрипта Vantuz
# visavi.net
// модификатор - Arab
// icq - 9988817

Error_Reporting(E_ALL & ~E_NOTICE);
Error_Reporting (ERROR | WARNING);

include_once "../includ/functions.php";
include_once "../includ/login.php";
include_once "../includ/setting.php";
include_once "../includ/online.php";
include_once "../../css/red/index.php";
echo'<title>'.$_SERVER['HTTP_HOST'].' - галлерея фоток</title>';

echo'<div class=agr><center><b>Фото-галлерея</center></b></div><div class=bgr>';
if (!$_SESSION[login]=="" && !md5($_SESSION[password])=="" && md5($_SESSION[password])==$npassword && $_SESSION[login]==$nlogin){
echo''.check($hello).' '.check($login).'<br>';} else { echo''.check($hello).' '.check($guestname).'<br>'; }

if($m_privat>0){ echo'<img src="../images/mail.gif" alt=""> 
<a href="../other/privat.php?'.SID.'"><font color="#ff2222"><b>Новое сообщение - ('.$m_privat.')</b></font></a><br>'; }

if(eregi("[^0-9]", $start)){ echo'<br>Пошел нахуй!'; exit; }
/////////////////////////////////// удаление
if(isset($delete)){
$delete=full_check($delete);
$stroka=check($stroka);
$file=file(''.$maindir.'/forum/data/gallery/fotobase.dat');
$vybor = $file[$stroka];
$editmsg = explode("|",$file[$stroka]);
if($m_level=="1" || $m_level=="2" || $m_level=="3"){

unset($file[$stroka]);
$str=implode("",$file);
$fp=fopen(''.$maindir.'/forum/data/gallery/fotobase.dat','w');
fputs($fp,$str);
echo'Фотография удалена!<meta http-equiv="Refresh" content="1; URL=index.php"/>';
fclose($fp);
unlink("$maindir/forum/data/gallery/$fotoname");
$fotoname = str_replace('.jpg','',$fotoname);
$fotoname = str_replace('.JPG','',$fotoname);
$fotoname = str_replace('.Jpg','',$fotoname);
$fotoname = str_replace('.png','',$fotoname);
$fotoname = str_replace('.PNG','',$fotoname);
$fotoname = str_replace('.Png','',$fotoname);
$fotoname = str_replace('.gif','',$fotoname);
$fotoname = str_replace('.GIF','',$fotoname);
$fotoname = str_replace('.Gif','',$fotoname);
unlink("$maindir/forum/data/gallery/$fotoname.dat");

}else{ echo'<p align="center">Пошел нахуй!</p></div></div>';	// запись в лог
$log_time = date("G:i/j F");
$log_msg=$login.'|Попытка удалить сообщение в гостевой|'.$ip.'|'.$log_time.'|';
$fp=fopen("$maindir/forum/data/logs.dat","a+");
flock($fp,LOCK_EX);
fputs($fp,"$log_msg\r\n");
flock($fp,LOCK_UN);
fclose($fp);
chmod ("$maindir/forum/data/logs.dat", 0666);
include_once "../../css/red/foot.php"; exit;}}////////////////////////////////////////////////





$valid_types = array("gif","jpg","png");  // допустимые расширения фотогалереи

$rand2 = rand(0,99);
$rand3 = rand(0,99);
$rand = "$rand2$rand3";

if (isset($_GET['event'])) {
if ($_GET['event']=="add"){
if (isset ($_POST['name']) & isset ($_POST['msg'])) {$name=check($_POST['name']); $msg=check($_POST['msg']);} else {exit;}

// Вырезаем ПРОБЕЛьные символы
if (!$_SESSION[login]=="" && !md5($_SESSION[password])=="" && md5($_SESSION[password])==$npassword && $_SESSION[login]==$nlogin){

$name=trim($name);
$msg=trim($msg);
$fotosize=$_FILES['file']['size'];
$foto=$_FILES['file']['name'];
$foto=check($foto);
$size = GetImageSize($_FILES['file']['tmp_name']); // Узнаем размеры
$width = $size[0]; 
$height = $size[1]; 

$file=str_replace("php","sex",$file);

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

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

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

$filename = $_FILES['file']['name'];
$filename=check($filename);

$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></div>'; include_once "../../css/red/foot.php"; exit;}


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

$ffile=file("$maindir/forum/data/gallery/fotobase.dat");
$count=count($ffile);
$gg=check($gg);
for($i=0;$i<$count;$i++){
$data=explode("|",$ffile[$i]);
if(strpos($data[2],"$login")!==false){  $gg++; }}
if($gg>2){ echo'Извините но вы уже добавили '.$gg.' фотографий. Чтоб добавить еще вам надо попросить администрации удалить некоторые из ранее добавленных ваших фоток.</div>'; exit;}

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

if($fotosize=="0" || $fotosize>$config_filesize) {
echo'Вес '.$fotosize.' изображения превышает допустимое значение, не более '.$config_filesize.' бит</div>'; 
include_once "../../css/red/foot.php";
exit;}

$fotophp=$_FILES['file']['name'];

$fotokomm=$_FILES['file']['name'];
$fotokomm=strtolower($fotokomm);
$fotokomm = str_replace('.jpg','',$fotokomm);
$fotokomm = str_replace('.png','',$fotokomm);
$fotokomm = str_replace('.gif','',$fotokomm);

$komment=fopen("$maindir/forum/data/gallery/$fotokomm.dat","w+");
fclose($komment);
@chmod("$maindir/forum/data/gallery/$fotokomm.dat", 0777);

$fotophp=strtolower($fotophp);
$fotophp = str_replace('.php','W4d66R6T89ывnы7',$fotophp);
$fotophp = str_replace('.htm','W4d66R6T89ывnы7',$fotophp);
$fotophp = str_replace('.js','W4d66R6T89ывnы7',$fotophp);
$fotophp = str_replace('.rar','W4d66R6T89ывnы7',$fotophp);

if(eregi("W4d66R6T89ывnы7",$fotophp)){
$povod = "Попытка загрузить скрипт в фотогалерее";
$povod=check($povod);
$allban = $m_allban+1;

$text=$udata[0].'|'.$udata[1].'|'.$udata[2].'|'.$udata[3].'|'.$udata[4].'|'.$udata[5].'|'.$udata[6].'|'.$data[7].'|'.$udata[8].'|'.$udata[9].'|'.$udata[10].'|'.$udata[11].'|'.$udata[12].'|'.$udata[13].'|'.$udata[14].'|'.$udata[15].'|'.$udata[16].'|'.$udata[17].'|999999999999999|'.$povod.'|'.$udata[20].'|'.$udata[21].'|'.$allban.'|'.$udata[23].'|'.$udata[24].'|'.$udata[25].'|'.$udata[26].'|'.$udata[27].'|'.$udata[28].'|'.$udata[29].'|';

$text=str_replace("\r\n", "", $text);
$fp=fopen("$maindir/forum/data/users/$login.log","r+");
flock($fp,LOCK_EX);
ftruncate($fp,0);
fputs($fp,"$text");
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
chmod ("$maindir/forum/data/users/$login.log", 0666);
if($m_allban>"$conf_allbans"){
@unlink("$maindir/forum/data/users/$login.log"); @unlink("$maindir/forum/data/privat/$login.dat"); }

$log_time = date("G:i/j F");
$log_msg=$login.'|Попытка загрузить скрипт в фотогалерее|'.$ip.'|'.$log_time.'|';
$fp=fopen("$maindir/forum/data/logs.dat","a+");
flock($fp,LOCK_EX);
fputs($fp,"$log_msg\r\n");
flock($fp,LOCK_UN);
fclose($fp);
chmod ("$maindir/forum/data/logs.dat", 0666);

echo'Гордо идите нахуй!</div>';
include_once "../../css/red/foot.php"; exit;} }



if($_FILES['file']['size']!="0" and $_FILES['file']['size']<$config_filesize){
copy($_FILES['file']['tmp_name'], "$maindir/forum/data/gallery/".$_FILES['file']['name']); 
$ch=$_FILES['file']['name'];
chmod("$maindir/forum/data/gallery/$ch", 0777);

$size = getimagesize("$maindir/forum/data/gallery/".check($ch)."");

echo '<br> (Размер: '.$_FILES['file']['size'].' байт)'; 

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

$size = getimagesize("$maindir/forum/data/gallery/$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|дата|время||фото_большое|размер|разрешение_длина|разрешение_ширина|

$date = date("G:i/j F");

$file=glob("$maindir/forum/data/gallery/*.dat");
$file_count=count($file);
if($file_count<1){
$text=$msg.'|'.$name.'|'.$login.'|'.check($date).'|'.$time.'||'.$foto.'|'.$fotoksize.'|'.$size[0].'|'.$size[1].'|1|';
$fp=fopen("$maindir/forum/data/gallery/fotobase.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);
fclose($fp);
@chmod($fp, 0777);
@chmod("$maindir/forum/data/gallery/fotobase.dat", 0777); }else{

$all = @file("$maindir/forum/data/gallery/fotobase.dat");
$all = @array_reverse($all);
$files = count($all);
$filesx = $files+1;

$text=$msg.'|'.$name.'|'.$login.'|'.check($date).'|'.$time.'||'.$foto.'|'.$fotoksize.'|'.$size[0].'|'.$size[1].'|'.$filesx.'|';
$fp=fopen("$maindir/forum/data/gallery/fotobase.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);
fclose($fp);
@chmod($fp, 0777);
@chmod("$maindir/forum/data/gallery/fotobase.dat", 0777); }

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



if($_GET['event']=="addform"){
if (!$_SESSION[login]=="" && !md5($_SESSION[password])=="" && md5($_SESSION[password])==$npassword && $_SESSION[login]==$nlogin){

$ffile=file("$maindir/forum/data/gallery/fotobase.dat");
$count=count($ffile);
$gg=check($gg);
for($i=0;$i<$count;$i++){
$data=explode("|",$ffile[$i]);
if(strpos($data[2],"$login")!==false){  $gg++; }}
if($gg>2){ echo'Извините но вы уже добавили '.$gg.' фотографий. Чтоб добавить еще вам надо попросить администрации удалить некоторые из ранее добавленных ваших фоток.</div>'; }else{

echo '<center><b>Добавление фотографии</b></center>';
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>';
echo '<input type="submit" value="Добавить" /></form><hr><br>';
echo '>>Добавляйте только ваши фотки!<br>';
echo '>>Разрешается добавлять фотки с расширением ';

foreach($valid_types as $index => $val){
echo("$val, "); }
$config_filesize2=round($config_filesize/1024,1);
$config_filesize2=check($config_filesize2);
$config_filesize=check($config_filesize);
echo'<br>>>Bесом не более '.$config_filesize2.'kb и размером не более '.$config_filefoto.'*'.$config_filefoto.' пикселей<br></div>';

}}else{echo'Вы не авторизованы,<br> Фотографии могут добавлять только авторизованные <br></div>';}
include_once "../../css/red/foot.php"; exit; }}

echo'<a href="?event=addform">Добавить фото</a> | <a href="index.php?'.$rand.'">Обновить</a><br>';

$file = @file("$maindir/forum/data/gallery/fotobase.dat");
if(empty($file)){ echo'<hr><br><b>Фотографий пока нет</b><br><br>'; }
$file = @array_reverse($file);
$total = @count($file);
$maxlist="$all_msg";
$config_post="$all_msg";
if(empty($_GET['start'])) $start = 0;
else $start = $_GET['start'];
if($total<$start+$maxlist){
$end = $total;
}else{ $end = $start + $maxlist; }
for ($i=$start; $i<$end; $i++){
$dt = explode("|",$file[$i]);
$num=$total-$i-1;
$nummsg = $num+1;
$rer=$nummsg-2;

if(!$dt[0]==""){
echo'<div class=litegr></div>'.check($nummsg).'. <b><a href="http://'.$_SERVER['HTTP_HOST'].'/forum/data/gallery/'.$dt[6].'">'.$dt[1].'</a></b> ('.$dt[7].'кб.)';
if($m_level=="1" || $m_level=="2" || $m_level=="3"){
$datax = $nummsg-1;
echo' <a href="index.php?delete&stroka='.$datax.'&fotoname='.$dt[6].'"><font color="ee1111">[удалить]</font></a>'; }

echo'<br> '.$dt[0].'<br>';
echo'Разрешениe: <b>'.$dt[8].'х'.$dt[9].'</b><br>';
echo'Добавил: <a href="../other/anketa.php?user='.$dt[2].'&amp;'.SID.'">'.$dt[2].'</a> ('.rusdata($dt[3]).')';


$dt[62]=$dt[6];
$dt[62]=strtolower($dt[62]);
$dt[62] = str_replace('.jpg','',$dt[62]);
$dt[62] = str_replace('.png','',$dt[62]);
$dt[62] = str_replace('.gif','',$dt[62]);
$all = file("$maindir/forum/data/gallery/".check($dt[62]).".dat");
$all = @array_reverse($all);
$files = count($all);

echo'<br><a href="komments.php?foto='.$dt[6].'&amp;'.SID.'">Комментарии</a> ('.$files.')';
}}



///////////////////////////		НАВИГАЦИЯ   	/////////////////////////////
if($total>0){
echo'<br><div class="c">Стр. ';
$ba=ceil($total/$config_post);
$ba2=$ba*$config_post-$config_post;
$asd=$start-($config_post*3);
$asd2=$start+($config_post*4);
if($asd<$total && $asd>0){echo'<a href="index.php?start=0&amp;'.SID.'">1</a> ... ';}
for($i=$asd; $i<$asd2;){
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_post);
if ($start==$i){
echo'<b> '.$ii.' </b>'; }else{
echo'<a href="index.php?start='.$i.'&amp;'.SID.'">'.$ii.', </a>';}}
$i=$i+$config_post;}

if($asd2<$total){
$ba = str_replace("'","",$ba);
echo ' ... <a href="index.php?start='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}
echo'</div>';}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

echo'<br>Всего фотографий: '.$total.'</div></div>';

include_once "../../css/red/foot.php";
?>