View file gallery/index.php

File size: 6.23Kb
<?php

require_once ("../includes/start.php");
require_once ("../includes/functions.php");
require_once ("../includes/header.php");
include_once ("../themes/".$config['themes']."/verh.dat");

if (isset($_GET['start'])) {$start = (int)$_GET['start'];} else {$start = 0;}
if (isset($_GET['action'])) {$action = check($_GET['action']);} else {$action = "";}

############################################################################################
##                                    Главная страница                                    ##
############################################################################################
if ($action=="") {

show_title('Галерея');

if (is_admin(array(101,102,103,105))){
echo'<a href="index.php?action=addfoto"> Добавить Изо</a>';
echo' / <a href="'.ADMINDIR.'gallery.php?start='.$start.'">Управление</a>';}
echo'<br>';

if (file_exists(DATADIR."datagallery/fotobase.dat")) {
$lines = file(DATADIR."datagallery/fotobase.dat");
$lines = array_reverse($lines);
$total = count($lines);

if ($total>0){

if ($start < 0 || $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]);

$filesize = formatsize(filesize(DATADIR.'datagallery/'.$dt[6]));

echo'<div class="b">';
echo'<b><a href="index.php?action=showimg&amp;gid='.$dt[6].'&amp;start='.$start.'">'.$dt[1].'</a></b> ('.$filesize.')</div><div>';

echo'<a href="index.php?action=showimg&amp;gid='.$dt[6].'&amp;start='.$start.'"><img src="resize.php?name='.$dt[6].'" alt="+"></a>';

echo'<br>'.$dt[0].'<br></div>';
}
page_jumpnavigation('index.php?', $config['fotolist'], $start, $total);
page_strnavigation('index.php?', $config['fotolist'], $start, $total);

echo'<br>Всего Изо: <b>'.(int)$total.'</b><br>';

} else {show_error('Изо нет!');}
} else {show_error('Изо нет!');}

}


##  Просмотр полной Изо ##

if ($action=="showimg"){
$gid = check($_GET['gid']);

show_title('Просмотр Изо');

if (preg_match('|^[a-z0-9_\.\-]+$|i', $gid)){
if (file_exists(DATADIR."datagallery/fotobase.dat")){

$string = search_string(DATADIR."datagallery/fotobase.dat", $gid, 6);
if ($string) {

$filesize = formatsize(filesize(DATADIR.'datagallery/'.$string[6]));

echo'<div class="b">';
echo'<b>'.$string[1].'</b> ('.$filesize.')</div><div>';

echo'<a href="fullsize.php?name='.$string[6].'"><img src="fullsize.php?name='.$string[6].'" alt="+"></a>';

echo'<br>'.$string[0].'<br></div>';


} else {show_error('Ошибка! Такой Изо нет в базе');}
} else {show_error('Ошибка! Изо нет');}
} else {show_error('Ошибка! Недопустимое название изображения!');}

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


## Форма загрузки изо  ##

if ($action=="addfoto"){

show_title('Добавление Изо');

if (is_user()){

echo'<form action="index.php?action=add" method="post" name="form" enctype="multipart/form-data">';
echo'Название: <br><input type="text" name="name"><br>';
echo'Прикрепить Изо:<br><input type="file" name="file"><br>';
echo'Подпись к Изо: <br><textarea cols="25" rows="9" name="msg"></textarea><br>';
echo'Отображать в анкете: <input name="ashow" type="checkbox" value="1"><br><br>';
echo'<input type="submit" value="Добавить"></form><hr>';
echo'Разрешается добавлять фотки с расширением jpg или gif<br>';
echo'Весом не более '.formatsize($config['filesize']).' и размером от 50 до '.(int)$config['filefoto'].' px<br>';

} else {show_login('');}

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

## Загрузка Изо  ##

if ($action=="add"){

show_title('Результат добавления');

$name = check($_POST['name']);
$msg = check($_POST['msg']);
if (isset($_POST['ashow'])) {$ashow = 1;} else {$ashow = 0;}

if (is_user()){
if (utf_strlen(trim($name))>=5 && utf_strlen($name)<50) {
if (utf_strlen(trim($msg))>=5 && utf_strlen($msg)<1000) {

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

$ext = strtolower(substr($newfotoname, strrpos($newfotoname, '.') + 1));

if ($ext=='jpg' || $ext=='gif'){
if ($width<=$config['filefoto'] && $height<=$config['filefoto'] && $height>=50 && $width>=50) {
if ($newfotosize<=$config['filesize'] && $newfotosize>0) {

antiflood("Location: index.php?action=addfoto&isset=antiflood");
karantin($udata[6], "Location: index.php?action=addfoto&isset=karantin");

$msg = no_br($msg,'<br>');
$msg = antimat($msg);

$unifile = unifile(DATADIR."datagallery/fotobase.dat", 5);

if (copy($_FILES['file']['tmp_name'], DATADIR.'datagallery/'.$unifile.'.'.$ext)){

@chmod(DATADIR.'/datagallery/'.$unifile.'.'.$ext, 0666);

$text = no_br($msg.'|'.$name.'|'.$log.'||'.SITETIME.'|'.$unifile.'|'.$unifile.'.'.$ext.'|');

write_files(DATADIR."datagallery/fotobase.dat", "$text\r\n", 0, 0666);

if ($ashow==1){change_profil($log, array(72=>$unifile.'.'.$ext));}

header ("Location: index.php?isset=addfoto"); exit;

} else {show_error('Ошибка! Не удалось загрузить Изо!');}
} else {show_error('Ошибка! Вес Изо должен быть не более '.formatsize($config['filesize']));}
} else {show_error('Ошибка! Размер Изо должен быть от 50 до '.(int)$config['filefoto'].'px');}
} else {show_error('Ошибка! Недопустимое расширение (Только jpg или gif)!');}
} else {show_error('Слишком длинное или короткое описание (Необходимо от 5 до 1000 символов)');}
} else {show_error('Слишком длинное или короткое название (Необходимо от 5 до 50 символов)');}
} else {show_login('+');}

echo'<br><a href="index.php?action=addfoto">Вернуться</a>';
}

echo'<br><a href="../index.php">На главную</a>';

include_once ("../themes/".$config['themes']."/niz.dat");

?>