Файл: fo/admin.php
Строк: 264
<?php
require '../system/sid.php';
require '../system/config.php';
include '../system/user.php';
include '../system/head.php';
include '../system/navigator.php';
whorm(0, 'adminka');
if ($user['level'] != 4 && $user['level'] != 5) {
header('Location: index.php');
die();
}
$do = isset($_GET['do']) ? $_GET['do'] : NULL;
switch($do) {
default:
echo $div_title . 'Зона обмена' . $div_end;
$num_r = mysql_result(mysql_query("SELECT COUNT(id) FROM `fo_cat`"), 0);
$num_p = mysql_result(mysql_query("SELECT COUNT(id) FROM `fo_pod`"), 0);
$mod_files = mysql_result(mysql_query("SELECT COUNT(id) FROM `fo_files` WHERE `moder` = '1'"), 0);
echo '» <a href="admin.php?do=fo_razdel">Разделы</a> (' . $num_r . ')<br/>
» <a href="admin.php?do=fo_podrazdel">Подразделы</a> (' . $num_p . ')<br/>
» <a href="admin.php?do=fo_moder">Файлы на модерации</a> (' . $mod_files . ')<br/>
» <a href="admin.php?do=fo_sys">Система</a>';
break;
// разделы обменника
case fo_razdel:
echo $div_title . 'Разделы' . $div_end;
// создание раздела
if (isset($_POST['add']))
{
$nazv = trim(mysql_real_escape_string(check($_POST['nazv'])));
$empty = mysql_query("SELECT `id` FROM `fo_cat` WHERE `title` = '$nazv' LIMIT 1");
if (empty($nazv)) {
err('Не заполнено название раздела!');
} elseif (mysql_num_rows($empty) != FALSE) {
err('Раздел с таким названием уже создан!');
} else {
mysql_query("INSERT INTO `fo_cat` SET `title` = '$nazv'");
header('Location: admin.php?do=fo_razdel');
}
}
// удаление раздела
if (isset($_GET['del']))
{
$del = my_int($_GET['del']);
// проверка существовани раздела
$empty = mysql_query("SELECT * FROM `fo_cat` WHERE `id` = '$del' LIMIT 1");
if (mysql_num_rows($empty) != FALSE)
{
while($q = mysql_fetch_assoc($empty))
{
// выборка подразделов
$pd = mysql_fetch_assoc(mysql_query("SELECT `id` FROM `fo_pod` WHERE `cid` = '$q[id]'"));
// выборка файлов
$files = mysql_fetch_assoc(mysql_query("SELECT `id`, `url`, `author` FROM `fo_files` WHERE `rid` = '$del'"));
// удаление размера
$SizeF = filesize($files['url']);
mysql_query("UPDATE `users` SET `fo_size` = '" . (minus(user_inf($files['author'], 'fo_size') - $SizeF)) . "' WHERE id = '$files[author]'");
// удаление файлов с папки
if (file_exists($files['url'])) unlink($files['url']);
// удаление скринов с папки
if (file_exists($files['screen'])) unlink($files['screen']);
// удаление файлов с базы
mysql_query("DELETE FROM `fo_files` WHERE `rid` = '$del'");
// удаление рейтинга файла
mysql_query("DELETE FROM `rating_files` WHERE `uid` = '$files[id]'");
// удаление комментариев файла
mysql_query("DELETE FROM `fo_komm` WHERE `uid` = '$files[id]'");
// удаление подразделов
mysql_query("DELETE FROM `fo_pod` WHERE `cid` = '$q[id]'");
}
// удаление раздела
mysql_query("DELETE FROM `fo_cat` WHERE `id` = '$del' LIMIT 1");
header('Location: admin.php?do=fo_razdel');
} else {
err('Раздела не существует!');
}
}
// завершение редактирования
if (isset($_POST['edit_ok'])) {
$idr = my_int($_POST['idr']);
$sql_1 = mysql_query("SELECT `id` FROM `fo_cat` WHERE `id` = '$idr' LIMIT 1");
$nazv = trim(mysql_real_escape_string(check($_POST['nazv'])));
$sql_2 = mysql_query("SELECT `id` FROM `fo_cat` WHERE `title` = '$nazv' AND `id` != '$idr' LIMIT 1");
if (empty($nazv)) {
err('Не заполнено название раздела!');
} elseif (mysql_num_rows($sql_2) != FALSE) {
err('Раздел с таким названием уже создан!');
} elseif (mysql_num_rows($sql_1) == FALSE) {
err('Раздела не существует!');
} else {
mysql_query("UPDATE `fo_cat` SET `title` = '$nazv' WHERE `id` = '$idr' LIMIT 1");
header('Location: admin.php?do=fo_razdel');
}
}
// редактирование раздела
if (isset($_GET['e'])) {
$e = my_int($_GET['e']);
$empty = mysql_query("SELECT * FROM `fo_cat` WHERE `id` = '$e' LIMIT 1");
if (mysql_num_rows($empty) != FALSE) {
$i = mysql_fetch_assoc($empty);
echo '<form method="post" action="admin.php?do=fo_razdel">
<label>Изменить имя:</label><br/>
<input type="text" name="nazv" value="' . $i['title'] . '"/>
<br/>
<input type="hidden" name="idr" value="' . $e . '"/>
<input type="submit" name="edit_ok" value="Изменить"/>
</form>';
} else {
err('Раздела не существует!');
}
} else {
echo '<form method="post" action="admin.php?do=fo_razdel">
<label>Новый раздел:</label><br/>
<input type="text" name="nazv"/>
<br/>
<input type="submit" name="add" value="Создать"/>
</form>';
}
$look = mysql_result(mysql_query("SELECT COUNT(id) FROM `fo_cat`"), 0);
$n = new navigator($look, 10, '?do=fo_razdel&');
$view = mysql_query("SELECT `fo_cat`.*,(SELECT COUNT(id) FROM `fo_pod` WHERE `fo_pod`.`cid` = `fo_cat`.`id`) AS c FROM `fo_cat` ORDER BY `fo_cat`.`id` ASC {$n->limit}");
if ($look != FALSE) {
$i = 0;
while($a = mysql_fetch_assoc($view)) {
$del = ' <a href="ad-fo_razdel-'.$a['id'].'"><img src="../ico/delete.png" alt=""/></a> ';
$ed = '<a href="ae-fo_razdel-'.$a['id'].'"><img src="../ico/edit.png" alt=""/></a>';
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
echo $ed . $del . $a['title'] . ' (' . $a['c'] . ')' . $div_end;
}
echo $n->navi();
} else {
echo 'Разделы не созданы!<br/>';
}
break;
case change:
echo $div_title . 'Изменить архив' . $div_end;
$id = my_int($_REQUEST['id']);
$sql_1 = mysql_query("SELECT * FROM `fo_files` WHERE `id` = '$id' LIMIT 1");
if (mysql_num_rows($sql_1) == FALSE)
{
err('Файл не найден!');
include '../system/foot.php';
exit();
}
$insql = mysql_fetch_array($sql_1);
// завершение редактирования
if (isset($_POST['ok'])) {
$title = trim(mysql_real_escape_string(check($_POST['title'])));
$info = trim(mysql_real_escape_string(check($_POST['info'])));
$title = (!empty($title)) ? $title : $insql['title'];
mysql_query("UPDATE `fo_files` SET `title` = '$title', info = '$info' WHERE `id` = '$id' LIMIT 1");
header('Location: info-' . $id);
}
echo '<form method="post" action="admin.php?do=change">
<label>Название:</label><br/>
<input type="text" name="title" value="' . $insql['title'] . '"/>
<br/>
<label>Описание:</label><br/>
<textarea name="info" cols="50" rows="5" style="width: 99%;">' . back_bb($insql['info']) . '</textarea>
<br/>
<input type="hidden" name="id" value="'.$id.'"/>
<input type="submit" name="ok" value="Изменить"/>
</form>';
break;
// подразделы
case fo_podrazdel:
echo $div_title . 'Подразделы' . $div_end;
// создание подраздела
if (isset($_POST['add'])) {
$nazv = trim(mysql_real_escape_string(check($_POST['nazv'])));
$r = my_int($_POST['r']);
$empty = mysql_query("SELECT `id` FROM `fo_pod` WHERE `cid` = '$r' AND `title` = '$nazv' LIMIT 1");
if (empty($nazv)) {
err('Не заполнено название подраздела!');
} elseif (mysql_num_rows($empty) != FALSE) {
err('Подраздел с таким названием уже создан!');
} elseif (empty($r)) {
err('Не выбран раздел!');
} else {
$ins = "INSERT INTO `fo_pod` SET `cid` = '$r', `title` = '$nazv'";
if (mysql_query($ins)) {
header('Location: admin.php?do=fo_podrazdel');
} else {
echo mysql_error();
}
}
}
// удаление подраздела
if (isset($_GET['del'])) {
$del = my_int($_GET['del']);
$empty = mysql_query("SELECT `id` FROM `fo_pod` WHERE `id` = '$del' LIMIT 1");
if (mysql_num_rows($empty) != FALSE) {
while($i = mysql_fetch_assoc($empty)) {
$files = mysql_fetch_assoc(mysql_query("SELECT `id`, `url`, `author` FROM `fo_files` WHERE `rid` = '$i[id]'"));
// удаление размера
$SizeF = filesize($files['url']);
mysql_query("UPDATE `users` SET `fo_size` = '" . (minus(user_inf($files['author'], 'fo_size') - $SizeF)) . "' WHERE id = '$files[author]'");
if (file_exists($files['url'])) unlink($files['url']);
if (file_exists($files['screen'])) unlink($files['screen']);
mysql_query("DELETE FROM `fo_files` WHERE `id` = '$files[id]'");
// удаление рейтинга файла
mysql_query("DELETE FROM `rating_files` WHERE `uid` = '$files[id]'");
// удаление комментариев файла
mysql_query("DELETE FROM `fo_komm` WHERE `uid` = '$files[id]'");
}
// удаление подраздела
mysql_query("DELETE FROM `fo_pod` WHERE `id` = '$del' LIMIT 1");
header('Location: admin.php?do=fo_podrazdel');
} else {
err('Подраздела не существует!');
}
}
echo '<form method="post" action="admin.php?do=fo_podrazdel">
<label>Новый подраздел:</label><br/>
<input type="text" name="nazv"/>
<br/>
<label>В разделе:</label><br/>
<select name="r">';
$razdels = mysql_query("SELECT * FROM `fo_cat`");
while($sel = mysql_fetch_assoc($razdels)) {
echo '<option value="' . $sel['id'] . '">' . $sel['title'] . '</option>';
}
echo '</select>
<br/>
<input type="submit" name="add" value="Создать"/>
</form>';
$view = mysql_query("SELECT * FROM `fo_cat` ORDER BY `id` ASC");
if (mysql_num_rows($view) != FALSE) {
while($q = mysql_fetch_assoc($view)) {
echo $div_menu . $q['title'] . $div_end;
$in_view = mysql_query("SELECT `fo_pod`.*,(SELECT COUNT(id) FROM `fo_files` WHERE `fo_files`.`cat` = `fo_pod`.`id`) AS c FROM `fo_pod` WHERE `fo_pod`.`cid` = '$q[id]' ORDER BY `id` ASC");
$i = 0;
if (mysql_num_rows($in_view) != FALSE) {
while($a = mysql_fetch_assoc($in_view)) {
$del = ' <a href="ad-fo_podrazdel-'.$a['id'].'"><img src="../ico/delete.png" alt=""/></a> ';
$ed = '<a href="ae-edit-'.$a['id'].'"><img src="../ico/edit.png" alt=""/></a>';
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
echo $ed . $del . $a['title'] . ' (' . $a['c'] . ')' . $div_end;
}
} else {
echo '(Пусто)<br/>';
}
}
} else {
echo 'Подразделы не созданы!<br/>';
}
break;
// редактирования подраздела
case edit:
echo $div_title . 'Изменить' . $div_end;
$e = my_int($_GET['e']);
// завершение редактирования
if (isset($_POST['ok'])) {
$nazv = trim(mysql_real_escape_string(check($_POST['nazv'])));
$forms = trim(mysql_real_escape_string(check($_POST['forms'])));
$sql_1 = mysql_query("SELECT * FROM `fo_pod` WHERE `id` = '$e' LIMIT 1");
$insql = mysql_fetch_array($sql_1);
$sql_2 = mysql_query("SELECT `id` FROM `fo_pod` WHERE `cid` = '$insql[cid]' AND `id` != '$e' AND `title` = '$nazv' LIMIT 1");
if (mysql_num_rows($sql_2) != FALSE) {
err('Подраздел с таким названием уже создан!');
} elseif (empty($nazv)) {
err('Не заполнено название подраздела!');
} elseif (mysql_num_rows($sql_1) == FALSE) {
err('Подраздела не существует!');
} else {
mysql_query("UPDATE `fo_pod` SET `title` = '$nazv' WHERE `id` = '$e' LIMIT 1");
header('Location: admin.php?do=fo_podrazdel');
}
}
$empty = mysql_query("SELECT `title` FROM `fo_pod` WHERE `id` = '$e' LIMIT 1");
if (mysql_num_rows($empty) != FALSE) {
$i = mysql_fetch_assoc($empty);
echo '<form method="post" action="ae-edit-'.$e.'">
<label>Изменить имя:</label><br/>
<input type="text" name="nazv" value="' . $i['title'] . '"/>
<br/>
<input type="submit" name="ok" value="Изменить"/>
</form>';
} else {
err('Подраздела не существует.');
}
break;
// настройка З.О.
case fo_sys:
echo $div_title . 'Подразделы' . $div_end;
$set = mysql_fetch_array(mysql_query("SELECT `fo_moder`, `fo_limit`, `fo_size` FROM `setting` WHERE `ids` = '1'"));
if ($set[0] == 0) $_mod_1 = 'checked="checked"';
elseif ($set[0] == 1) $_mod_2 = 'checked="checked"';
if (isset($_GET['ok'])) msg('Настройки успешно сохранены!');
if (isset($_POST['save'])) {
$mod = my_int($_POST['mod']);
$limit = my_int($_POST['limit']);
$size = my_int($_POST['size']);
$limit = round($limit * 1048576);
$size = round($size * 1048576);
mysql_query("UPDATE `setting` SET `fo_moder` = '$mod', `fo_limit` = '$limit', `fo_size` = '$size' WHERE `ids` = '1'");
header('Location: admin.php?do=fo_sys&ok');
}
echo '<form method="post" action="admin.php?do=fo_sys">
' . $div_razdel . '
<label>Модерация файлов:</label>
' . $div_end . $div_tworazdel . '
<input type="radio" name="mod" ' . $_mod_2 . ' value="1"/> Включить
<br/>
<input type="radio" name="mod" ' . $_mod_1 . ' value="0"/> Выключить
' . $div_end . $div_razdel . '
<label>Лимит загрузки 1го файла:</label>
' . $div_end . $div_tworazdel . '
<input type="text" name="limit" size="2" maxlength="2" value="' . round(($set[1] / 1024) / 1024, 1) . '"/> Mb.
' . $div_end . $div_razdel . '
<label>Лимит загрузки для 1го чел:</label>
' . $div_end . $div_tworazdel . '
<input type="text" name="size" size="2" maxlength="2" value="' . round(($set[2] / 1024) / 1024, 1) . '"/> Mb.
' . $div_end . '
<input type="submit" name="save" value="Сохранить"/>
</form>';
break;
case fo_moder:
echo $div_title . 'Файлы на модерации' . $div_end;
if (isset($_GET['yes'])) {
$yes = my_int($_GET['yes']);
$sql = mysql_query("SELECT `id` FROM `fo_files` WHERE `id` = '$yes' AND `moder` = '1' LIMIT 1");
if (mysql_num_rows($sql) != FALSE) {
mysql_query("UPDATE `fo_files` SET `moder` = '0' WHERE `id` = '$yes' LIMIT 1");
header('Location: admin.php?do=fo_moder');
} else {
err('Такого файла нет на модерации!');
}
}
if (isset($_GET['no'])) {
$no = my_int($_GET['no']);
$sql = mysql_query("SELECT * FROM `fo_files` WHERE `id` = '$no' AND `moder` = '1' LIMIT 1");
if (mysql_num_rows($sql) != FALSE) {
$inf = mysql_fetch_assoc($sql);
if (file_exists($inf['url'])) unlink($inf['url']);
if (file_exists($inf['screen'])) unlink($inf['screen']);
// удаление размера
$SizeF = filesize($inf['url']);
mysql_query("UPDATE `users` SET `fo_size` = '" . (minus(user_inf($inf['author'], 'fo_size') - $SizeF)) . "' WHERE id = '$inf[author]' LIMIT 1");
mysql_query("DELETE FROM `fo_files` WHERE `id` = '$no' AND `moder` = '1' LIMIT 1");
header('Location: admin.php?do=fo_moder');
} else {
err('Такого файла нет на модерации!');
}
}
$look = mysql_result(mysql_query("SELECT COUNT(id) FROM `fo_files` WHERE `moder` = '1'"), 0);
$n = new navigator($look, 10, '?do=fo_moder&');
$view = mysql_query("SELECT * FROM `fo_files` WHERE `moder` = '1' ORDER BY `id` DESC {$n->limit}");
if ($look != FALSE) {
$i = 0;
while($a = mysql_fetch_assoc($view)) {
$ext = strtolower(strrchr($a['url'], '.'));
if ($ext == '.zip') $format = '<img src="img/zip.gif" alt="*"/> ';
elseif ($ext == '.rar') $format = '<img src="img/rar.gif" alt="*"/> ';
elseif ($ext == '.gz') $format = '<img src="img/gz.gif" alt="*"/> ';
elseif ($ext == '.tar') $format = '<img src="img/tar.gif" alt="*"/> ';
else $format = '<img src="img/unknown.gif" alt="*"/> ';
#######################
$yes = ' <a href="yes-fo_moder-'.$a['id'].'"><span class="next"><img src="../ico/ok.png" alt=""/>доб</a></span>';
$no = ' <a href="no-fo_moder-'.$a['id'].'"><span class="next"><img src="../ico/delete.png" alt=""/>уд</a></span>';
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
$s = filesize($a['url']);
$s = get_size($s);
echo $format . '<a href="'.$a['url'].'">' . $a['title'] . '</a>(' . $s . ') ' . cvetnik($a['author']) . '<br/>' . $yes . $no . $div_end;
}
echo $n->navi();
} else {
echo 'Файлов на модерации нет!<br/>';
}
break;
}
echo $block . '« <a href="../admin.php?">Админ-панель</a>';
include '../system/foot.php';
?>