Файл: public_html/foto.php
Строк: 194
<?php
require_once './element_options/element_options.php';
if (!$user) { header('Location: /'); exit; }
$title = 'Фоточки';
require_once './element_include/element_head.php';
require_once './element_include/element_header_user_true.php';
$config_filefoto="1280";
$config_ize="1000000";
$config_fotolist="5";
echo '<div class="nfl p5 mb5 mt5 mlra small cntr"><div class="nfl p5 mb5 mt5 mlra small cntr"><span class="yellow1 bold">Здесь можно выложить свое фото, фото персонажа и похвастаться другим</span><br/>';
echo'<a class="button w70 mt5" href="?event=addform"><span class="ttl">Загрузить фоточку</span></a>';
echo'</div>';
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("fots/fotogal/bases.dat");
for ($p=0;$p<count($data);$p++) {
$dat_arr = explode("|", $data[$p]);
$valid_types = array("gif","jpg","png");
if ($dat_arr[6] == $foto)
{
$title = 'Ошибка загрузки фоточки';
$error1 = '<span class="small">Указанная фоточка с таким именем уже существует, если вы считаете это ошибкой, обратитесь пожалуйста в <a class="small yellow" href="/support">техническую поддержку</a></span>';
require_once 'element_error_page.php';
exit;
}
}
if ($name == "" || strlen($name) > 50) {
$title = 'Ошибка загрузки фоточки';
$error1 = '<span class="small">Имя фоточки не может быть пустым и не может превышать 50 символов, если вы считаете это ошибкой, обратитесь пожалуйста в <a class="small yellow" href="/support">техническую поддержку</a></span>';
require_once 'element_error_page.php';
exit;
}
if ($msg == "" || strlen($msg) > 500) {
$title = 'Ошибка загрузки фоточки';
$error1 = '<span class="small">Описание фоточки не может быть пустым или превышать 500 символов, если вы считаете это ошибкой, обратитесь пожалуйста в <a class="small yellow" href="/support">техническую поддержку</a></span>';
require_once 'element_error_page.php';
exit;
}
$filename = $_FILES['file']['name']; // определяем имя файла
// проверяем расширение файла
$ext = substr($filename, 1 + strrpos($filename, "."));
if($ext=="jpg" || $ext=="gif" || $ext=="png"){
}else{
$title = 'Ошибка загрузки фоточки';
$error1 = '<span class="small">Формат файла ТОЛЬКО gif, jpg или png, если вы считаете это ошибкой, обратитесь пожалуйста в <a class="small yellow" href="/support">техническую поддержку</a></span>';
require_once 'element_error_page.php';
exit;
}
if($width>$config_filefoto || $height>$config_filefoto || $height<"25" || $width<"25" ) {
$title = 'Ошибка загрузки фоточки';
$error1 = '<span class="small">Большая фоточка, такая не подойдет, если вы считаете это ошибкой, обратитесь пожалуйста в <a class="small yellow" href="/support">техническую поддержку</a></span>';
require_once 'element_error_page.php';
exit;
}
if(eregi("[^a-z0-9.()+_-]",$foto)){
$title = 'Ошибка загрузки фоточки';
$error1 = '<span class="small">В названии запрещенные символы, если вы считаете это ошибкой, обратитесь пожалуйста в <a class="small yellow" href="/support">техническую поддержку</a></span>';
require_once 'element_error_page.php';
exit;
}
if($fotosize=="2" || $fotosize>$config_ize) {
$title = 'Ошибка загрузки фоточки';
$error1 = '<span class="small">Большеватая фоточка, если вы считаете это ошибкой, обратитесь пожалуйста в <a class="small yellow" href="/support">техническую поддержку</a></span>';
require_once 'element_error_page.php';
exit;
}
if($_FILES['file']['size']!="0" and $_FILES['file']['size']<$config_ize) {copy($_FILES['file']['tmp_name'], "fots/fotogal/".$_FILES['file']['name']);
$ch=$_FILES['file']['name'];
/*$size = getimagesize("fots/fotogal/$ch");
if($size[2]=="2"){
echo'<img src="resize.php?act=jpg&image='.$ch.'&show=full" alt="">';}
elseif($size[2]=="1"){
echo'<img src="resize.php?act=gif&image='.$ch.'&show=full" alt="">';}
elseif($size[2]=="3"){
echo'<img src="resize.php?act=png&image='.$ch.'&show=full" alt="">';}
*/
echo '<img src="fots/fotogal/'.$_FILES['file']['name'].'" height=100 width=100 alt="">';
} else {
echo 'Произошла ошибка при копировании изображения'; exit;}
$foto=$_FILES['file']['name'];
$fotoksize=round($fotosize/10.24)/100; // размер фото в килобайтах
$fotosize=$_FILES['file']['size'];
$size = getimagesize("fots/fotogal/$foto");
$log=htmlspecialchars(stripslashes($log));
$msg=htmlspecialchars(stripslashes($msg));
$name=htmlspecialchars(stripslashes($name));
$foto=htmlspecialchars(stripslashes($foto));
$msg=preg_replace ("|[rn]+|si","",$msg);
$name=preg_replace ("|[rn]+|si","",$name);
// Запись данных в файл по шаблону:
// собщение|имя|login|дата|время||фото_большое|размер|разрешение_длина|разрешение_ширина|
$text=$msg.'|'.$name.'|'.$user["lost_login"].'|'.$date.'|'.$time.'||'.$foto.'|'.$fotoksize.'|'.$size[0].'|'.$size[1].'|';
$fp=fopen("fots/fotogal/bases.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$textrn");
flock ($fp,LOCK_UN);
fclose($fp);
echo '<br><span class="moderator small">Спасибо, Ваша фотография успешно добавлена.</span> <a class="yellow1" href="/foto">Продолжить</a>';
echo'</div>';
require_once './element_include/element_foot_user_true.php';
exit;
}
if ($_GET['event']=="addform") {
echo '<form action="foto.php?event=add" method="post" name="form" enctype="multipart/form-data">';
echo'<div class="nfl p5 mb5 mt5 mlra small cntr"><span class="yellow1 bold">';
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 '<span class="button w30 mt5"><input class="ttl" type="submit" value="Загрузить" /></form></span></span></div>';
echo '<span class="lngreen">Разрешается загружать фотографии с расширением jpg, gif и png,';
$config_ize2=round($config_ize/1024,1);
echo' весом не более '.$config_ize2.' kb и размером не более '.$config_filefoto.'*'.$config_filefoto.' px</span>';
}
// При запросе - показываем КРУПНОЕ ИЗОБРАЖЕНИЕ
if ($_GET['event']=="showimg") {
if (isset($_GET['num'])) {$num=$_GET['num']+1;} else {$num=0;}
$lines = file("fots/fotogal/bases.dat");
$dti=explode("|",$lines[$num]);
echo '<a href="anketa.php?nick='.$dti[2].'&'.$sd.'&go=look">'.$dti[2].'</a>';
$size = getimagesize("fots/fotogal/$dti[6]");
if($size[2]=="2"){
echo'<img src="resize.php?act=jpg&image='.$dti[6].'&show=full" alt="">';}
elseif($size[2]=="1"){
echo'<img src="resize.php?act=gif&image='.$dti[6].'&show=full" alt="">';}
elseif($size[2]=="3"){
echo'<img src="resize.php?act=png&image='.$dti[6].'&show=full" alt="">';}
$vis=round($dti[9]/2);
$wup=round($dti[8]/2);
print "<br><img src="fots/fotogal/$dti[6]" height=200 width=200 alt=""/><br><a href="local/datagallery/$dti[6]">Скачать</a><br/> ";
echo 'Описание: '.$dti[0].'<br>';
echo 'Разрешение: <b>'.$dti[8].' х '.$dti[9].'</b>, ';
echo 'Размер: <b>'.$dti[7].'</b> Кб.<br>';
}
} else {
$lines = file("fots/fotogal/bases.dat");
if($lines){
$total= count($lines);}
$maxi = count($lines)-1;
$total=(int)$total;
if($total<1){echo'<div class="nfl p5 mb5 mt5 mlra small cntr"><span class="yellow1 bold">Фоточки пока отсуствуют. Стань первым</span></div>';}
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]==""){
$req = mysql_query("SELECT `lost_id` FROM `element_user` WHERE `lost_login` = '$dt[2]'");
$pic = mysql_fetch_array($req);
echo ' <a class="yellow1" href="/user?id='.$pic["lost_id"].'">'.$dt[2].'</a>';
$wup2=round($dt[8]/5);
$vis2=round($dt[9]/5);
/*$size = getimagesize("fots/fotogal/$dt[6]");
if($size[2]=="2"){
echo'<img src="resize.php?act=jpg&image='.$dt[6].'" alt="">';}
elseif($size[2]=="1"){
echo'<img src="resize.php?act=gif&image='.$dt[6].'" alt="">';}
elseif($size[2]=="3"){
echo'<img src="resize.php?act=png&image='.$dt[6].'" alt="">';}*/
echo "<br><img src="fots/fotogal/$dt[6]" height=100 width=100 alt=""/><br/> ";
echo'</a><span class="white mt5">Описание: '.$dt[0].'</span><div class="hr mt5 mb5"></div>';
}
$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="fots.php?page=1&'.$sd.'">1</a> ... ';}
for($i=$asd; $i<$asd2;) {$ip=$i/$config_fotolist+1;
if ($page==$ip) {echo ' <b>'.(int)$ip.'</b> ';} else {echo ' <a href="fots.php?page='.(int)$ip.'&'.$sd.'">'.(int)$ip.'</a> ';}
$i=$i+$config_fotolist;}
if($asd2<$total){echo ' ... <a href="fots.php?page='.(int)$ba.'&'.$sd.'">'.(int)$ba.'</a>';}
}
}
echo'</div>';
require_once './element_include/element_foot_user_true.php';
?>