<?php
require_once('../classes/body.class.php');
require_once('../classes/db.class.php');
require_once('../classes/system.class.php');
$title= new Body;
$title->SetTitle('Фотоальбом - Добавить альбом');

///Подключаем шапку
$title->GetHeader();

$id = isset($_GET['id']) ? abs((int)$_GET['id']) : false;

echo '<div class="container-fluid page_header"><div class="container"><div class="row"><div class="col-xs-12 col-sm-8 col-md-9 col-lg-9"><h1>Фотоальбом </h1><ol class="breadcrumb" xmlns:v="http://'.homeurl.'/#"><li typeof="v:Breadcrumb"><a href="/" rel="v:url" property="v:title">'.homeurl.'</a></li><li typeof="v:Breadcrumb"><a href="/gallery" rel="v:url" property="v:title">Фотоальбом</a></li><li class="active" typeof="v:Breadcrumb"><span property="v:title">Загрузка изображения</span></li></ol></div></div></div></div>';
echo'<div class="container page_body"><div class="row"><div class="col-xs-12 page_content col-lg-9"><div class="navbar page_content_navbar collapse hidden-lg"><div class="container-fluid"><div class="navbar-collapse"></div></div></div><div class="text_box hidden-lg pr_block_small hidden"></div><div class="container-fluid cols_table">';

echo '<div class="catSides"><a href="/"><i class="md-format-list-bulleted"></i> Главная </a> - <a href="/gallery">Список альбомов</a> - Загрузка изображения</div>';

if (isset($_POST['upl'])) {
$err = [];
$name = check($_POST['name']);
$text = check($_POST['text']);
$cid = abs((int)$_POST['cid']);
$fnames = $_FILES['file']['name'];
$pictures = ['.gif', '.jpg', '.jpeg', '.png'];
$ext = strtolower(strrchr($_FILES['file']['name'], '.'));
$par = @getimagesize($_FILES['file']['tmp_name']);
if (empty($name) OR empty($text)) {
$err[] = 'Заполните название и описание изображения!';
} elseif (empty($fnames)) {
$err[] = 'Выберите файл!';
} elseif ($par[0] > 1800 || $par[1] > 1600) {
$err[] = 'Большое расширение файла!';
} elseif (preg_match('/(\.php|\.pl|\.htaccess)/i', $fnames) || !in_array($ext, $pictures)) {
$err[] = 'Запрещенный формат файла!';
} elseif ($_FILES['file']['size'] > 1024 * 4 * 1024){
$err[] = 'Большой размер файла!';
}
$uid = (empty($id) ? '0': $cid);
$foto = 'files/album/'.homeurl.'_' . mt_rand(100000, 999999) . $ext;
if (empty($err)) {
copy($_FILES['file']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/'.$foto);
DB::$dbs->query("INSERT INTO album_foto SET
user_id = ?, name = ?, text = ?, time = ?,
cid = ?, path = ?", [$b['id'],$name,$text,time(),$uid,$foto]);
$l = DB::$dbs->lastInsertId();
DB::$dbs->query("UPDATE `blogger` SET `gears` = `gears` + ? WHERE id = ?", [1,$b['id']]);
lenta(Nick($b['id']).' добавил новое <a href="/gallery/comm.html?id='.$l.'">[фото]</a> в Галерею.');
if ($id!=0) {
echo '<div class="row text_box">Изображение добавлено!<br/><a href="viewalb.html?id='.$id.'">Вернуться в альбом</a></div>';
///Подключаем меню
$title->GetMenu();
///Подключаем футер
$title->GetFooter();
die();
} else {
echo '<div class="row text_box">Изображение добавлено!<br/><a href="personal.html?id='.$b['id'].'">Вернуться в мою галлерею</a></div>';
///Подключаем меню
$title->GetMenu();
///Подключаем футер
$title->GetFooter();
die();
}
}
else {
echo '<div class="error">';
foreach($err as $error) {
echo $error.'<br/>';
}
echo '</div>';
}
}
echo '<form ENCTYPE="multipart/form-data" method="post" action="upload.html?id='.$id.'"><div class="row text_box">Название:<br/><input class="form-control" type="text" name="name"/><br/>Описание:<br/><textarea class="form-control" rows="3" name="text"></textarea><br/>Выбрать раздел:<br/><select class="form-control" name="cid">';
if (!$id) {
echo '<option value="0">Галлерея '.$b['nick'].'</option>';
}
$from = DB::$dbs->query("SELECT * FROM album_cat");
while($a = $from -> fetch()) {
echo '<option value="' . $a['id'] . '">' . $a['name'] . '</option>';
}
echo '</select><br/>Изображение: (*max. 1800x1600px. 4mb.)<br/><input name="file" type="file" accept="image/jpeg, image/png, image/gif"/>
<br/>
<input type="submit" class="btn btn-primary" name="upl" value="Добавить"/></div></form>';

///Подключаем меню
$title->GetMenu();


///Подключаем футер
$title->GetFooter();
?>