<?php
if ( user_access( 'obmen_dir_delete' ) && isset( $_GET['act'] ) && $_GET['act'] == 'delete' && isset( $_GET['ok'] ) && $l != '/' ) {
if ( $dir_id['my'] == 1 ) {
echo "Нельзя удалить папку Личные файлы!";
exit;
}
$q = db::query("SELECT * FROM `obmennik_dir` WHERE `dir_osn` like '$l%'");
while ( $post = $q->fetch_assoc() ) {
$q2 = db::query("SELECT * FROM `obmennik_files` WHERE `id_dir` = '$post[id]'");
while ( $post2 = $q2->fetch_assoc() ) {
if ( !@unlink( PATH_UPLOADS . '/obmen/files/' . $post2['id'] . '.dat' ) )
$err[] = 'Ошибка удаления файла ' . $post2['id'] . '.dat';
@unlink( PATH_UPLOADS . '/obmen/files/' . $post2['id'] . '.dat.GIF' );
@unlink( PATH_UPLOADS . '/obmen/files/' . $post2['id'] . '.dat.JPG' );
@unlink( PATH_UPLOADS . '/obmen/files/' . $post2['id'] . '.dat.PNG' );
db::query("DELETE FROM `user_music` WHERE `id_file` = '$post2[id]' AND `dir` = 'obmen'");
}
db::query("DELETE FROM `obmennik_files` WHERE `id_dir` = '$post[id]'");
db::query("DELETE FROM `obmennik_dir` WHERE `id` = '$post[id]' LIMIT 1");
}
$q2 = db::query("SELECT * FROM `obmennik_files` WHERE `id_dir` = '$dir_id[id]'");
while ( $post = $q2->fetch_assoc() ) {
unlink( PATH_UPLOADS . '/obmen/files/' . $post['id'] . '.dat' );
@unlink( PATH_UPLOADS . '/obmen/files/' . $post['id'] . '.dat.GIF' );
@unlink( PATH_UPLOADS . '/obmen/files/' . $post['id'] . '.dat.JPG' );
@unlink( PATH_UPLOADS . '/obmen/files/' . $post['id'] . '.dat.PNG' );
db::query("DELETE FROM `user_music` WHERE `id_file` = '$post[id]' AND `dir` = 'obmen'");
}
db::query("DELETE FROM `obmennik_files` WHERE `id_dir` = '$dir_id[id]'");
db::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 = db::fetch("SELECT * FROM `obmennik_dir` WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1", ARRAY_A);
$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 = db::query("SELECT * FROM `obmennik_dir` WHERE `dir_osn` like '$l%'");
while ( $post = $q->fetch_assoc() ) {
$new_dir_osn = preg_replace( "#^$l/#", $_POST['dir_osn'], $post['dir_osn'] ) . $dir_id['name'] . '/';
$new_dir = $new_dir_osn . $post['name'];
db::query("UPDATE `obmennik_dir` SET `dir`='$new_dir/', `dir_osn`='$new_dir_osn' WHERE `id` = '$post[id]' LIMIT 1");
}
$l = $_POST['dir_osn'];
db::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 = db::fetch("SELECT * FROM `obmennik_dir` WHERE `id` = '$dir_id[id]' LIMIT 1", ARRAY_A);
$id_dir = $dir_id['id'];
}
}
if ( user_access( 'obmen_dir_edit' ) && isset( $_GET['act'] ) && $_GET['act'] == 'rename' && isset( $_GET['ok'] ) && isset( $_POST['name'] ) && $l != '/' ) {
if ( $_POST['name'] == NULL )
$err = "Введите название папки";
elseif ( !preg_match( "#^([A-zА-я0-9\-\_\(\)\ ])+$#ui", $_POST['name'] ) )
$err[] = 'В названии присутствуют запрещенные символы';
else {
$newdir = retranslit( $_POST['name'], 1 );
if ( !isset( $err ) ) {
if ( $l != '/' )
$l .= '/';
$downpath = preg_replace( '#[^/]*/$#', NULL, $l );
db::query("UPDATE `obmennik_dir` SET `name`='" . esc( $_POST['name'], 1 ) . "' WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1");
msg( 'Папка успешно переименована' );
admin_log( 'Обменник', 'Изменение папки', "Папка '$dir_id[name]' переименована в '" . esc( $_POST['name'], 1 ) . "'" );
$l = $downpath . $newdir;
$dir_id = db::fetch("SELECT * FROM `obmennik_dir` WHERE `dir` = '/$l' OR `dir` = '$l/' OR `dir` = '$l' LIMIT 1", ARRAY_A);
$id_dir = $dir_id['id'];
}
}
}
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( $_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 = esc( stripcslashes( htmlspecialchars( $_POST['ras'], 1 ) ) );
if ( !isset( $err ) ) {
if ( $l != '/' )
$l .= '/';
db::query("INSERT INTO `obmennik_dir` (`name` , `ras` , `maxfilesize` , `dir` , `dir_osn` , `upload` )
VALUES ('" . esc( $_POST['name'], 1 ) . "', '$ras', '$size', '" . $l . "$newdir/', '" . $l . "', '$upload')");
msg( 'Папка "' . esc( $_POST['name'], 1 ) . '" успешно создана' );
admin_log( 'Обменник', 'Создание папки', "Создана папка '" . 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 = esc( stripcslashes( htmlspecialchars( $_POST['ras'], 1 ) ) );
if ( !isset( $err ) ) {
if ( $l != '/' )
$l .= '/';
db::query("UPDATE `obmennik_dir` SET `ras`='$ras', `maxfilesize`='$size', `upload`='$upload' WHERE `id` = '$dir_id[id]'");
msg( 'Параметры папки успешно изменены' );
admin_log( 'Обменник', 'Изменение папки', "Изменены параметры папки '$dir_id[name]'" );
$dir_id = db::fetch("SELECT * FROM `obmennik_dir` WHERE `id` = '$dir_id[id]' LIMIT 1", ARRAY_A);
$id_dir = $dir_id['id'];
}
}
?>