Файл: user/inc/avatar.php
Строк: 115
<?php
only_reg();
$set['title'] = 'Настройки аватара';
$back_link_set = true;
#список файлов о которых надо не пропускать в любом случае
$listIgnore = array('.php', '.phtml', '.php3', '.php4');
#ширина и высота
$wPic = $set['avatar_s'];
$hPic = $set['avatar_w'];
#как сохраняем
$savePic = '.png';
switch (empty($_GET['type_avatar']) ? false : $_GET['type_avatar']) {
default:
#upload pic
if (isset($_FILES['file'])) {
$file_is = $_FILES['file']['name'];
if ($_FILES['file']['name'] == null) {
$_SESSION['message'] = lang('Не выбран файл ,или он поврежден');
exit(header('Location: ?'));
}
#проверка игнор файлов
foreach ($listIgnore as $key) {
if (preg_match("/$key$/i", $_FILES['file']['name'])) {
exit(header('Location: ?'));
}
}
@unlink(H . "files/avatars/$user[id].png");
#класс для работы с файлом изображения
$image = new ImgType();
#сам файл
$image->load($_FILES['file']['tmp_name']);
#размеры
#$image->resize($wPic,$hPic);
$image->resizeToWidth($wPic);
#сохраняем под ...
$image->save(H . 'files/avatars/' . $user['id'] . $savePic);
$_SESSION['message'] = lang('Аватар установлен');
exit(header('Location: ?'));
}
err();
$ava = avatar_path($user['id']);
echo '<div class="card">';
if ($ava) {
echo "<div class='card-header'>" . lang('Ваш текущий аватар') . "</div>";
} else {
echo "<div class='card-header'>" . lang('Загрузить фото') . "</div>";
}
echo "<form method='post' class='card-block' enctype='multipart/form-data' action=''>n";
if ($ava) {
echo "<center>";
avatar($user['id'], 200, 200, 0, null);
echo "</center><br />";
}
echo "<div class='alert alert-warning' role='alert'>";
echo lang('Можно загружать изображения форматов') . ": GIF, JPG, PNG <br />";
echo lang('Качественное преобразование GIF-анимации не гарантируется');
echo "</div><br />";
echo "<input class='form-control' type='file' name='file' accept='image/*,image/gif,image/png,image/jpeg' />";
echo "<br />";
if ($ava) {
echo "<button class='btn btn-success'>" . lang('Заменить') . "</button> ";
echo "<a class='btn btn-success' href='?type_avatar=delete'><span class='fa fa-trash-o'></span> " . lang('Удалить фото') . "</a>";
} else {
echo "<button class='btn btn-success'>" . lang('Загрузить') . "</button>";
}
echo "</form>";
echo "<div class='card-block'><a href='?type_avatar=import'><span class='fa fa-download fa-fw'></span> " . lang('Импорт аватара с другого сайта') . "</a></div>";
echo "</div>";
break;
case 'delete':
if (isset($_GET['ok'])) {
@unlink(H . "files/avatars/$user[id].png");
$_SESSION['message'] = lang('Фото удалено');
exit(header('Location: ?'));
}
echo '<div class="card">';
echo "<div class='card-header'>Удаление <a style = 'float:right;color: grey;' href = '?'>Закрыть</a></div>";
echo "<form method='post' class='card-block' action='?type_avatar=delete&ok'>n";
echo "Вы действительно хотите удалить фото?<br />";
echo "<button class='btn btn-success'><span class='fa fa-trash-o'></span> Удалить</button>";
echo "</form>";
echo "</div>";
break;
case 'import':
if (isset($_POST['import'])) {
if ($_FILES['file']['name'] == null) {
$_SESSION['message'] = lang('Не выбран файл ,или он поврежден');
exit(header('Location: ?type_avatar=import'));
}
if (file_get_contents($_POST['import']) != null) {
#проверка игнор файлов
foreach ($listIgnore as $key) {
if (preg_match("/$key$/i", $_FILES['file']['name'])) {
exit(header('Location: ?type_avatar=import'));
}
}
@unlink(H . "files/avatars/$user[id].png");
#класс для работы с файлом изображения
$image = new ImgType();
#сам файл
$image->load($_POST['import']);
#размеры
#$image->resize($wPic,$hPic);
$image->resizeToWidth($wPic);
#сохраняем под ...
$image->save(H . 'files/avatars/' . $user['id'] . $savePic);
$_SESSION['message'] = lang('Аватар установлен');
exit(header('Location: ?type_avatar=import'));
} else {
msg(lang('Картинка недоступна'));
}
}
echo '<div class="card">';
echo "<div class='card-header'>" . lang('Импорт аватара с другого сайта') . "</div>";
echo "<form method='post' class='card-block' enctype='multipart/form-data' action=''>n";
echo "<center>";
echo avatar($user['id'], 200, 200, 0, null);
echo "</center><br />";
echo "<div class='alert alert-warning' role='alert'>";
echo lang('Можно загружать изображения форматов') . ": GIF, JPG, PNG <br />";
echo lang('Качественное преобразование GIF-анимации не гарантируется');
echo "</div><br />";
echo lang('Ссылка на картинку') . "<br />";
echo "<input name='import' class='form-control' value='http://' type='text' accept='image/*,image/gif,image/png,image/jpeg,image/jpg' /><br />";
echo "<button class='btn btn-success' name='imports' accept='image/*,image/gif,image/png,image/jpeg,image/jpg'><span class='fa fa-download fa-fw'></span> " . lang('Импортировать') . "</button> ";
echo "</form>";
echo "<div class='card-block'><a href='?' title='" . lang('Обычная загрузка') . "'><span class='fa fa-upload fa-fw'></span> " . lang('Обычная загрузка') . "</a></div>";
echo "</div>";
break;
}