Вход Регистрация
Файл: localhost/modules/photo_album/add_photo.php
Строк: 81
<?php

/**
 * @package   Zcore
 * @author     Artem Sokolovsky
 * @url           http://vk.com/x_s_s
 */


// Инклудим ядро

include_once ($_SERVER['DOCUMENT_ROOT']."/lite/core.php"); 


// Только для зарегистрированых

    
$profile->access(true);
    
// Подключаем графическое ядро

    
$image = new image();    
    
// Выводим шапку

    
$title 'Добавить';

// Инклудим шапку

include_once (ROOT.'template/head.php');    

// Антифлуд
    
    
$antiflood DB :: $dbh -> querySingle("SELECT count(*) FROM `photo` WHERE `user`=? AND `time`>?;", array($user['id'], time()-$config['antiflood_creation']));

// Только если был загружено фото в течении $config['antiflood_creation'] секунд
    
    
if (empty($antiflood)) {    

// Только если отправлен POST запрос    
    
    
if (isset($_POST['upload'])) {    
    
// Проверяем sid    
    
    
if (isset($_POST['sid']) && $system->check($_POST['sid']) == $user['sid']) {
    
// Только если файл выбран

    
if (!empty($_FILES['file']['name'])) {        
    
// Выводим тип файла    
    
    
$type strtolower(substr(strrchr($_FILES['file']['name'], '.'), 1));
    
// Выводим типы которые можно загружать    
    
    
$photo = array('gif''jpg''jpeg''png');    
    
// Проверяем тип файла    
    
    
if (in_array($type$photo)) {    
    
// Проверяем размер файла

    
if ($_FILES['file']['size'] < 10000000) {    
    
// Обработка названия
    
    
$name $system->check($_POST['name']);    

// Обработка описания
    
    
$description $system->check($_POST['description']);

// Обработка содержимого на метку 18+

    
$censored = (empty($_POST['censored'])) ? 1;    

// Обработка количества символов названия
    
    
if ($system->utf_strlen($name) >= && $system->utf_strlen($name) < 50) {    

// Обработка количества символов описания
    
    
if ($system->utf_strlen($description) < 10000) {    
    
// Проверяем имя фото

    
$photo DB :: $dbh -> querySingle("SELECT count(*) FROM `photo` WHERE `name`=? AND `user`=?;", array($name$user['id']));

// Только если имя свободно    

    
if (empty($photo)) {    

// Генерируем ключ

    
$key rand(1000000,9999999);
    
// Добавляем фотоальбом в базу
    
    
DB :: $dbh -> query("INSERT INTO `photo` (`name`, `description`, `censored`, `user`, `time`, `ip`, `ua`, `key`, `type`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);", array($name$description$censored$user['id'], time(), $system->ip(), $system->ua(), $key$type));    
    
// Получаем id фото
 
    
$id DB :: $dbh -> lastInsertId();        
    
// Получаем информацию о фото

    
$info getimagesize($_FILES['file']['tmp_name']); 
    
$width $info[0];
    
$height $info[1];        

// Фото 256x256
    
    
if ($width 256 || $height 256) {
    
$image->load($_FILES['file']['tmp_name']);    
    
$image->resize(256,256);    
    
$image->save(SERVER.'/photo/256/photo'.$id.'_'.$key.'.'.$type.'');    
    } else {
    
$image->load($_FILES['file']['tmp_name']);        
    
$image->save(SERVER.'/photo/256/photo'.$id.'_'.$key.'.'.$type.'');    
    }    

// Фото 128x128
    
    
if ($width 128 || $height 128) {
    
$image->load($_FILES['file']['tmp_name']);    
    
$image->resize(128,128);    
    
$image->save(SERVER.'/photo/128/photo'.$id.'_'.$key.'.'.$type.'');        
    } else {
    
$image->load($_FILES['file']['tmp_name']);    
    
$image->save(SERVER.'/photo/128/photo'.$id.'_'.$key.'.'.$type.'');        
    }    

// Фото 64x64
    
    
if ($width 64 || $height 64) {
    
$image->load($_FILES['file']['tmp_name']);    
    
$image->resize(64,64);    
    
$image->save(SERVER.'/photo/64/photo'.$id.'_'.$key.'.'.$type.'');    
    } else {
    
$image->load($_FILES['file']['tmp_name']);    
    
$image->save(SERVER.'/photo/64/photo'.$id.'_'.$key.'.'.$type.'');        
    }    

// Фото
    
    
$image->load($_FILES['file']['tmp_name']);    
    
$image->save(SERVER.'/photo/photo'.$id.'_'.$key.'.'.$type.'');

// Уведомление в ленту

    
$system->feed("".$user['id']."""".substr($name050).".".$type."""/modules/photo_album/photo/".$id."""5");
    
// Уведомляем

    
$system->redirect("Фото успешно добавлено""/modules/photo_album/".$user['id']."");    
    
// Выводим ошибки
    
    
} else { $system->show("У вас уже есть фото под именем ".$name.""); }        
    } else { 
$system->show("Слишком длинное описание"); } 
    } else { 
$system->show("Слишком длинное или короткое название"); } 
    } else { 
$system->show("Выбранное вами фото имеет размер болие 10мб"); }    
    } else { 
$system->show("Недопустимый тип файла"); }        
    } else { 
$system->show("Не выбран файл"); }    
    } else { 
$system->show("Замечена подозрительная активность, повторите действие"); } 
    } else if (isset(
$_POST['back'])) {
    
header ("Location: /modules/photo_album/$user[id]");  
    }

// Выводим блок

    
echo '
    <div class="block">
    <img class="middle" src="/icons/files.png"> Фотоальбом 
    <a href="/modules/photo_album/'
.$user['id'].'">'.$user['login'].'</a> 
    </div>
    <div class="block">
    <FORM ENCTYPE="multipart/form-data" method="POST">
    <input type="hidden" name="sid" value="'
.$user['sid'].'" />
    Добавить фото: (<10 Mb) <br />
    <input name="file" type="file" accept="image/jpeg, image/png, image/gif"/> <br />
    </div>
    <div class="block">
    Название: (50 символов) <br />
    <input type="text" name="name" value=""/> <br />
    Описание: (10000 символов) <br />
    <textarea name="description" class="textarea" /></textarea> <br />
    </div>
    <div class="block">
    <input type="checkbox" class="middle" name="censored" value="1"/> Только для взрослых <br />
    </div>
    <div class="block">
    <input type="submit" name="upload" value="Загрузить" />
    <input type="submit" name="back" value="Отмена" />
    </form>
    </div>
    '
;    
    
// Выводим ошибки

    
} else { $system->show("Не так быстро, подождите немного"); }    
    
// Инклудим ноги    
    
include_once (ROOT.'template/foot.php');

?>
Онлайн: 1
Реклама