Файл: modules/foto/inc/gallery_show_foto_act.php
Строк: 88
<?php
/* DCMS Special
* Дата последнего редактирования 14.01.2016
* Модифицировал densnet
*/
if (isset($_GET['act']) && $_GET['act'] == 'avatar' && isset($_GET['ok']) && $ank['id'] == $user['id']) {
$avatar = mysql_fetch_array(mysql_query("SELECT * FROM `gallery_foto` WHERE `avatar` = '1' AND `id_user` = '$user[id]' LIMIT 1"));
if ($avatar['id'] != $foto['id']) {
$q = mysql_query("SELECT * FROM `friends` WHERE `user` = '" . $gallery['id_user'] . "' AND `i` = '1'");
while ($f = mysql_fetch_array($q)) {
$a = get_user($f['friends']);
if ($a['id'] != $user['id'] && $foto['id'] != $avatar['id'] && $f['lenta_avatar'] == 1) {
mysql_query("INSERT INTO `notifications` (`id_user`, `id_kont`, `msg`, `time`) values('$user[id]', '$a[id]', '" . ($a['sex'] ? 'обновил' : 'обновила') . " [url=/modules/foto/$ank[id]/$gallery[id]/$foto[id]/]" . lang('фото профиля из альбома') . "[/url]', '$time')");
}
}
}
if ($imgc = @imagecreatefromjpeg(H . "sys/gallery/foto/$foto[id].jpg")) {
if (imagesx($imgc) > 1000 || imagesy($imgc) > 1000) {
$img_x = imagesx($imgc);
$img_y = imagesy($imgc);
if ($img_x == $img_y) {
$dstW = 1000; // ширина
$dstH = 1000; // высота
} elseif ($img_x > $img_y) {
$prop = $img_x / $img_y;
$dstW = 1000;
$dstH = ceil($dstW / $prop);
} else {
$prop = $img_y / $img_x;
$dstH = 1000;
$dstW = ceil($dstH / $prop);
}
$screen = imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
@chmod(H . "user/avatar/$user[id].jpg", 0777);
@chmod(H . "user/avatar/$user[id].gif", 0777);
@chmod(H . "user/avatar/$user[id].png", 0777);
@unlink(H . "user/avatar/$user[id].jpg");
@unlink(H . "user/avatar/$user[id].gif");
@unlink(H . "user/avatar/$user[id].png");
imagejpeg($screen, H . "user/avatar/$user[id].jpg", 1000);
@chmod(H . "user/avatar/$user[id].jpg", 0777);
imagedestroy($screen);
} else {
copy($_FILES['file']['tmp_name'], H . "user/avatar/$user[id].jpg");
}
$_SESSION['message'] = lang('Фотография успешно установлена');
header("Location: ?");
exit;
} else {
$err = 'Неверный формат файла';
}
}
if (isset($_GET['act']) && $_GET['act'] == 'delete' && isset($_GET['ok'])) {
if ($user['id'] != $ank['id']) {
admin_log(lang('Фотогалерея'), lang('Фотографии'), "" . lang('Удаление фото пользователя') . " '[url=/info.php?id=$ank[id]]$ank[nick][/url]'");
}
if ($user['id'] == $ank['id']) {
@unlink(H . "sys/gallery/48/$foto[id].jpg");
@unlink(H . "sys/gallery/128/$foto[id].jpg");
@unlink(H . "sys/gallery/640/$foto[id].jpg");
@unlink(H . "sys/gallery/foto/$foto[id].jpg");
mysql_query("DELETE FROM `gallery_foto` WHERE `id` = '$foto[id]' LIMIT 1");
msg(lang('Фотография успешно удалена'));
} else {
echo "У Вас не полномочий удалять данное фото";
}
echo "<div class='list-group-item'><a href = '" . DIR_FOTO . "$ank[id]/$gallery[id]/'><i class='fa fa-arrow-left fa-fw'></i> " . lang('К фотографиям') . "</a></div>";
echo "<div class='list-group-item'><a href = '" . DIR_FOTO . "$ank[id]/'><i class='fa fa-arrow-left fa-fw'></i> " . lang('К фотоальбомам') . "</a></div>";
require_once H . 'sys/inc/tfoot.php';
exit;
}
if (isset($_GET['act']) && $_GET['act'] == 'edit') {
if (isset($_GET['rotate']) && ($_GET['rotate'] == 'right' || $_GET['rotate'] == 'left')) {
$rotate = $_GET['rotate'];
if ($rotate == 'left') {
$degrees = 90;
} else {
$degrees = 270;
}
$file_48 = H . "sys/gallery/48/$foto[id].jpg";
$source_48 = imagecreatefromjpeg($file_48);
$rotate_48 = imagerotate($source_48, $degrees, 0);
imagejpeg($rotate_48, H . "sys/gallery/48/$foto[id].jpg", 90);
$file_128 = H . "sys/gallery/128/$foto[id].jpg";
$source_128 = imagecreatefromjpeg($file_128);
$rotate_128 = imagerotate($source_128, $degrees, 0);
imagejpeg($rotate_128, H . "sys/gallery/128/$foto[id].jpg", 90);
$file_640 = H . "sys/gallery/640/$foto[id].jpg";
$source_640 = imagecreatefromjpeg($file_640);
$rotate_640 = imagerotate($source_640, $degrees, 0);
imagejpeg($rotate_640, H . "sys/gallery/640/$foto[id].jpg", 90);
$file_foto = H . "sys/gallery/foto/$foto[id].jpg";
$source_foto = imagecreatefromjpeg($file_foto);
$rotate_foto = imagerotate($source_foto, $degrees, 0);
imagejpeg($rotate_foto, H . "sys/gallery/foto/$foto[id].jpg", 90);
}
if (isset($_GET['ok']) && isset($_POST['name']) && isset($_POST['opis'])) {
$name = esc(stripcslashes(htmlspecialchars($_POST['name'])), 1);
if (!preg_match("#^([A-zА-я0-9-_(),. ])+$#ui", $name)) {
$err = lang('В названии фото присутствуют запрещенные символы');
}
if (utf8_strlen($name) < 3) {
$err = lang('Короткое название');
}
if (utf8_strlen($name) > 100) {
$err = lang('Название не должно быть длиннее 100 символов');
}
$name = mysql_real_escape_string($name);
$msg = $_POST['opis'];
#if (utf8_strlen($msg)<10)$err='Короткое описание';
if (utf8_strlen($msg) > 10024) {
$err = lang('Длина описания превышает предел в 10024 символа');
}
$msg = mysql_real_escape_string($msg);
if (isset($_POST['adult']) && $_POST['adult'] == 1) {
$adult = 1;
} else {
$adult = 0;
}
$komm = $_POST['komm'];
if (in_array($komm, array('all', 'friends', 'only_me'))) {
$komm = $komm;
} else {
$komm = 'all';
}
if (!isset($err)) {
if ($user['id'] != $ank['id']) {
admin_log(lang('Фотогалерея'), lang('Фотографии'), lang('Переименование фото пользователя') . " '[url=/info.php?id=$ank[id]]$ank[nick][/url]'");
}
mysql_query("UPDATE `gallery_foto` SET `name` = '$name', `opis` = '$msg', `adult` = '$adult', `komm` = '$komm' WHERE `id` = '$foto[id]' LIMIT 1");
$foto = mysql_fetch_assoc(mysql_query("SELECT * FROM `gallery_foto` WHERE `id` = '$foto[id]' LIMIT 1"));
$_SESSION['message'] = lang('Изменения сохранены');
header("Location: " . DIR_FOTO . "$ank[id]/$gallery[id]/$foto[id]/");
exit;
} else {
$_SESSION['err'] = lang('Изменения не сохранены');
}
}
}