<?php
/*
------------------------------------------------
3020.ru - скрипты тут
------------------------------------------------
*/
FOREACH (ARRAY('config', 'connect', 'users') AS $connect) {
INCLUDE_ONCE ("../../system/connections/global/$connect.php");
}
ACCESS('users');
$comm = DB::GET_STRING("SELECT `ID`,`AVATAR` FROM `COMMUNITIES` WHERE `ID` = '".INTVAL(GET('id'))."' LIMIT 1");
IF (ISSET($_FILES['file']) && AJAX() == TRUE && ISSET($comm['ID'])){
//Максимальный размер для выгрузки
$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 = RAND(11111111,99999999);
//Временный файл
$TempName = $_FILES['file']['tmp_name'];
//Папка куда будут загружаться изображения
$UploadDir = ROOT."/files/upload/communities/avatar/";
//Проверка расширения изображения
$FileExtension = PATHINFO(STRTOLOWER($FileNameExp), PATHINFO_EXTENSION);
//Определяем ширину и высоту изображения
$xy = GETIMAGESIZE($TempName);
$width = $xy[0];
$height = $xy[1];
$err_data = 0;
IF (CONFIG('FILE_ACCESS') == 0) {
$error = "Выгрузка файлов на сайте приостановлена администрацией";
$err_data = 1;
}
IF ($xy == FALSE) {
$error = "Не удалось получить содержимое изображения";
$err_data = 1;
}
IF ($width < 50) {
$error = "Ширина изображения не может быть меньше 50px. Текущая ширина: ".$width."px";
$err_data = 1;
}
IF ($height < 50) {
$error = "Высота изображения не может быть меньше 50px. Текущая высота: ".$height."px";
$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 ($err_data == 1){
ECHO "<div class='file-upload-progress' style='color: red;'><i class='fa fa-exclamation-triangle fa-fw'></i> ".$error."</div>";
}ELSE{
//Сохраняем изображение если все хорошо
$CopyFile = COPY($TempName, "".$UploadDir."".$FactName.".jpg");
IF (!$CopyFile) {
ECHO "<div class='file-upload-progress' style='color: red;'><i class='fa fa-exclamation-triangle fa-fw'></i> Неизвестная ошибка. Изображение не загружено</div>";
}ELSE{
//Удаляем предыдущую аватарку, если она была
@UNLINK(ROOT.'/files/upload/communities/avatar/'.$comm['AVATAR'].'.jpg');
@UNLINK(ROOT.'/files/upload/communities/avatar/100x100/'.$comm['AVATAR'].'.jpg');
CROP_IMAGE(ROOT.'/files/upload/communities/avatar/'.$FactName.'.jpg', ROOT.'/files/upload/communities/avatar/100x100/'.$FactName.'.jpg', 100, 100);
DB::GET_SET("UPDATE `COMMUNITIES` SET `AVATAR` = '".$FactName."' WHERE `ID` = '".$comm['ID']."' LIMIT 1");
//Отправляем запрос на обновление заставки если успешно
?>
<script>
var data = "/modules/?path=communities§ion=show&id=<?=$comm['ID']?>";
var toLoad = data+' #avatar_upgrade';
open_modal = 0;
$("#avatar_upgrade").load(toLoad);
$("#avatar").removeClass("open");
setTimeout( function(){
$("#avatar").parents(".overlay").removeClass("open");
}, 5);
$('#upload2').html('');
</script>
<?
}
}
}ELSE{
ECHO LG('Не удалось установить соединение с ресивером.');
}
?>