Вход Регистрация
Файл: pages/avatar/index.php
Строк: 153
<?
include ('../../system/mysql.php');
include (
'../../system/sys_func.php');

if (!isset(
$user)) {
    
$title 'Кабинет/Ошибка';
    include (
'../../system/head.php');
    echo 
'<div class="err">Чтобы просматривать данную страницу вы должны <a href="/pages/registration/">зарегистрироваться</a> или <a href="/pages/registration/?menu=login">авторизоваться</a>!</div>';
    
foot();
    exit;
}

if (isset(
$_GET['delete'])) {
    
mysql_query("UPDATE `users` SET `avatar` = '0' WHERE `id` = '"$user['id'] ."'");
    if (
is_file('../../design/imgs/user_avatars/'$user['id'] .'.jpg')) @unlink('../../design/imgs/user_avatars/'$user['id'] .'.jpg');
    if (
is_file('../../design/imgs/user_avatars/'$user['id'] .'.png')) @unlink('../../design/imgs/user_avatars/'$user['id'] .'.png');
    
header('Location: index.php');
    exit;
}

$path '../../design/imgs/user_avatars/'//Путь загрузки аватара
$tmp_path '../../design/imgs/user_avatars/tmp/'//Путь временного загрузки аватара
$types = array('image/png''image/jpeg'); //Разрешенные типы

