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&gid='.$dt[6].'&start='.$start.'">'.$dt[1].'</a></b> ('.$filesize.')</div><div>';
echo'<a href="index.php?action=showimg&gid='.$dt[6].'&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");
?>