"; if (isset($_GET['event'])) { if ($_GET['event']=="add") { // Добавление ФОТО if (isset ($_POST['name']) & isset ($_POST['msg']) & isset ($_POST['email'])) {$name=$_POST['name']; $msg=$_POST['msg']; $email=$_POST['email'];} else {exit;} $name=trim($name); $msg=trim($msg); $email=trim($email); // Вырезаем ПРОБЕЛьные символы $name=str_replace("|","I",$name); $email=str_replace("|","I",$email); $msg=str_replace("|","I",$msg); // чтоб БД не "уронили"! if ($name==="" || strlen($name)>$maxname) {print "$shapka $back ваше имя или пустое, или превышает $maxname символов!"; exit;} if ($msg==="" || strlen($msg)>$maxmsg) {print "$shapka $back ваше сообщение или пустое или превышает $maxmsg символов."; exit;} if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $email) and strlen($email)>30 and $email!=="") {print "$shapka $back и введите корректный E-mail адрес!"; exit;} $fotoname = $_FILES['file']['name']; // определяем имя файла $fotosize=$_FILES['file']['size']; // Запоминаем размер файла // проверяем расширение файла $ext = strtolower(substr($fotoname, 1 + strrpos($fotoname, "."))); if (!in_array($ext, $valid_types)) {echo 'ФАЙЛ НЕ загружен. Возможные причины:
- разрешена загрузка только файлов с такими расширениями: gif, jpg, jpeg, png
- Вы пытаетесь загрузить не графический файл;
- неверно введён адрес или выбран файл;
'; exit;} // ЗАЩИТЫ от ВЗЛОМА // 1. считаем кол-во точек в выражении - если большей одной - СВОБОДЕН! $findtchka=substr_count($fotoname, "."); if ($findtchka>1) {echo "ТОЧКА встречается в имени файла $findtchka раз(а). Это ЗАПРЕЩЕНО!
\r\n";} // 2. если в имени есть .php, .html, .htm - свободен! $bago="Извините. В имени ФАйла запрещено использовать .php, .html, .htm"; if (preg_match("/\.php/i",$fotoname)) {echo "Вхождение \".php\" найдено. $bago"; exit;} if (preg_match("/\.html/i",$fotoname)) {echo "Вхождение \".html\" найдено. $bago"; exit;} if (preg_match("/\.htm/i",$fotoname)) {echo "Вхождение \".htm\" найдено. $bago"; exit;} // 3. защищаем от РУССКИХ букв в имени файла и проверяем расширение файла if (!preg_match("/^[a-z0-9\.\-_]+\.(jpg|gif|png|)+$/is",$fotoname)) {print "Запрещено использовать РУССКИЕ буквы в имени файла!"; exit;} // 4. Проверяем, может быть файл с таким именем уже есть на сервере if (file_exists("$datadir/$fotoname")) {print "Файл с таким именем уже существует на сервере! Измините имя на другое!"; exit;} // Конец защит по имени файла $fotoksize=round($fotosize/10.24)/100; // размер ЗАГРУЖАЕМОГО ФОТО в Кб. $fotomax=round($max_file_size/10.24)/100; // максимальный размер фото в Кб. if ($fotoksize>$fotomax) {print"Вы превысили допустимый размер фото!
Максимально допустимый размер фото: $fotomax Кб.
Вы пытаетесь загрузить изображение: $fotoksize Кб!"; exit;} if ($fotosize>"0" and $fotosize<$max_file_size) { copy($_FILES['file']['tmp_name'], $datadir."/".$fotoname); print "

Фото УСПЕШНО загружено: $fotoname (Размер: $fotosize байт)";} else { print "Файл НЕ ЗАГРУЖЕН - ошибка СЕРВЕРА! Обратитесь к администратору!"; exit;} $size=getimagesize("$datadir/$fotoname"); // Проверяем размер фото. Если "габариты" меньше заданный в админке 150 х 120 - то ничего с ним не делаем // блок делает мальное изображение исходной фотки - в качестве превьюшки if ($size[0]>$smwidth or $size[1]>$smheight) { $smallfoto="sm-$fotoname"; require ('tumbmaker.php'); if (img_resize("$datadir/$fotoname", "$datadir/$smallfoto", $smwidth, $smheight)) echo 'Изображение масштабировано успешно.'; else echo 'Ошибка МАСШАБИРОВАНИЯ фото! Поблемы с GD-библиотекой! Обратитесь к Администратору'; } else {$smallfoto="$fotoname";} // Генерируем рандомный КЛЮЧ - msnum-фото $z=1; do {$key=mt_rand(10000,99999); if (strlen($key)==5) {$z++;} } while ($z<1); // Запись данных: собщение|имя|емайл|дата|время|фото_малое|фото_большое|размер_Кб|ширина|высота| $text="$msg|$name|$email|$date|$time|$smallfoto|$fotoname|$fotoksize|$size[0]|$size[1]|$key|||"; $text=str_replace( " " ,' ' ,$text); $text=str_replace( "&" ,'&' ,$text); $text=str_replace( "" ,'-->' ,$text); $text=preg_replace( "/


Спасибо $name, Ваше фото успешно добавлено. Через несколько секунд Вы будете перемещены на главную страницу фотогалереи. Если этого не происходит, то для возврата нажмите здесь



