Файл: public_html/panel/loads.php
Строк: 238
<?php
require_once '../includes/sys.php';
require_once '../includes/auth_a.php';
require_once '../includes/header.php';
if ($u['access'] == 1) header('location: ./');
if ($u['access'] == 2) header('location: ../loads/?act=mod');
switch ($act) {
default:
tp('Загруз-центр');
note();
$cats_r = mysql_query("SELECT * FROM `loads_cats` ORDER BY `name`");
while ($cat = mysql_fetch_assoc($cats_r)) {
echo '<div class="rega"><a href="../loads/?act=cat&id='.$cat['id'].'">'.$cat['name'].'</a> (<a href="?act=cat_edit&id='.$cat['id'].'">ред</a>)</div>';
$subcats_r = mysql_query("SELECT * FROM `loads_subcats` WHERE `id_cat` = '$cat[id]' ORDER BY `name`");
while ($subcat = mysql_fetch_assoc($subcats_r)) {
echo '<div class="raz">» <a href="../loads/?act=subcat&id='.$subcat['id'].'">'.$subcat['name'].'</a> (<a href="?act=subcat_edit&id='.$subcat['id'].'">ред</a>)</div>';
}
}
echo '<div class="title">Управление</div>';
echo '<div class="raz"><a href="?act=file_add">Добавить файл</a></div>
<div class="raz"><a href="?act=file_multiadd">Добавить несколько</a></div>
<div class="raz"><a href="?act=file_multi_import">Импортировать несколько</a></div>
<div class="raz"><a href="../loads/index.php?act=mod">Модерировать</a></div>
<div class="title">Создать</div><div class="body">
<form name="form" action="?act=cat_add" method="post" name="form">
<select name="cat">
<option value="0">Главная</option>';
$cats_r = mysql_query("SELECT * FROM `loads_cats` ORDER BY `name`");
while ($cat = mysql_fetch_assoc($cats_r)) {
echo '<option value="'.$cat['id'].'">'.$cat['name'].'</option>';
}
echo '</select><br />
Название (под)раздела:<br/><input name="name" type="text" maxlength="50" /><br />
<input name="submit" type="submit" value="Создать"></form></div>';
break;
case 'cat_add':
if ($_POST['name']) {
$cat = abs(intval($_POST['cat']));
$name = check($_POST['name']);
if ($cat > 0) {
$catn = mysql_fetch_assoc(mysql_query("SELECT `name` FROM `loads_cats` WHERE `id` = '$cat'"));
$path = str_to_en($catn['name']).'_'.str_to_en($name);
$path = str_replace(' ', '_', $path);
$path = str_replace('/', '-', $path);
mkdir('../loads/files/'.$path, 0777);
mysql_query("INSERT INTO `loads_subcats` SET `id_cat` = '$cat', `name` = '$name', `path` = '$path'") or die(mysql_error());
} else {
mysql_query("INSERT INTO `loads_cats` SET `name` = '$name'");
}
}
header('location: ?');
break;
case 'cat_edit':
$cat = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads_cats` WHERE `id` = '$id'"));
if ($cat['id']) {
if (isset($_GET['ok'])) {
if ($_POST['del']) {
if (!mysql_num_rows(mysql_query("SELECT `id` FROM `loads_subcats` WHERE `id_cat` = '$id'"))) {
mysql_query("DELETE FROM `loads_cats` WHERE `id` = '$id'");
header('location: ?');
exit;
} else {
error('Удалите все подразделы раздела "'.$cat['name'].'"');
}
} else {
if ($_POST['name']) {
$name = check($_POST['name']);
mysql_query("UPDATE `loads_cats` SET `name` = '$name' WHERE `id` = '$id'");
header('location: ?');
exit;
} else {
header('location: ?act=cat_edit&id='.$id);
exit;
}
}
} else {
tp('Редактировать раздел');
echo '<div class="body">';
echo '<form name="form" action="?act=cat_edit&id='.$id.'&ok=1" method="post">
Название:<br /><input name="name" type="text" maxlength="50" value="'.$cat['name'].'" /><br />
<input name="del" type="checkbox" value="1" /> удалить<br />
<input name="submit" type="submit" value="Ok" />
</form></div>';
}
} else {
error('Раздел не существует.');
}
break;
case 'subcat_edit':
$subcat = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads_subcats` WHERE `id` = '$id'"));
if ($subcat['id']) {
if (isset($_GET['ok'])) {
if ($_POST['del']) {
$files = mysql_query("SELECT `file` FROM `loads` WHERE `id_subcat` = '$id'");
while ($file = mysql_fetch_assoc($files)) {
unlink('../loads/files/'.$subcat['path'].'/'.$file['file']);
}
$rmdir = rmdir('../loads/files/'.$subcat['path']);
if ($rmdir == 1) {
mysql_query("DELETE FROM `loads_subcats` WHERE `id` = '$id'");
$_SESSION['note'] = 'Подраздел "'.$subcat['name'].'" удален.';
} else {
$_SESSION['note'] = 'Произошла ошибка.';
}
header('location: ?');
exit;
} else {
if ($_POST['name']) {
$name = check($_POST['name']);
mysql_query("UPDATE `loads_subcats` SET `name` = '$name' WHERE `id` = '$id'");
header('location: ?');
exit;
} else {
header('location: ?act=subcat_edit&id='.$id);
exit;
}
}
} else {
tp('Редактировать подраздел');
echo '<div class="body">';
echo '<form name="form" action="?act=subcat_edit&id='.$id.'&ok=1" method="post">
Название:<br /><input name="name" type="text" maxlength="50" value="'.$subcat['name'].'" /><br />
<input name="jump" type="checkbox" value="1" /> автопереход к просмотру<hr />
<input name="del" type="checkbox" value="1" /> удалить (все файлы подраздела будут также удалены)<br />
<input name="submit" type="submit" value="Ok" />
</form></div>';
}
} else {
error('Раздел не существует.');
}
break;
case 'file_add':
if ($ok) {
if (!empty($_POST['subcat']) and !empty($_POST['name']) ) {
$subcat_id = abs(intval($_POST['subcat']));
$subcat = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads_subcats` WHERE `id` = '$subcat_id'"));
if (isset($subcat['id'])) {
if ($_POST['url']) {
$copy = $_POST['url'];
$file = $file = check(basename($copy));
} elseif (!empty($_FILES['file']['name'])) {
$copy = $_FILES['file']['tmp_name'];
$file = check(basename($_FILES['file']['name']));
} else {
error('Не выбран файл или не указан адрес для импорта.');
}
if (!mysql_num_rows(mysql_query("SELECT `id` FROM `loads` WHERE `file` = '$file'"))) {
$name = check($_POST['name']);
$desc = check($_POST['desc']);
$author = check($_POST['author']);
$site = check($_POST['site']);
copy($copy, '../loads/files/'.$subcat['path'].'/'.$file);
mysql_query("INSERT INTO `loads` SET `id_cat` = '$subcat[id_cat]', `id_subcat` = '$subcat[id]', `id_user` = '$u[id]', `name` = '$name', `desc` = '$desc', `author` = '$author', `site` = '$site', `file` = '$file', `time` = '".time()."', `ok` = 1");
$_SESSION['note'] = 'Загружено.';
header('location: ?act=file_add');
exit;
} else {
error('Файл уже существует.');
}
} else {
error('Подраздел выбранный не существует.');
}
} else {
error('Вы не указали название, не выбрали подраздел или файл.');
}
} else {
tp('Добавить файл');
echo '<div class="body">';
note();
echo '<form name="form" action="?act=file_add&ok=1" method="post" enctype="multipart/form-data">
Выбрать подраздел*:<br /><select name="subcat">';
$cat_r = mysql_query("SELECT * FROM `loads_cats` ORDER BY `name`");
while ($cat = mysql_fetch_assoc($cat_r)) {
echo '<option value="0">'.$cat['name'].'</option>';
$subcat_r = mysql_query("SELECT * FROM `loads_subcats` WHERE `id_cat` = '$cat[id]' ORDER BY `name`");
while ($subcat = mysql_fetch_assoc($subcat_r)) {
echo '<option value="'.$subcat['id'].'">-- '.$subcat['name'].'</option>';
}
}
echo '</select><br />
Название(max50)*:<br /><input name="name" type="text" maxlength="50" /><br />
Описание:<br /><textarea name="desc" cols="" rows="4"></textarea><br />
Автор(max20):<br /><input name="author" type="text" maxlength="20" /><br />
Сайт(<del>http://</del>, max20):<br /><input name="site" type="text" maxlength="20" /><br />
Выбрать файл*:<br /><input name="file" type="file" size="file" style="width: 99%"><br/>
<u>ЛИБО</u> указать адрес для импорта<br />
<input name="url" type="text" value="http://"><br />
<input name="submit" type="submit" value="Ok" />
</form></div>';
}
break;
case 'file_multi_import':
tp('Импортировать несколько файлов');
if ($ok) {
if (!empty($_POST)) {
$subcat_id = abs(intval($_POST['subcat']));
$subcat = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads_subcats` WHERE `id` = '$subcat_id'"));
if (isset($subcat['id'])) {
for ($i = 0; $i < sizeof($_POST['url']); $i++) {
if (empty($_POST['url'][$i])) {
continue;
}
$filename = basename($_POST['url'][$i]);
$info = '';
if (!mysql_num_rows(mysql_query("SELECT `id` FROM `loads` WHERE `id_subcat` = '$subcat_id' and `file` = '$filename'"))){
$copy = copy($_POST['url'][$i], '../loads/files/'.$subcat['path'].'/'.$filename);
if ($copy == TRUE) {
mysql_query("INSERT INTO `loads` SET `id_cat` = '$subcat[id_cat]', `id_subcat` = '$subcat[id]', `id_user` = '$u[id]', `name` = '$filename', `file` = '$filename', `time` = '".TIME."', `ok` = 1");
$info .= 'Файл '.$filename.' импортирован.<br />';
} else {
$info .= 'Файл '.$filename.' не закачен. Проверьте CHMOD.<br />';
}
} else {
$info .= 'Файл '.$filename.' уже существует.<br />';
}
echo $info.'<br />- <a href="?act=file_multiadd">Импортнуть еще</a>';
}
} else {
$_SESSION['note'] = 'Выбранный подраздел не существует.';
redirect('?act=file_multiadd');
}
} else {
$_SESSION['note'] = 'Не указан подраздел или файл (минимум один)';
}
} else {
echo '<div class="body">';
echo '<form name="form" action="?act=file_multi_import&ok=1" method="post">
Выбрать подраздел*:<br /><select name="subcat">';
$subcat_r = mysql_query("SELECT * FROM `loads_subcats` WHERE `id` != '$load[id_subcat]' ORDER BY `id_cat`, `name`");
while ($subcat = mysql_fetch_assoc($subcat_r)) {
$cat = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads_cats` WHERE `id` = '$subcat[id_cat]'"));
echo '<option value="'.$subcat['id'].'">'.$cat['name'].' > '.$subcat['name'].'</option>';
}
echo '</select><br/>';
echo ' Укажите адрес к файлу:<br />
<input name="url[]" type="text" /><br />
<input name="url[]" type="text" /><br />
<input name="url[]" type="text" /><br />
<input name="url[]" type="text" /><br />
<input name="url[]" type="text" /><br />
<input name="url[]" type="text" /><br />
<input name="url[]" type="text" /><br />
<input name="submit" type="submit" value="Импортировать" />
</form></div>';
}
break;
case 'file_multiadd':
tp('Добавить несколько файлов');
echo '<div class="body">';
if ($ok) {
if (!empty($_POST)) {
$subcat_id = abs(intval($_POST['subcat']));
$subcat = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads_subcats` WHERE `id` = '$subcat_id'"));
if (isset($subcat['id'])) {
for ($i = 0; $i < sizeof($_FILES['file']['name']); $i++) {
if (empty($_FILES['file']['name'][$i])) {
continue;
}
$filename = basename($_FILES['file']['name'][$i]);
$info = '';
if (!mysql_num_rows(mysql_query("SELECT `id` FROM `loads` WHERE `id_subcat` = '$subcat_id' and `file` = '$filename'"))){
$copy = copy($_FILES['file']['tmp_name'][$i], '../loads/files/'.$subcat['path'].'/'.$filename);
if ($copy == TRUE) {
mysql_query("INSERT INTO `loads` SET `id_cat` = '$subcat[id_cat]', `id_subcat` = '$subcat[id]', `id_user` = '$u[id]', `name` = '$filename', `file` = '$filename', `time` = '".TIME."', `ok` = 1");
$info .= 'Файл '.$filename.' загружен.<br />';
} else {
$info .= 'Файл '.$filename.' не закачен. Проверьте CHMOD.<br />';
}
} else {
$info .= 'Файл '.$filename.' уже существует.<br />';
}
echo $info.'<br />- <a href="?act=file_multiadd">Загрузить еще</a>';
}
} else {
$_SESSION['note'] = 'Выбранный подраздел не существует.';
redirect('?act=file_multiadd');
}
} else {
$_SESSION['note'] = 'Не указан подраздел или файл (минимум один)';
}
} else {
echo '<form name="form" action="?act=file_multiadd&ok=1" method="post" enctype="multipart/form-data">
Выбрать подраздел*:<br /><select name="subcat">';
$subcat_r = mysql_query("SELECT * FROM `loads_subcats` WHERE `id` != '$load[id_subcat]' ORDER BY `id_cat`, `name`");
while ($subcat = mysql_fetch_assoc($subcat_r)) {
$cat = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads_cats` WHERE `id` = '$subcat[id_cat]'"));
echo '<option value="'.$subcat['id'].'">'.$cat['name'].' > '.$subcat['name'].'</option>';
}
echo '</select><br />
Выбрать файл:<br />
<input name="file[]" type="file" style="width: 99%"><br />
<input name="file[]" type="file" style="width: 99%"><br />
<input name="file[]" type="file" style="width: 99%"><br />
<input name="file[]" type="file" style="width: 99%"><br />
<input name="file[]" type="file" style="width: 99%"><br />
<input name="file[]" type="file" style="width: 99%"><br />
<input name="file[]" type="file" style="width: 99%"><br />
<input name="submit" type="submit" value="Загрузить" />
</form></div>';
}
break;
}
require_once '../includes/tail.php';
?>