Вход Регистрация
Файл: DarkAge/foto.php
Строк: 216
<?

$config_filesize 
"9920480";
$config_filefoto "1300";
$
$config_fotolist "5";
$config_previewsize "10000";
//////////////////////////////////////////////// FUNCTIONS /////////////////////////////////////////
function date_fixed($timestamp$format="d.m.y / H:i"){

global 
$config_clocks,$sitetime;
if(empty(
$timestamp)){$timestamp=$sitetime;}
$sdvig=$config_clocks*3600;
$datestamp date($format,$timestamp+$sdvig);
$today date("d.m.y",$sitetime+$sdvig);

$datestamp str_replace($today,"Сегодня",$datestamp);

$datestamp str_replace("January","Января",$datestamp);
$datestamp str_replace("February","Февраля",$datestamp);
$datestamp str_replace("March","Марта",$datestamp);
$datestamp str_replace("April","Апреля",$datestamp);
$datestamp str_replace("May","Мая",$datestamp);
$datestamp str_replace("June","Июня",$datestamp);
$datestamp str_replace("July","Июля",$datestamp);
$datestamp str_replace("August","Августа",$datestamp);
$datestamp str_replace("September","Сентября",$datestamp);
$datestamp str_replace("October","Октября",$datestamp);
$datestamp str_replace("November","Ноября",$datestamp);
$datestamp str_replace("December","Декабря",$datestamp);

return 
$datestamp;
}

//--------------- Функция правильного вывода веса файла -------------------//
function formatsize($file_size){

if(
$file_size >= 1073741824){
$file_size round($file_size 1073741824 100) / 100 " Gb";
}elseif(
$file_size >= 1048576){
$file_size round($file_size 1048576 100) / 100 " Mb";
}elseif(
$file_size >= 1024){
$file_size round($file_size 1024 100) / 100 " Kb";
}else{
$file_size round($file_size) . " b";}
return 
$file_size;
}

