Файл: files/receiver/them_logo.php
Строк: 33
<?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"); 
  
}
ACCESS('management');
IF (ISSET($_FILES['file']) && !EMPTY(HTTP_X_REQUESTED_WITH) && STRTOLOWER(HTTP_X_REQUESTED_WITH) == 'xmlhttprequest' || ISSET($_FILES['file']) && !EMPTY(HTTP_X_REQUESTED_WITH) && STRTOLOWER(HTTP_X_REQUESTED_WITH) == 'XMLHttpRequest'){
  
  $theme = DB::GET_STRING("SELECT * FROM `PANEL_THEMES` WHERE `ID` = '".INTVAL(GET('id'))."' LIMIT 1");
  
  //Максимальный размер для выгрузки
  $MaxFileSize = CONFIG('MAXFILESIZE');
  
  //Разрешенные форматы для выгрузки
  $AllowFileExtension = ARRAY('jpg', 'jpeg', 'png', 'gif');
  
  //Оригинальное название логотипа
  $FileNameExp = $_FILES['file']['name'];
  
  //Оригинальное название логотипа без расширения
  $FileName = TEXT_PROCESSING(PREG_REPLACE('#.[^.]*$#', NULL, $FileNameExp));
  
  //Расширение логотипа
  $Exp = STRTOLOWER(PREG_REPLACE('#^.*.#', NULL, $FileNameExp));
  
  //Фактическое название логотипа на сервере
  $FactName = "logo_".RAND(11111,99999)."";
  
  //Временный файл
  $TempName = $_FILES['file']['tmp_name'];
  
  //Папка куда будут загружаться логотипы
  $UploadDir = ROOT."/style/version/".$theme['DIR']."/logo/";
  
  //Проверка расширения логотипа
  $FileExtension = PATHINFO($FileNameExp, PATHINFO_EXTENSION);
  
  //Принудительно устанавливаем права 777 на папку
  @CHMOD($UploadDir, 0777);
  
  $err_data = 0;
  
  IF (!ISSET($theme['ID'])){
    
    $error = "Неизвестная ошибка";
    $err_data = 1;
    
  }
  
  IF (!IN_ARRAY($FileExtension, $AllowFileExtension)) {
    
    $error = "Неверный формат логотипа";
    $err_data = 1;
  
  }
  
  //Проверка размера файла
  IF (FILESIZE($TempName) > $MaxFileSize) {
    
    $error = "Размер загружаемого логотипа превышает установленные ограничения. Размер должен быть не больше ".SIZE_FILE(CONFIG('MAXFILESIZE'))."";
    $err_data = 1;
  
  }
  
  IF (STR($FileName) < 1) {
    
    $error = "Имя загружаемого логотипа не должно быть менее 1 символа";
    $err_data = 1;
  
  }
  IF (STR($FileName) > 200) {
    
    $error = "Имя загружаемого логотипа не должно быть более 200 символов";
    $err_data = 1;
  
  }
  
  IF ($err_data == 1){
    
    ECHO "<div class='file-upload-progress'><i class='fa fa-exclamation-triangle fa-fw'></i> ".$error."</div>";
  
  }ELSE{
    
    //Сохраняем логотип если все хорошо
    $CopyFile = COPY($TempName, "".$UploadDir."".$FactName.".".$Exp."");
    
    IF (!$CopyFile) {
      
      ECHO "<div class='file-upload-progress'><i class='fa fa-exclamation-triangle fa-fw'></i> Неизвестная ошибка. Логотип не загружен</div>";
    
    }ELSE{
      
      //Удаляем предыдущий логотип
      @UNLINK(ROOT.'/style/version/'.$theme['DIR'].'/logo/'.$theme['LOGO'].'');
      
      DB::GET_SET("UPDATE `PANEL_THEMES` SET `LOGO` = '".$FactName.".".$Exp."', `LOGO_MAX` = '140' WHERE `ID` = '".$theme['ID']."' LIMIT 1");
      
      //Отправляем запрос на обновление логотипа если успешно
      ?>
      <script>
      var data = "/panel/?path=site§ion=themes&them_edit=<?=$theme['ID']?>";
      var toLoad = data+' #logo';
      var toLoad2 = data+' #logo_max';
      $("#logo").load(toLoad); 
      $("#logo_max").load(toLoad2);
      </script>  
      <?
    
    }
  
  }
  
}ELSE{
  
  REDIRECT('/index');
}
 
?>