"; exit; } if ($_GET['event']=="showimg") { // показываем КРУПНОЕ ИЗОБРАЖЕНИЕ if (!isset($_GET['msnum'])) {exit("$back. Попытка взлома. Хакерам здесь не место.");} $msnum=$_GET['msnum']; $msnum=trim($msnum); if (!ctype_digit($msnum) or strlen($msnum)>5) {exit("$back. Попытка взлома. Хакерам здесь не место.");} $lines=file($datafile); $maxi=count($lines); $i="0"; do {$dt=explode("|", $lines[$i]); $i++; if ($dt[10]===$msnum) { print "$shapka
$dt[0]
"; $ok="1";} } while($i < $maxi); if (!isset($ok)) {exit("$back. Данное изображение отсутствует в фотогалерее. Возможно, его удалил админ!");} exit;} include "images/$skin/top.html"; if ($_GET['event']=="addform") { // Выводим ФОРМУ ДЛЯ ЗАГРУЗКИ ФОТКИ $fotomax=round($max_file_size/10.24)/100; // максимальный размер фото в Кб. print "$shapka

Добавление ФОТО
Имя
Е-майл
Прикрепить фото
* Максимально разрешённый размер фото: $fotomax Кб.
Подпись к фото



"; } if ($_GET['event']=="coment") {$msnum=$_GET['msnum']; // просмотр КОММЕНТАРИЕВ к фото $lines=file($datafile); $maxi=count($lines); $i="0"; do {$dt=explode("|", $lines[$i]); $i++; if ($dt[10]===$msnum) { print"
Фото № $i
$dt[0]
$dt[0]
Разрешение: $dt[8] х $dt[9]
Размер: $dt[7] Кб.
"; } } while($i < $maxi); if (is_file("$datadir/$msnum.dat")) { $rlines=file("$datadir/$msnum.dat"); $ri=count($rlines); $bals=0; $all=0; print"
"; do {$ri--; $edt=explode("|",$rlines[$ri]); $edt[3]=date("d.m.Y H:i:s",$edt[3]); if ($edt[4]!=0) {$bals=$bals+$edt[4]; $all++;} else {$edt[4]="-";} print""; } while($ri>0); if ($bals==0) {$itogobals="-";} else {$itogobals=round($bals*10/$all)/10;} print "
Коментарии посетителей:
Имя, Емайл, ДатаТекст коментарияОценка
$edt[0]
$edt[1]
$edt[3]
$edt[2]$edt[4]
Средняя оценка фото: $itogobals / 10
Добавить комментарий

"; }} // $event=="coment" } else { // Типо главной страницы include "images/$skin/top.html"; $lines=file($datafile); $maxi=count($lines)-1; if ($maxi>=0) { if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="1";} if ($page=="0") {$page="1";} else {$page=abs($page);} print ""; // Выводим qq фото на текущей странице $maxpage=ceil(($maxi+1)/$qq); if ($page>$maxpage) {$page=$maxpage;} if ($msginout=="1") { $fm=$qq*($page-1); if ($fm>$maxi) {$fm=$maxi-$qq;} $lm=$fm+$qq; if ($lm>$maxi) {$lm=$maxi+1;} } else { $fm=$maxi-$qq*($page-1); if ($fm<"0") {$fm=$qq;} $lm=$fm-$qq; if ($lm<"0") {$lm="-1";} } do { $dt = explode("|", $lines[$fm]); $msnum=$dt[10]; if ($msginout=="1") {$fm++;} else {$fm--;} $tp=$fm; $teknum=$maxi-$tp; print""; $cm=1; // додумать! // ДЕЛИМ ВСЕ РУБРИКИ на столбцы $zz=$maxi-$fm/$colrubperpage; if ((round(($maxi-$fm)/$colrubperpage))==(($maxi-$fm)/$colrubperpage)) {$cm++; print "";} if ($msginout=="1") {$whm=$fm; $whe=$lm;} else {$whm=$lm; $whe=$fm;} } while($whm < $whe); print"
Фото № $teknum
"; if (is_file("$datadir/$msnum.dat")) { $rlines=file("$datadir/$msnum.dat"); $ri=count($rlines); $bals=0; $all=0; print""; do {$ri--; $edt=explode("|",$rlines[$ri]); $edt[3]=date("d.m.Y H:i:s",$edt[3]); if ($edt[4]!=0) {$bals=$bals+$edt[4]; $all++;} else {$edt[4]="-";} } while($ri>0); if ($bals==0) {$itogobals="+";} else {$itogobals=round($bals*10/$all)/10; $itogobals.="";} print ""; } else {print" ";} print"
$dt[0]
$dt[0]
Разрешение: $dt[8] х $dt[9]
Размер: $dt[7] Кб.
Коментарии [ $ri ]
Оценка [$itogobals]
Коментарии [ + ]
Оценка [+]
$dt[1]$dt[3]
$dt[4]
"; // выводим СПИСОК СТРАНИЦ ВНИЗУ print "
Страницы:  "; for($i=0; $i<$maxi+1;) {$ip=$i/$qq+1; if ($page==$ip) {print "$ip  ";} else {print "$ip  ";} $i=$i+$qq;} print ""; } } // if ($maxi>=0) print ""; include ("images/bottom.html"); ?>
Foto-Gallery ©