Файл: files/download/photo.php
Строк: 22
<?php
/*
------------------------------------------------
AlphaCMS - универсальный движок для вашего сайта
E-mail администрации проекта: adm@alpha-cms.ru
Официальный сайт поддержки: alpha-cms.ru
Руководитель проекта: adm (ID 1)
------------------------------------------------
*/
FOREACH (ARRAY('config', 'connect', 'users') AS $connect) {
INCLUDE_ONCE ("../../system/connections/global/$connect.php");
}
/*
-----------------------------------------
Отдача изображений на просмотр/скачивание
-----------------------------------------
*/
$id = INTVAL(GET('id'));
$dir2 = INTVAL(GET('dir'));
$size = HTMLSPECIALCHARS(GET('size'));
IF ($dir2 == 0){
$dir = 0;
}ELSE{
$dir3 = DB::GET_STRING("SELECT `ID`,`PRIVATE`,`USER_ID`,`PASSWORD` FROM `PHOTOS_DIR` WHERE `ID` = '".$dir2."' LIMIT 1");
IF (!$dir3['ID']){
$dir = 0;
}ELSE{
$dir = $dir3['ID'];
}
}
$photo = DB::GET_STRING("SELECT `ID`,`NAME`,`EXT`,`USER_ID` FROM `PHOTOS` WHERE `ID` = '".$id."' AND `ID_DIR` = '".$dir."' LIMIT 1");
IF ($size == "source"){
$ext = $photo['EXT'];
}ELSE{
$ext = "jpg";
}
//Если данные не опознаны
IF (!IS_FILE(ROOT.'/files/upload/photos/'.$size.'/'.$id.'.'.$ext) || !$photo['ID']){
FILE::DOWNLOAD(ROOT.'/files/upload/photos/'.$size.'/no_photo.jpg', HTTP_HOST.'_no_photo.jpg', FILE::MIME("jpg"));
EXIT;
}
IF ($dir > 0){
IF (MANAGEMENT == 0){
IF (ACCESS('photos_private_show', NULL, 1) == FALSE){
IF (DB::GET_COLUMN("SELECT COUNT(*) FROM `PHOTOS_SHOW` WHERE `PHOTO_ID` = '".$photo['ID']."' AND `USER_ID` = '".$photo['USER_ID']."' LIMIT 1") == 0){
//Если фотографии в закрытом альбоме
IF ($dir3['PRIVATE'] == 3 && $dir3['USER_ID'] != $user['ID']){
FILE::DOWNLOAD(ROOT.'/files/upload/photos/'.$size.'/no_photo.jpg', HTTP_HOST.'_no_photo.jpg', FILE::MIME("jpg"));
EXIT;
}
//Если фотографии только для владельца альбома
IF ($dir3['PRIVATE'] == 2 && $dir3['USER_ID'] != $user['ID']){
FILE::DOWNLOAD(ROOT.'/files/upload/photos/'.$size.'/no_photo.jpg', HTTP_HOST.'_no_photo.jpg', FILE::MIME("jpg"));
EXIT;
}
//Если фотографии только по паролю
IF ($dir3['PRIVATE'] == 4 && STR($dir3['PASSWORD']) > 0 && $dir3['USER_ID'] != $user['ID'] && !ISSET($_SESSION['DIR_PASSWORD'])){
FILE::DOWNLOAD(ROOT.'/files/upload/photos/'.$size.'/no_photo.jpg', HTTP_HOST.'_no_photo.jpg', FILE::MIME("jpg"));
EXIT;
}
//Если фотографии только друзьям
IF ($dir3['PRIVATE'] == 1 && DB::GET_COLUMN("SELECT COUNT(*) FROM `FRIENDS` WHERE `USER_ID` = '".$user['ID']."' AND `MY_ID` = '".$photo['USER_ID']."' AND `ACT` = '0' LIMIT 1") == 0 && $dir3['USER_ID'] != $user['ID']){
FILE::DOWNLOAD(ROOT.'/files/upload/photos/'.$size.'/no_photo.jpg', HTTP_HOST.'_no_photo.jpg', FILE::MIME("jpg"));
EXIT;
}
}
}
}
}
HEADER('Cache-Control: max-age=2592000, public');
HEADER('Pragma: public');
//Отдаем файл браузеру если всё хорошо
FILE::DOWNLOAD(ROOT.'/files/upload/photos/'.$size.'/'.$id.'.'.$ext, HTTP_HOST.'_'.TEXT_ABSOLUTE($photo['NAME']).'.'.$ext, FILE::MIME($ext));
EXIT;
?>