//------------------ Функция перекодировки из UTF в WIN --------------------//
function utf_to_win($str) { 

if (
function_exists('mb_convert_encoding')) return mb_convert_encoding($str'windows-1251''utf-8');
if (
function_exists('iconv')) return iconv('utf-8''windows-1251'$str);

$utf8win1251 = array( 
"А"=>"xC0","Б"=>"xC1","В"=>"xC2","Г"=>"xC3","Д"=>"xC4","Е"=>"xC5","Ё"=>"xA8","Ж"=>"xC6","З"=>"xC7","И"=>"xC8","Й"=>"xC9","К"=>"xCA","Л"=>"xCB","М"=>"xCC",
"Н"=>"xCD","О"=>"xCE","П"=>"xCF","Р"=>"xD0","С"=>"xD1","Т"=>"xD2","У"=>"xD3","Ф"=>"xD4","Х"=>"xD5","Ц"=>"xD6","Ч"=>"xD7","Ш"=>"xD8","Щ"=>"xD9","Ъ"=>"xDA",
"Ы"=>"xDB","Ь"=>"xDC","Э"=>"xDD","Ю"=>"xDE","Я"=>"xDF","а"=>"xE0","б"=>"xE1","в"=>"xE2","г"=>"xE3","д"=>"xE4","е"=>"xE5","ё"=>"xB8","ж"=>"xE6","з"=>"xE7",
"и"=>"xE8","й"=>"xE9","к"=>"xEA","л"=>"xEB","м"=>"xEC","н"=>"xED","о"=>"xEE","п"=>"xEF","р"=>"xF0","с"=>"xF1","т"=>"xF2","у"=>"xF3","ф"=>"xF4","х"=>"xF5",
"ц"=>"xF6","ч"=>"xF7","ш"=>"xF8","щ"=>"xF9","ъ"=>"xFA","ы"=>"xFB","ь"=>"xFC","э"=>"xFD","ю"=>"xFE","я"=>"xFF"); 

return 
strtr($str$utf8win1251); 


//----------------------- Функция вырезания переноса строки --------------------------//
function no_br($message,$replace=""){ 
$message=preg_replace ("|[rn]+|si",$replace,$message);
return 
$message;
}

//----------------------- Функция экранирования основных знаков --------------------------//
function check($message){ 
$message=str_replace("|","I",$message); 
$message=str_replace("||","I",$message);
$message=htmlspecialchars($message);                  
$message=str_replace("'","&#39;",$message);            
$message=str_replace(""","&#34;",$message);  
$message=str_replace("$","&#36;",$message);    
$message=str_replace("$","&#36;",$message);          
$message=str_replace("\","&#92;", $message);                            
$message=str_replace("`",""$message);  
$message=str_replace("^","&#94;"$message);   
$message=str_replace("%","&#37;"$message);  
$message=str_replace(":","&#58;",$message);  
$message=preg_replace("|&#58;|",":",$message,3); 
$message=stripslashes(trim($message));               
return 
$message;
}

///////////////////////////////////////////////////////////////////////////////////////////////////

Error_Reporting(E_ALL & ~E_NOTICE);
include_once(
"files/zag.php");
if (
md5($pas)==$password && $log==$login && $log!=="" && md5($pas)!=="") {
if(!isset(
$action)) {
echo
'<b>Галерея</b><br>';
/// || $udata[0]=="WanteD.GM"
if ($udata[0]=="SHiFT.GM"){
echo 
'<a href="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;start='.$start.'">Управление</a> | ';}
echo
'<a href="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;action=addfoto">Добавить фото</a>';

$lines file("data/gallery/fotobase.dat");
$lines=array_reverse($lines);
$total count($lines);

if (
file_exists("data/gallery/fotobase.dat") && $total>0) {

$start "0";
if(
$start || $start $total){$start 0;}
if (
$total $start $config_fotolist){ $end $total; }
else {
$end $start $config_fotolist; }
for (
$i $start$i $end$i++){

$dt explode("|"$lines[$i]);    

$totalkomm=0;

if (
file_exists("data/gallery/datagallery.dat")){
$file file("data/gallery/datagallery.dat");
$totalkomm count($file);}    

echo 
'<b><a href="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;action=showimg&amp;gid='.$dt[6].'&amp;start='.$start.'">'.$dt[1].'</a></b> ('.$dt[7].' Kb)';

$ext strtolower(substr($dt[6], strrpos($dt[6], '.') + 1));

if(
$dt[8]>$config_previewsize || $dt[9]>$config_previewsize){
echo
'<a href="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;action=showimg&amp;gid='.$dt[6].'&amp;start='.$start.'"><img src="resize.php?log='.$log.'&amp;pas='.$pas.'&amp;act='.$ext.'&amp;gdir=data&amp;gpoddir=gallery&amp;gname='.$dt[6].'&amp;maxsize='.$config_previewsize.'" alt="zzz"></a>';
}else{
echo
'<a href="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;action=showimg&amp;gid='.$dt[6].'&amp;start='.$start.'&amp;'.SID.'"><img src="gallery.php?image='.$dt[6].'" alt="zzz"></a>';
}
echo
'<br>'.$dt[0].'<br>';
echo 
'Добавлено: <a href="search.php?log='.$log.'&amp;pas='.$pas.'&amp;nick='.$nick.'">'.$dt[2].'</a> ('.date_fixed($dt[4]).')<br>';
echo 
'<a href="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;action=komm&amp;gid='.$dt[6].'">Комментарии</a> ('.(int)$totalkomm.')';
}

}else{echo
'<br><b>Галерея еще пустая, фотографий нет!</b><br>';}

echo
'<br>Всего фотографий: <b>'.(int)$total.'</b><br>';}

##########################################################################
##                      Просмотр полной фотографии                       ##
##########################################################################
if($action=="showimg"){

echo
'<b>Просмотр фотографий</b><br>';    

$lines file(BASEDIR."data/gallery/fotobase.dat");
if(
file_exists(BASEDIR."data/gallery/fotobase.dat")){

foreach(
$lines as $k){
$dtu=explode("|",$k);
if(
$dtu[6]==$gid){  $errgallery='ok';

$totalkomm=0;
if (
file_exists("data/gallery/$dtu[6].dat")){
$file file("data/gallery/$dtu[6].dat");
$totalkomm count($file);}    

echo 
'<b>'.$dtu[1].'</b> ('.$dtu[7].' Kb)';

echo
'<a href="gallery.php?log='.$log.'&amp;pas='.$pas.'&amp;image='.$dtu[6].'"><img src="gallery.php?log='.$log.'&amp;pas='.$pas.'&amp;image='.$dtu[6].'" alt=""></a>';

echo 
'<br>'.$dtu[0].'<br>';
echo 
'Размер: <b>'.$dtu[8].' х '.$dtu[9].'</b><br>';
echo 
'Добавил: <a href="search.php?log='.$log.'&amp;pas='.$pas.'&amp;nick='.$nick.'">'.$dtu[2].'</a> ('.date_fixed($dtu[4]).')<br>';

echo 
'<a href="index.php?log='.$log.'&amp;pas='.$pas.'&amp;action=komm&amp;gid='.$dtu[6].'">Комментарии</a> ('.(int)$totalkomm.')';

}}

if(
$errgallery!='ok'){echo '<b>Ошибка, такой фотографии не существует!</b><br>';}

}else{echo 
'<b>Произошла ошибка, фотографий еще нет!</b>';}
echo
'<br><a href="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;start='.$start.'">Вернуться</a>'
}

##########################################################################
##                         Форма загрузки фото                            ##
##########################################################################
if($action=="addfoto"){
echo
'<b>Добавление фотографии</b><br>';        
echo 
'<form action="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;action=add" method="post" name="form" enctype="multipart/form-data">';
echo 
'Название: <br><input type="text" value="" name="name" /><br>';
echo 
'Прикрепить фото:<br><input type="file" name="file" /><br>';
echo 
'Подпись к фото: <br><textarea cols="25" rows="3" name="msg"></textarea><br>';
echo 
'<br>';
echo 
'<input type="submit" value="Добавить" /></form><hr>';
echo 
'Разрешается добавлять фотки с расширением jpg, gif и png<br>';
echo 
'Весом не более '.formatsize($config_filesize).' и размером не более '.(int)$config_filefoto.'*'.(int)$config_filefoto.' px<br>';


echo
'<br><a href="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;start='.$start.'">Вернуться</a>'
}


##########################################################################
##                         Загрузка фото                                ##
##########################################################################

if($action=="add"){
echo
'<b>Результат добавления</b><br />';    

if(
$name!="" && $msg!=""){
if (
strlen(utf_to_win($name))<50 && strlen(utf_to_win(trim($name))) > 4) {
if (
strlen(utf_to_win($msg))<750 && strlen(utf_to_win(trim($msg))) > 10) {


$newfotosize=$_FILES['file']['size'];
$newfotoname=$_FILES['file']['name'];
$newfotorazmer GetImageSize($_FILES['file']['tmp_name']);
$width $newfotorazmer[0]; 
$height $newfotorazmer[1]; 

$lines file("local/dataanket/$log.dat");
foreach(
$lines as $k){
$dtu=explode("|",$k);
if(
$dtu[6]==$newfotoname){$errgallery='ok';}}
if(
$errgallery!='ok'){

$ext strtolower(substr($newfotonamestrrpos($newfotoname".")));

if(
$ext=="jpg" || $ext=="gif" || $ext=="png"){
if(
strlen($newfotoname)<=30){
if(
$width<=$config_filefoto && $height<=$config_filefoto && $height>10 && $width>10) {
if(
$newfotosize<=$config_filesize && $newfotosize>0) {

//--------------------- Новый антифлуд -----------------------------//
if($config_floodstime 0){
if(
flooder($ip$php_self) == TRUE ){ @header ("Location: foto.php?log=$log&amp;pas=$pas&amp;action=addfoto&isset=antiflood&"); exit;}
$flood_file fopen(BASEDIR."data/fotoflood.dat""a+");
flock ($flood_file,LOCK_EX);
fputs ($flood_file,"$sitetime|$ip|$php_self|rn");
fflush($flood_file);
flock ($flood_file,LOCK_UN);
fclose($flood_file);   


//--------------------- Карантин -----------------------------//

if($config_karantin 0){
if(
$udata[6]+$config_karantin>$sitetime){@header ("Location: ?foto.php?log=$log&amp;pas=$pas&amp;action=addfoto&isset=karantin&"); exit;}
}    

$log=check($log);
$msg=check($msg);
$msg=no_br($msg,"<br>");
$name=check($name);
$newfotoname=check($newfotoname);
$newfotosize=round($newfotosize/1024,1);

if(
copy($_FILES['file']['tmp_name'], "local/foto/".$_FILES['file']['name'])){ 
$newfile=$_FILES['file']['name'];
@
chmod($newfile0777);
@
chmod("local/foto/$newfile"0777);

$ank = @file("local/dataanket/$log.dat");
$an explode("||",$ank[0]);
$text=$an[0].'|'.$an[1].'|'.$an[2].'||'.$an[3].'||'.$an[4].'|'.$an[5].'|'.$an[6].'|'.$an[7].'|'.$an[8].'|'.$an[9].'|'.$an[10].'|'.$an[11].'|'.$newfotoname.'|';
$text=no_br($text);

$fp=fopen("local/dataanket/$log.dat","a+");
if(
$fp){
flock ($fp,LOCK_EX);
fputs($fp,"$textrn");
flock ($fp,LOCK_UN);
fclose($fp);
@
chmod($fp0777);
@
chmod("local/dataanket/$log.dat"0777);
}}

echo
"Фото добавлено!";
echo
'<br><a href="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;start='.$start.'">Вернуться</a>'

}else{echo 
'<b>Ошибка, максимальный вес фото должен быть не более '.formatsize($config_filesize).'</b><br>';}
}else{echo 
'<b>Ошибка, максимальный размер файла должен быть не более '.(int)$config_filefoto.'*'.(int)$config_filefoto.' px</b><br>';}
}else{echo 
'<b>Ошибка, слишком длинное название фото '.check($newfotoname).' (Не более 35 символов)</b><br>';}
}else{echo 
'<b>Ошибка, недопустимое название '.check($newfotoname).', разрешены только цифры и знаки латинского алфавита!</b><br>';}
}else{echo 
'<b>Ошибка, недопустимое расширение (Только gif, jpg или png)!</b><br>';}
}else{echo 
'<b>Ошибка, фотография с названием '.check($newfotoname).' уже существует в базе!</b><br>';}
}else{echo 
'<b>Слишком длинное или короткое описание (Необходимо от 10 до 750 символов)</b><br>';}    
}else{echo 
'<b>Слишком длинное или короткое название (Необходимо от 5 до 50 символов)</b><br>';}
}else{echo 
'<b>Ошибка добавления, отсутствуют важные данные!</b><br>';    }

echo
'<br><img src="../images/img/back.gif" alt=""> <a href="foto.php?log='.$log.'&amp;pas='.$pas.'&amp;action=addfoto">Вернуться</a>'
}

}else{echo
"&#x41F;&#x430;&#x440;&#x43E;&#x43B;&#x44C; &#x438;&#x43B;&#x438; &#x43B;&#x43E;&#x433;&#x438;&#x43D; &#x43D;&#x435;&#x432;&#x435;&#x440;&#x435;&#x43D;!";}
include_once
"files/down.php";
?>
Онлайн: 3
Реклама