Файл: modules/obmen/inc/admin_act.php
Строк: 110
<?php
if (user::access('obmen_dir_delete') && isset($_GET['act']) && $_GET['act'] == 'delete' && isset($_GET['ok']) && $l != '/') {
$q = mysql_query("SELECT * FROM `obmennik_dir` WHERE `dir_osn` like '$l%'");
while ($post = mysql_fetch_assoc($q)) {
$q2 = mysql_query("SELECT * FROM `obmennik_files` WHERE `id_dir` = '$post[id]'");
while ($post2 = mysql_fetch_assoc($q2)) {
unlink(H . 'sys/obmen/files/' . $post2['id'] . '.dat');
}
mysql_query("DELETE FROM `obmennik_files` WHERE `id_dir` = '$post[id]'");
mysql_query("DELETE FROM `obmennik_dir` WHERE `id` = '$post[id]' LIMIT 1");
}
$q2 = mysql_query("SELECT * FROM `obmennik_files` WHERE `id_dir` = '$dir_id[id]'");
while ($post = mysql_fetch_assoc($q2)) {
unlink(H . 'sys/obmen/files/' . $post['id'] . '.dat');
}
mysql_query("DELETE FROM `obmennik_files` WHERE `id_dir` = '$dir_id[id]'");
mysql_query("DELETE FROM `obmennik_dir` WHERE `id` = '$dir_id[id]' LIMIT 1");
$l = $dir_id['dir_osn'];
msg('Папка успешно удалена');
admin_log('Обменник', 'Удаление папки', "Папка '$dir_id[name]' удалена");
$dir_id = mysql_fetch_assoc(mysql_query("SELECT * FROM `obmennik_dir` WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1"));
$id_dir = $dir_id['id'];
}
if (user::access('obmen_dir_edit') && isset($_GET['act']) && $_GET['act'] == 'mesto' && isset($_GET['ok']) && isset($_POST['dir_osn']) && $l != '/') {
if ($_POST['dir_osn'] == NULL) {
$err = "Не выбран коненый путь";
} else {
$q = mysql_query("SELECT * FROM `obmennik_dir` WHERE `dir_osn` like '$l%'");
while ($post = mysql_fetch_assoc($q)) {
$new_dir_osn = eregi_replace("^$l/", $_POST['dir_osn'], $post['dir_osn']) . $dir_id['name'] . '/';
$new_dir = $new_dir_osn . $post['name'];
mysql_query("UPDATE `obmennik_dir` SET `dir`='$new_dir/', `dir_osn`='$new_dir_osn' WHERE `id` = '$post[id]' LIMIT 1");
}
$l = $_POST['dir_osn'];
mysql_query("UPDATE `obmennik_dir` SET `dir`='" . $l . "$dir_id[name]/', `dir_osn`='" . $l . "' WHERE `id` = '$dir_id[id]' LIMIT 1");
admin_log('Обменник', 'Изменение папки', "Папка '$dir_id[name]' перемещена");
msg('Папка успешно перемещена');
$dir_id = mysql_fetch_assoc(mysql_query("SELECT * FROM `obmennik_dir` WHERE `id` = '$dir_id[id]' LIMIT 1"));
$id_dir = $dir_id['id'];
}
}
if (user::access('obmen_dir_edit') && isset($_GET['act']) && $_GET['act'] == 'rename' && isset($_GET['ok']) && isset($_POST['name']) && $l != NULL) {
if ($_POST['name'] == NULL) {
$err = "Введите название папки";
} elseif (!preg_match("#^([A-zА-я0-9-_() ])+$#ui", $_POST['name'])) {
$err[] = 'В названии присутствуют запрещенные символы';
} else {
$newdir = retranslit(text::esc($_POST['name'], 1));
if (!isset($err)) {
if ($l != '/') {
$l.='/';
}
$downpath = preg_replace('#[^/]*/$#', NULL, $l);
mysql_query("UPDATE `obmennik_dir` SET `name`='" . text::esc($_POST['name'], 1) . "' WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1");
msg('Папка успешно переименована');
admin_log('Обменник', 'Изменение папки', "Папка '$dir_id[name]' переименована в '" . text::esc($_POST['name'], 1) . "'");
$l = $downpath . $newdir;
$dir_id = mysql_fetch_assoc(mysql_query("SELECT * FROM `obmennik_dir` WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1"));
$id_dir = $dir_id['id'];
header("Location: ?");
}
}
}
if (user::access('obmen_dir_create') && isset($_GET['act']) && $_GET['act'] == 'mkdir' && isset($_GET['ok']) && isset($_POST['name'])) {
if ($_POST['name'] == NULL) {
$err = "Введите название папки";
} elseif (!preg_match("#^([A-zА-я0-9-_() ])+$#ui", $_POST['name'])) {
$err[] = 'В названии присутствуют запрещенные символы';
} else {
$newdir = retranslit(text::esc($_POST['name'], 1));
if (isset($_POST['upload']) && $_POST['upload'] == '1') {
$upload = 1;
} else {
$upload = 0;
}
if (!isset($_POST['ras']) || $_POST['ras'] == NULL) {
$upload = 0;
}
$size = 0;
if ($upload == 1 && isset($_POST['size']) && isset($_POST['mn'])) {
$size = intval($_POST['size']) * intval($_POST['mn']);
if ($upload_max_filesize < $size) {
$size = $upload_max_filesize;
}
} else {
$upload = 0;
}
$ras = text::esc(stripcslashes(htmlspecialchars($_POST['ras'], 1)));
if (!isset($err)) {
if ($l != '/') {
$l.='/';
}
mysql_query("INSERT INTO `obmennik_dir` (`name` , `ras` , `maxfilesize` , `dir` , `dir_osn` , `upload` ) VALUES ('" . text::esc($_POST['name'], 1) . "', '$ras', '$size', '" . $l . "$newdir/', '" . $l . "', '$upload')");
msg('Папка "' . text::esc($_POST['name'], 1) . '" успешно создана');
admin_log('Обменник', 'Создание папки', "Создана папка '" . text::esc($_POST['name'], 1) . "'");
}
}
}
if (user::access('obmen_dir_edit') && isset($_GET['act']) && $_GET['act'] == 'set' && isset($_GET['ok'])) {
if (isset($_POST['upload']) && $_POST['upload'] == '1') {
$upload = 1;
} else {
$upload = 0;
}
if (!isset($_POST['ras']) || $_POST['ras'] == NULL) {
$upload = 0;
}
$size = 0;
if ($upload == 1 && isset($_POST['size']) && isset($_POST['mn'])) {
$size = intval($_POST['size']) * intval($_POST['mn']);
if ($upload_max_filesize < $size) {
$size = $upload_max_filesize;
}
} else {
$upload = 0;
}
$ras = text::esc(stripcslashes(htmlspecialchars($_POST['ras'], 1)));
if (!isset($err)) {
if ($l != '/') {
$l.='/';
}
mysql_query("UPDATE `obmennik_dir` SET `ras`='$ras', `maxfilesize`='$size', `upload`='$upload' WHERE `id` = '$dir_id[id]'");
msg('Параметры папки успешно изменены');
admin_log('Обменник', 'Изменение папки', "Изменены параметры папки '$dir_id[name]'");
$dir_id = mysql_fetch_assoc(mysql_query("SELECT * FROM `obmennik_dir` WHERE `id` = '$dir_id[id]' LIMIT 1"));
$id_dir = $dir_id['id'];
}
}