<?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;
  
?>