Вход Регистрация
Файл: 2/3020.ru/files/receiver/smiles.php
Строк: 37
<?php 
  
/*
------------------------------------------------
3020.ru - скрипты тут
------------------------------------------------
*/
  
FOREACH (ARRAY('config''connect''users') AS $connect) {
  
  INCLUDE_ONCE (
"../../system/connections/global/$connect.php"); 
  
}

ACCESS('management');

IF (ISSET(
$_FILES['file']) && AJAX() == TRUE){
  
  
$dir DB::GET_STRING("SELECT * FROM `SMILES_DIR` WHERE `ID` = '".INTVAL(GET('id_dir'))."' LIMIT 1");
  
  
//Выбранное имя смайла
  
$name_smile ADSL(POST('name'));
  
  
//Максимальный размер для выгрузки
  
$MaxFileSize CONFIG('MAXFILESIZE');
  
  
//Разрешенные форматы для выгрузки
  
$AllowFileExtension = ARRAY('jpg''jpeg''png''gif');
  
  
//Оригинальное название изображения
  
$FileNameExp $_FILES['file']['name'];
  
  
//Расширение изображения
  
$Exp STRTOLOWER(PREG_REPLACE('#^.*.#'NULL$FileNameExp));
  
  
//Временный файл
  
$TempName $_FILES['file']['tmp_name'];
  
  
//Папка куда будут загружаться изображения
  
$UploadDir ROOT."/files/upload/smiles/";
  
  
//Проверка расширения изображения
  
$FileExtension PATHINFO(STRTOLOWER($FileNameExp), PATHINFO_EXTENSION);
  
  
//Определяем ширину и высоту изображения
  
$xy GETIMAGESIZE($TempName);  
  
$width $xy[0]; 
  
$height $xy[1];  
  
  
$err_data 0;
  
  IF (!ISSET(
$dir['ID'])){

    
$error "Неизвестная ошибка";
    
$err_data 1;
    
  }
  
  IF (
STRPOS($name_smile" ")){
    
    
$error "В названии смайла не могут быть пробелы";
    
$err_data 1;
    
  }

  IF (
DB::GET_COLUMN("SELECT COUNT(*) FROM `SMILES` WHERE `NAME` = '".$name_smile."' LIMIT 1") == 1){

    
$error "Смайл с таким названием уже есть";
    
$err_data 1;
    
  }
  
  IF (
$xy == FALSE) {
    
    
$error "Не удалось получить содержимое изображения";
    
$err_data 1;
  
  }
  
  IF (
$width 200) {
    
    
$error "Ширина изображения не может быть больше 200px. Текущая ширина: ".$width."px";
    
$err_data 1;
  
  }
  
  IF (
$height 200) {
    
    
$error "Высота изображения не может быть больше 200px. Текущая высота: ".$height."px";
    
$err_data 1;
  
  }
  
  IF (!
IN_ARRAY($FileExtension$AllowFileExtension)) {
    
    
$error "Неверный формат изображения";
    
$err_data 1;
  
  }
  
  
//Проверка размера изображения
  
IF (FILESIZE($TempName) > $MaxFileSize) {
    
    
$error "Размер загружаемого изображения превышает установленные ограничения";
    
$err_data 1;
  
  }
  
  IF (
STR($name_smile) < 1) {
    
    
$error "Имя смайла не может быть менее 1 символа";
    
$err_data 1;
  
  }

  IF (
STR($name_smile) > 50) {
    
    
$error "Имя смайла не может быть более 50 символов";
    
$err_data 1;
  
  }
  
  IF (
$err_data == 1){
    
    ECHO 
"<div class='file-upload-progress'><i class='fa fa-exclamation-triangle fa-fw'></i> ".LG($error)."</div>";
  
  }ELSE{
    
    
$ID DB::GET_ADD("INSERT INTO `SMILES` (`NAME`, `ID_DIR`, `EXT`) VALUES ('".$name_smile."', '".$dir['ID']."', '".$Exp."')");
    
    
//Сохраняем изображение если все хорошо
    
$CopyFile COPY($TempName"".$UploadDir."".$ID.".".$Exp."");
    
    IF (!
$CopyFile) {
      
      ECHO 
"<div class='file-upload-progress'><i class='fa fa-exclamation-triangle fa-fw'></i> ".LG('Неизвестная ошибка')."</div>";
      
      
DB::GET_SET("DELETE FROM `SMILES` WHERE `ID` = '".$ID."' LIMIT 1");
    
    }ELSE{
      
      
//Отправляем запрос на обновление листа если успешно
      
?>
      <script>  
        
      var data = "/panel/?path=site&section=modules&mod=smiles&id_dir=<?=$dir['ID']?>";
      var toLoad = data+' #smiles_upgrade';
      
      $("#smiles_upgrade").load(toLoad);
      
      </script>  
      <?
    
    
}
  
  }
  
}ELSE{
  
  ECHO 
LG('Не удалось установить соединение с ресивером.');

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