if (is_uploaded_file($_FILES['avatar']['tmp_name'])) {
    if (!
in_array($file['type'], $types)) $err '<div class="err">Неверный формат файла</div>';

    function 
big($file$rotate NULL) {
        global 
$tmp_path;
        
// Ограничение по ширине в пикселях
        
$size 1366;
        
// Качество изображения по умолчанию
        
$quality 100;

        
// Cоздаём исходное изображение на основе исходного файла
        
if ($file['type'] == 'image/jpeg'$source imagecreatefromjpeg($file['tmp_name']);
        elseif (
$file['type'] == 'image/png'$source imagecreatefrompng($file['tmp_name']);
        else return 
false;

        
// Поворачиваем изображение
        
if ($rotate != NULL$src imagerotate($source$rotate0);
        else 
$src $source;

        
// Определяем ширину и высоту изображения
        
$w_src imagesx($src);
        
$h_src imagesy($src);

        
// Устанавливаем ограничение по ширине.
        
$w $size;

        
// Если ширина больше заданной
        
if ($w_src $w) {
            
// Вычисление пропорций
            
$ratio $w_src/$w;
            
$w_dest round($w_src/$ratio);
            
$h_dest round($h_src/$ratio);

            
// Создаём пустую квадратную картинку
            
if ($file['type'] == 'image/jpeg'$dest imagecreatetruecolor($w_dest$h_dest);
            elseif (
$file['type'] == 'image/png'$dest ImageCreate($w_dest$h_dest);
            if (
$file['type'] == 'image/png'imagealphablending($destfalse);
            
// Копируем старое изображение в новое с изменением параметров
            
imagecopyresampled($dest$src0000$w_dest$h_dest$w_src$h_src);
            if (
$file['type'] == 'image/png'imagesavealpha($desttrue);
            
// Вывод картинки и очистка памяти
            
if ($file['type'] == 'image/jpeg'imagejpeg($dest$tmp_path.$file['name'], $quality);
            elseif (
$file['type'] == 'image/png'imagepng($dest$tmp_path.$file['name']);
            
imagedestroy($dest);
            
imagedestroy($src);
            return 
$file['name'];
        } else {
            if (
$file['type'] == 'image/png'imagealphablending($srcfalse);
            if (
$file['type'] == 'image/png'imagesavealpha($srctrue);
            
// Вывод картинки и очистка памяти
            
if ($file['type'] == 'image/jpeg'imagejpeg($src$tmp_path.$file['name'], $quality);
            elseif (
$file['type'] == 'image/png'imagepng($src$tmp_path.$file['name']);
            
imagedestroy($src);
            return 
$file['name'];
        }
    }

    
$name big($_FILES['avatar'], $_POST['file_rotate']);
    if (
preg_match('#.jpe?g$#i',$name)) $f '.jpg';
    elseif (
preg_match('#.png$#i',$name)) $f '.png';

    
// Загрузка файла и вывод сообщения
    
if (is_file($path.$user['id'] .'.jpg')) @unlink($path.$user['id'] .'_orig.jpg');
    elseif (
is_file($path.$user['id'] .'.png')) @unlink($path.$user['id'] .'_orig.png');
    @
copy($tmp_path.$name$path.$user['id'] .'_orig'.$f);
    
mysql_query("UPDATE `users` SET `avatar` = '0' WHERE `id` = '"$user['id'] ."'");
    
mysql_query("UPDATE `users` SET `ava_user` = '".$user['id'].$f."' WHERE `id` = '"$user['id'] ."'");
    
// Удаляем временный файл
    
if (is_file($tmp_path.$name)) unlink($tmp_path.$name);
    
    function 
mini($file$rotate NULL) {
        global 
$tmp_path;
        
// Ограничение по ширине в пикселях
        
$max_sizesize 130;
        
// Качество изображения по умолчанию
        
$quality 100;

        
// Cоздаём исходное изображение на основе исходного файла
        
if ($file['type'] == 'image/jpeg'$source imagecreatefromjpeg($file['tmp_name']);
        elseif (
$file['type'] == 'image/png'$source imagecreatefrompng($file['tmp_name']);
        else return 
false;

        
// Поворачиваем изображение
        
if ($rotate != NULL$src imagerotate($source$rotate0);
        else 
$src $source;

        
// Определяем ширину и высоту изображения
        
$w_src imagesx($src);
        
$h_src imagesy($src);

        
// Устанавливаем ограничение по ширине.
        
$w $max_sizesize;

        
// Если ширина больше заданной
        
if ($w_src $w) {
            
// Вычисление пропорций
            
$ratio $w_src/$w;
            
$w_dest round($w_src/$ratio);
            
$h_dest round($h_src/$ratio);

            
// Создаём пустую квадратную картинку
            
if ($file['type'] == 'image/jpeg'$dest imagecreatetruecolor($w$w);
            elseif (
$file['type'] == 'image/png'$dest ImageCreate($w$w);
            if (
$file['type'] == 'image/png'imagealphablending($destfalse);
            
// Вырезаем квадратную серединку по x, если фото горизонтальное
            
if ($w_src $h_srcimagecopyresampled($dest$src00round((max($w_src$h_src) - min($w_src$h_src))/2), 0$w$wmin($w_src$h_src), min($w_src$h_src));
            
// Вырезаем квадратную серединку по y, если фото горизонтальное
            
elseif ($w_src $h_srcimagecopyresampled($dest$src000round((max($w_src$h_src) - min($w_src$h_src))/2), $w$wmin($w_src$h_src), min($w_src$h_src));
            
// Квадратная картинка масштабируется без вырезок
            
elseif ($w_src == $h_srcimagecopyresampled($dest$src0000$w$w$w_src$w_src);
            if (
$file['type'] == 'image/png'imagesavealpha($desttrue);
            
// Вывод картинки и очистка памяти
            
if ($file['type'] == 'image/jpeg'imagejpeg($dest$tmp_path.$file['name'], $quality);
            elseif (
$file['type'] == 'image/png'imagepng($dest$tmp_path.$file['name']);
            
imagedestroy($dest);
            
imagedestroy($src);
            return 
$file['name'];
        } else {
            if (
$file['type'] == 'image/png'imagealphablending($srcfalse);
            if (
$file['type'] == 'image/png'imagesavealpha($srctrue);
            
// Вывод картинки и очистка памяти
            
if ($file['type'] == 'image/jpeg'imagejpeg($src$tmp_path.$file['name'], $quality);
            elseif (
$file['type'] == 'image/png'imagepng($src$tmp_path.$file['name']);
            
imagedestroy($src);
            return 
$file['name'];
        }
    }
    
    
$name mini($_FILES['avatar'], $_POST['file_rotate']);
    if (
preg_match('#.jpe?g$#i',$name)) $f '.jpg';
    elseif (
preg_match('#.png$#i',$name)) $f '.png';

    
// Загрузка файла и вывод сообщения
    
if (is_file($path.$user['id'] .'.jpg')) @unlink($path.$user['id'] .'.jpg');
    elseif (
is_file($path.$user['id'] .'.png')) @unlink($path.$user['id'] .'.png');
    if (!@
copy($tmp_path.$name$path.$user['id'].$f)) $err '<div class="err">Ошибка</div>';
    else 
$err '<div class="info">Успешно</div>';
    
mysql_query("UPDATE `users` SET `avatar` = '0' WHERE `id` = '"$user['id'] ."'");
    
// Удаляем временный файл
    
if (is_file($tmp_path.$name)) unlink($tmp_path.$name);

    
header('Location: index.php');
}

$title 'Аватар';
include (
'../../system/head.php');
echo 
'<div class="title">Аватар</div><div class="c"><center>';
online_avatar($user['id']);
echo 
'</center></div>';
if (isset(
$err)) echo $err;
echo 
'<form method="post" enctype="multipart/form-data">';
$path '../../design/imgs/user_avatars/'$user['id'];
if (
is_file($path .".jpg") || is_file($path .".png") || $user['avatar'] != '0') echo ' <a class="at" href="?delete"><center>Удалить</center></a>';
echo 
'<p>Загружать картинки можно только форматов: .jpg/jpeg и .png.<br>.gif-анимации загружать нельзя.<br>Также вы можете <a href="avatars.php">установить</a> аватары с нашего сайта.</p>
<input type="file" style="width:60%" name="avatar" accept="image/*,image/png,image/jpeg" /><br>
Поворот:<br>
<input name="file_rotate" type="radio" value="90" />90
<input name="file_rotate" type="radio" value="180" />180
<input name="file_rotate" type="radio" value="270" />270<br>
<input value="Заменить" type="submit" name="set" />
</form>'
;
foot();
?>
Онлайн: 0
Реклама