コード例 #1
0
ファイル: Site.php プロジェクト: rasstroen/baby-album
 function __construct()
 {
     CurrentUser::authorize_cookie();
     // разбираем запрос
     Log::timing('request');
     $this->processRequest();
     Log::timing('request');
     // пишем модулями записи
     Log::timing('write');
     $this->processWrite();
     Log::timing('write');
     // ищем конфигурацию страницы для выдачи юзеру
     Log::timing('prepare config');
     $this->preparePageConfiguration();
     Log::timing('prepare config');
     // тянем данные
     $this->executeModules();
     // подключаем шаблонизатор
     $this->applyTemplates();
 }
コード例 #2
0
ファイル: private.php プロジェクト: rasstroen/baby-album
<?php

ini_set('display_errors', 1);
$end = array_pop(explode('/', $_SERVER['REQUEST_URI']));
list($image_id, $size) = explode('-', $end);
$image_id = (int) $image_id;
$size = (int) $size;
if ($image_id) {
    $core_path = 'core/';
    require_once $core_path . 'config.php';
    require_once $core_path . 'include.php';
    $authorized = CurrentUser::authorize_cookie();
    if ($authorized) {
        $owner = Database::sql2single('SELECT `creator_id` FROM `album_events` WHERE `picture`=' . $image_id);
        if ($owner == CurrentUser::$id) {
            header('Content-type: image/jpeg');
            header('Content-Disposition: inline; filename=protected_' . $image_id . '-' . $size . '.jpg');
            header('X-Accel-Redirect: /images_private/' . str_replace(ImgStore::ROOT_PRIVATE_FOLDER, '', ImgStore::getFileLocalPath($image_id, $size, $private = true)));
            exit(0);
        } else {
            die('Изображение является приватным и доступно только владельцу');
        }
    } else {
        die('Изображение является приватным и доступно только владельцу');
    }
}