<?php
// проверка наличия авторизации
if (!isset($user))
{
# Перенаправляем на главную
header('Location: /');
}
# Заголовок модуля
$system['page_title'] = 'Аватар';
# Шапка модуля
require_once(HOME .'/incfiles/header.php');
// обработка добавления
if (isset($_FILES['avatar']))
{
// ищем верный формат изображения
if (preg_match('/\.jpe?g$/i', $_FILES['avatar']['name']) && $img=imagecreatefromjpeg($_FILES['avatar']['tmp_name']))
{
// обработка изображения
if (imagesx($img) > 100 || imagesy($img) > 100)
{
$img_x = imagesx($img);
$img_y = imagesy($img);
// меняем размер на 100х100
if ($img_x == $img_y)
{
$img_w = 100; // ширина
$img_h = 100; // высота
}
else if ($img_x > $img_y)
{
$var = $img_x / $img_y;
$img_w = 100;
$img_h = ceil($img_w / $var);
}
else
{
$var = $img_y / $img_x;
$img_h = 100;
$img_w = ceil($img_h / $var);
}
# записываем изображение
$avatar=imagecreatetruecolor($img_w, $img_h);
imagecopyresampled($avatar, $img, 0, 0, 0, 0, $img_w, $img_h, $img_x, $img_y);
imagedestroy($img);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.gif', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.png', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.jpg', 0777);
@unlink(HOME .'/files/avatars/'. $user['id'] .'.gif');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.png');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.jpg');
imagejpeg($avatar, HOME .'/files/avatars/'. $user['id'] .'.jpg', 100);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.jpg', 0777);
imagedestroy($avatar);
# Уведомление
$add_avatar = true;
}
else
{
@chmod(HOME .'/files/avatars/'. $user['id'] .'.gif', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.png', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.jpg', 0777);
@unlink(HOME .'/files/avatars/'. $user['id'] .'.gif');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.png');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.jpg');
# или просто копируем изображение
copy($_FILES['avatar']['tmp_name'], HOME .'/files/avatars/'. $user['id'] .'.jpg');
# Уведомление
$add_avatar = true;
}
}
else if (preg_match('/\.gif$/i', $_FILES['avatar']['name']) && $img=imagecreatefromgif($_FILES['avatar']['tmp_name']))
{
// обработка изображения
if (imagesx($img) > 100 || imagesy($img) > 100)
{
$img_x = imagesx($img);
$img_y = imagesy($img);
// меняем размер на 100х100
if ($img_x == $img_y)
{
$img_w = 100; // ширина
$img_h = 100; // высота
}
else if ($img_x > $img_y)
{
$var = $img_x / $img_y;
$img_w = 100;
$img_h = ceil($img_w / $var);
}
else
{
$var = $img_y / $img_x;
$img_h = 100;
$img_w = ceil($img_h / $var);
}
# записываем изображение
$avatar=imagecreatetruecolor($img_w, $img_h);
imagecopyresampled($avatar, $img, 0, 0, 0, 0, $img_w, $img_h, $img_x, $img_y);
imagedestroy($img);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.gif', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.png', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.jpg', 0777);
@unlink(HOME .'/files/avatars/'. $user['id'] .'.gif');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.png');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.jpg');
imagejpeg($avatar, HOME .'/files/avatars/'. $user['id'] .'.gif', 100);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.gif', 0777);
imagedestroy($avatar);
# Уведомление
$add_avatar = true;
}
else
{
@chmod(HOME .'/files/avatars/'. $user['id'] .'.gif', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.png', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.jpg', 0777);
@unlink(HOME .'/files/avatars/'. $user['id'] .'.gif');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.png');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.jpg');
# или просто копируем изображение
copy($_FILES['avatar']['tmp_name'], HOME .'/files/avatars/'. $user['id'] .'.gif');
# Уведомление
$add_avatar = true;
}
}
else if (preg_match('/\.png$/i', $_FILES['avatar']['name']) && $img=imagecreatefrompng($_FILES['avatar']['tmp_name']))
{
// обработка изображения
if (imagesx($img) > 100 || imagesy($img) > 100)
{
$img_x = imagesx($img);
$img_y = imagesy($img);
// меняем размер на 100х100
if ($img_x == $img_y)
{
$img_w = 100; // ширина
$img_h = 100; // высота
}
else if ($img_x > $img_y)
{
$var = $img_x / $img_y;
$img_w = 100;
$img_h = ceil($img_w / $var);
}
else
{
$var = $img_y / $img_x;
$img_h = 100;
$img_w = ceil($img_h / $var);
}
# записываем изображение
$avatar=imagecreatetruecolor($img_w, $img_h);
imagecopyresampled($avatar, $img, 0, 0, 0, 0, $img_w, $img_h, $img_x, $img_y);
imagedestroy($img);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.gif', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.png', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.jpg', 0777);
@unlink(HOME .'/files/avatars/'. $user['id'] .'.gif');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.png');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.jpg');
imagejpeg($avatar, HOME .'/files/avatars/'. $user['id'] .'.png', 100);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.png', 0777);
imagedestroy($avatar);
# Уведомление
$add_avatar = true;
}
else
{
@chmod(HOME .'/files/avatars/'. $user['id'] .'.gif', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.png', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.jpg', 0777);
@unlink(HOME .'/files/avatars/'. $user['id'] .'.gif');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.png');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.jpg');
# или просто копируем изображение
copy($_FILES['avatar']['tmp_name'], HOME .'/files/avatars/'. $user['id'] .'.png');
# Уведомление
$add_avatar = true;
}
}
else
{
$err .= 'Неверный формат изображения<br />';
}
}
// проверка необходимости уведомления
if ($add_avatar == true)
{
# Выводим уведомление
echo '<div class="title">Добавление аватара</div>
<div class="menu">
Аватар успешно добавлен
</div>';
echo '<div class="block">
» <a href="/user/avatar.php">Управление аватаром</a><br />
» <a href="/user/cabinet.php">Личный кабинет</a><br />
» <a href="/">На главную</a>
</div>';
# Ноги модуля
require_once(HOME .'/incfiles/footer.php');
}
// удаление аватара
if (isset($_GET['delete']))
{
@chmod(HOME .'/files/avatars/'. $user['id'] .'.gif', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.png', 0777);
@chmod(HOME .'/files/avatars/'. $user['id'] .'.jpg', 0777);
@unlink(HOME .'/files/avatars/'. $user['id'] .'.gif');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.png');
@unlink(HOME .'/files/avatars/'. $user['id'] .'.jpg');
echo '<div class="title">Удаление аватара</div>
<div class="menu">
Ваш аватар успешно удален.
</div>';
echo '<div class="block">
» <a href="/user/avatar.php">Управление аватаром</a><br />
» <a href="/user/cabinet.php">Личный кабинет</a><br />
» <a href="/">На главную</a>
</div>';
# Ноги модуля
require_once(HOME .'/incfiles/footer.php');
}
error($err);
# Подключаем библиотеку для аватара
require_lib('avatar.php');
// проверяем существование аватара
if (file_exists(HOME .'/files/avatars/'. $user['id'] .'.png') || file_exists(HOME .'/files/avatars/'. $user['id'] .'.jpg') || file_exists(HOME .'/files/avatars/'. $user['id'] .'.gif'))
{
echo '<div class="title">Текущий аватар</div>
<div class="menu">
'. avatar($user['id']) .'
» <a href="/user/avatar.php?delete">Удалить аватар</a>
</div>';
}
echo '<div class="title">Добавить аватар</div>
<form method="post" action="/user/avatar.php" enctype="multipart/form-data">
<div class="menu">
Выберите изображение:<br />
<input type="file" name="avatar" accept="image/*, image/gif, image/png, image/jpeg" /><br />
<span class="small_info">* Поддерживаются форматы: gif, png, jpg</span><br />
<input type="submit" value="Добавить" />
</div>
</form>';
echo '<div class="block">
» <a href="/user/cabinet.php">Личный кабинет</a><br />
» <a href="/">На главную</a>
</div>';
# Ноги модуля
require_once(HOME .'/incfiles/footer.php');
?>