- <?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');
-
- ?>