Файл: panel-control/forum.php
Строк: 298
<?
include_once('../apahe/ini.php');
$inc['title'] = 'Управление форумом';
include_once('../apahe/top.php');
if (!isset($apache)){
header ('location: /input.dll');
exit;
}
if ($apache['level']>=2){
switch ($_GET['selest']){
default:
echo '<div class="main-text">';
echo '<a href="index.dll" title="Панель">Панель</a>';
echo '</div>';
echo '<a class="main-href" href="?selest=settings" title="Основные настройки">';
icons('forum');
echo 'Основные настройки</a>';
echo '<a class="main-href" href="?selest=forum" title="Список разделов">';
icons('forum');
echo 'Список разделов</a>';
echo '<a class="main-href" href="?selest=files" title="Список прикрепленных файлов">';
icons('forum');
echo 'Список прикрепленных файлов</a>';
break;
case 'settings':
echo '<div class="main-text">';
echo '<a href="index.dll" title="Панель">Панель</a> | ';
echo '<a href="forum.dll" title="Управление">Управление</a>';
echo '</div>';
$forum_s = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum-s` WHERE `id` = '1'"));
if (isset($_POST['settings-edit-ok'])){
$tf = txt($_POST['tf']);
$tm = txt($_POST['tm']);
$in = txt($_POST['in']);
$in_t = int($_POST['in-t']);
$time_u = txt($_POST['time-u']);
if (!empty($in) && ($in) > 9) $err .= 'Превышен лимит выводимых тем на главной.</br>';
if (empty($tm)) $err .= 'Не введёно количество выводимых тем/сооб.</br>';
if (!empty($tm) && ($tm) > 16) $err .= 'Превышен лимит выводимых тем/сооб.</br>';
if (empty($tf)) $err .= 'Не введёно количество выводимых разделов.</br>';
if (!empty($tf) && ($tf) > 16) $err .= 'Превышен лимит выводимых разделов.</br>';
if (!isset($err)){
mysql_query("UPDATE `forum-s` SET `tf` = '$tf', `tm` = '$tm', `in` = '$in', `in-t` = '$in_t', `time-u` = '$time_u' WHERE `id` = '1'");
header('Location: /panel-control/forum.dll');
}}
error($err);
echo '<div class="main-href"><form method="post" action="forum.dll?selest=settings">';
echo 'Разд/подр на страницу:</br><input type="text" name="tf" placeholder="Мах 15 пунктов" maxlength="2" value="'.$forum_s['tf'].'"/></br>';
echo 'Тем/сооб на страницу:</br><input type="text" name="tm" placeholder="Мах 15 пунктов" maxlength="2" value="'.$forum_s['tm'].'"/></br>';
echo 'Показывать темы на главной:</br>';
echo '<select size="1" name="in-t">';
echo '<option value="0">Показывать</option>';
echo '<option value="1">Не показывать</option>';
echo '</select><br/>';
echo 'Количество тем на главной:</br><input type="text" name="in" placeholder="Мах 8 тем" maxlength="2" value="'.$forum_s['in'].'"/></br>';
echo 'Время ограничения на тем:</br>';
echo '<select size="1" name="time-u">';
echo '<option value="0">Без ограничения</option>';
echo '<option value="1800">30 минут</option>';
echo '<option value="3600">1 час</option>';
echo '<option value="7200">2 часа</option>';
echo '<option value="14400">4 час</option>';
echo '</select><br/>';
echo '<input type="submit" name="settings-edit-ok" title="Изменить" value="Изменить">';
echo '</form></div>';
break;
case 'forum':
echo '<div class="main-text">';
echo '<a href="index.dll" title="Панель">Панель</a> | ';
echo '<a href="forum.dll" title="Управление">Управление</a> | ';
echo '<a href="?selest=new" title="Добавить раздел">Добавить раздел</a> ';
echo '</div>';
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum`"), 0);
nav_start($total, 10);
if ($total != 0){
$forum_c = mysql_query("SELECT * FROM `forum` ORDER BY `date` LIMIT $start, 10");
while ($forum = mysql_fetch_assoc($forum_c)){
echo '<div class="main-href">';
echo '<table width="100%" cellspacing="0" cellpadding="0">';
echo '<tr><td class="apa-l">';
icons('forum');
echo '<a href="?selest=view&id='.int($forum['id']).'" title="'.$forum['name'].'">'.$forum['name'].'</a>';
echo '</td>';
echo '<td class="apa-r">';
echo '<time><a href="forum.dll?selest=edit&id='.int($forum['id']).'" title="Редактировать">Ред</a></time> ';
echo '<time><a href="forum.dll?selest=delete&id='.int($forum['id']).'" title="Удалить">Удал</a></time>';
echo '</td></tr>';
echo '</table>';
echo '</div>';
}}else{
error('Разделы не добавлены.');
}
view_nav('/panel-control/forum.dll?selest=forum&');
break;
case 'new':
echo '<div class="main-text">';
echo '<a href="index.dll" title="Новости">Панель</a> | ';
echo '<a href="forum.dll" title="Управление">Управление</a> | ';
echo '<a href="?selest=forum" title="Разделы">Разделы</a>';
echo '</div>';
if (isset($_POST['forum-new-ok'])){
$name = txt($_POST['name']);
$message = txt($_POST['message']);
if (empty($name)) $err .= 'Не введёно имя.</br>';
if (empty($message)) $err .= 'Не введёно описание.</br>';
if (!empty($name) && (strlen($name) < 2 || strlen($name) > 128)) $err .= 'Неверная длина имени.</br>';
if (!empty($message) && (strlen($message) < 2 || strlen($message) > 256)) $err .= 'Неверная длина описания.</br>';
if (!isset($err)){
mysql_query("INSERT INTO `forum` SET `name` = '$name', `message` = '$message', `date` = '".time()."'");
header('Location: /panel-control/forum.dll?selest=forum');
}}
error($err);
echo '<div class="main-href"><form method="post" action="forum.dll?selest=new">';
echo 'Имя раздела:</br><input type="text" name="name" placeholder="Мах 128 символов" maxlength="128"/></br>';
echo 'Описание раздела:<br><textarea placeholder="Мах 256 символов" name="message" maxlength="256"></textarea></br>';
echo '<input type="submit" name="forum-new-ok" title="Добавить" value="Добавить">';
echo '</form></div>';
break;
case 'view':
$forum = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum` WHERE `id` = '".int($_GET['id'])."'"));
if (!$forum){
header ('location: /panel-control/forum.dll?selest=forum');
exit;
}
echo '<div class="main-text">';
echo '<a href="index.dll" title="Новости">Панель</a> | ';
echo '<a href="forum.dll" title="Управление">Управление</a> | ';
echo '<a href="?selest=forum" title="Разделы">Разделы</a> | ';
echo '<a href="?selest=new-r&id='.int($forum['id']).'" title="Добавить подраздел">Добавить подраздел</a> ';
echo '</div>';
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum-r` WHERE `id-forum` = '".int($forum['id'])."'"), 0);
nav_start($total, 10);
if ($total!=0){
$forum_r_c = mysql_query("SELECT * FROM `forum-r` WHERE `id-forum` = '".int($forum['id'])."' ORDER BY `date` LIMIT $start, 10");
while ($forum_r = mysql_fetch_assoc($forum_r_c)){
echo '<div class="main-href">';
echo '<table width="100%" cellspacing="0" cellpadding="0">';
echo '<tr><td class="apa-l">';
echo '<name>'.$forum_r['name'].'</name>';
echo '</td>';
echo '<td class="apa-r">';
echo '<time><a href="?selest=edit-r&id='.int($forum_r['id']).'" title="Редактировать">Ред</a></time> ';
echo '<time><a href="?selest=delete-r&id='.int($forum_r['id']).'" title="Удалить">Удал</a></time>';
echo '</td></tr>';
echo '</table>';
echo '</div>';
}}else{
error('Подразделы еще не добавлены.');
}
view_nav('/panel-control/forum.dll?selest=view&id='.int($forum['id']).'');
break;
case 'new-r':
$forum = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum` WHERE `id` = '".int($_GET['id'])."'"));
if (!$forum){
header ('location: /panel-control/forum.dll?selest=forum');
exit;
}
if (isset($_POST['forum-r-new-ok'])){
$name = txt($_POST['name']);
if (empty($name)) $err .= 'Не введёно имя.</br>';
if (!empty($name) && (strlen($name) < 2 || strlen($name) > 128)) $err .= 'Неверная длина имени.</br>';
if (!isset($err)){
mysql_query("INSERT INTO `forum-r` SET `id-forum` = '".int($forum['id'])."', `name` = '$name', `date` = '".time()."'");
header('Location: /panel-control/forum.dll?selest=view&id='.int($forum['id']).'');
}}
error($err);
echo '<div class="main-text">';
echo '<a href="index.dll" title="Новости">Панель</a> | ';
echo '<a href="forum.dll" title="Управление">Управление</a> | ';
echo '<a href="?selest=forum" title="Разделы">Разделы</a> | ';
echo '<a href="?selest=view&id='.int($forum['id']).'" title="'.$forum['name'].'">'.$forum['name'].'</a>';
echo '</div>';
echo '<div class="main-href"><form method="post" action="?selest=new-r&id='.int($forum['id']).'">';
echo 'Название подраздела:</br>';
echo '<input type="text" name="name" placeholder="Мах 128 символов" maxlength="128"/></br>';
echo '<input type="submit" name="forum-r-new-ok" title="Добавить" value="Добавить">';
echo '</form></div>';
break;
case 'edit':
$forum = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum` WHERE `id` = '".int($_GET['id'])."'"));
if (!$forum){
header ('location: /panel-control/forum.dll?selest=forum');
exit;
}
if (isset($_POST['forum-edit-ok'])){
$name = txt($_POST['name']);
$message = txt($_POST['message']);
if (empty($name)) $err .= 'Не введёно имя.</br>';
if (empty($message)) $err .= 'Не введёно описание.</br>';
if (!empty($name) && (strlen($name) < 2 || strlen($name) > 128)) $err .= 'Неверная длина имени.</br>';
if (!empty($message) && (strlen($message) < 2 || strlen($message) > 1024)) $err .= 'Неверная длина описания.</br>';
if (!isset($err)){
mysql_query("UPDATE `forum` SET `name` = '$name', `message` = '$message' WHERE `id` = '".int($forum['id'])."'");
header('Location: /panel-control/forum.dll?selest=forum');
}}
error($err);
echo '<div class="main-text">';
echo '<a href="index.dll" title="Новости">Панель</a> | ';
echo '<a href="forum.dll" title="Управление">Управление</a> | ';
echo '<a href="?selest=forum" title="Разделы">Разделы</a>';
echo '</div>';
echo '<div class="main-href"><form method="post" action="?selest=edit&id='.int($forum['id']).'">';
echo 'Имя раздела:</br><input type="text" name="name" placeholder="Мах 128 символов" maxlength="128" value="'.$forum['name'].'"/></br>';
echo 'Описание раздела:<br><textarea placeholder="Мах 1024 символов" name="message" maxlength="1024">'.$forum['message'].'</textarea></br>';
echo '<input type="submit" name="forum-edit-ok" title="Изменить" value="Изменить">';
echo '</form></div>';
break;
case 'delete':
$forum = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum` WHERE `id` = '".int($_GET['id'])."'"));
if (!$forum){
header ('location: /panel-control/forum.dll?selest=forum');
exit;
}
$forum_f_c = mysql_query("SELECT * FROM `forum-f` WHERE `id-forum` = '".int($forum['id'])."' ORDER BY `date` LIMIT 3");
while ($forum_f = mysql_fetch_assoc($forum_f_c)){
unlink('../forum/file/f'.int($forum_f['id']).'_'.$forum_f['file']);
}
mysql_query("DELETE FROM `forum` WHERE `id` = '".int($forum['id'])."'");
mysql_query("DELETE FROM `forum-r` WHERE `id-forum` = '".int($forum['id'])."'");
mysql_query("DELETE FROM `forum-u` WHERE `id-forum` = '".int($forum['id'])."'");
mysql_query("DELETE FROM `forum-m` WHERE `id-forum` = '".int($forum['id'])."'");
mysql_query("DELETE FROM `forum-f` WHERE `id-forum` = '".int($forum['id'])."'");
header('Location: /panel-control/forum.dll?selest=forum');
break;
case 'edit-r':
$forum_r = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum-r` WHERE `id` = '".int($_GET['id'])."'"));
if (!$forum_r){
header ('location: /panel-control/forum.dll');
exit;
}
$forum = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum` WHERE `id` = '".int($forum_r['id-forum'])."'"));
if (isset($_POST['forum-r-edit-ok'])){
$name = txt($_POST['name']);
if (empty($name)) $err .= 'Не введёно имя.</br>';
if (!empty($name) && (strlen($name) < 2 || strlen($name) > 128)) $err .= 'Неверная длина имени.</br>';
if (!isset($err)){
mysql_query("UPDATE `forum-r` SET `name` = '$name' WHERE `id` = '".int($forum_r['id'])."'");
header('Location: /panel-control/forum.dll?selest=view&id='.int($forum['id']).'');
}}
error($err);
echo '<div class="main-text">';
echo '<a href="index.dll" title="Новости">Панель</a> | ';
echo '<a href="forum.dll" title="Управление">Управление</a> | ';
echo '<a href="?selest=forum" title="Разделы">Разделы</a> | ';
echo '<a href="?selest=view&id='.int($forum['id']).'" title="Раздел '.$forum['name'].'">'.$forum['name'].'</a>';
echo '</div>';
echo '<div class="main-href"><form method="post" action="?selest=edit-r&id='.int($forum_r['id']).'">';
echo 'Название:</br><input type="text" name="name" placeholder="Мах 128 символов" maxlength="128" value="'.$forum_r['name'].'"/></br>';
echo '<input type="submit" name="forum-r-edit-ok" title="Изменить" value="Изменить">';
echo '</form></div>';
break;
case 'delete-r':
$forum_r = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum-r` WHERE `id` = '".int($_GET['id'])."'"));
if (!$forum_r){
header ('location: /panel-control/forum.dll?selest=forum');
exit;
}
$forum_f_c = mysql_query("SELECT * FROM `forum-f` WHERE `id-forum-r` = '".int($forum_r['id'])."' ORDER BY `date` LIMIT 3");
while ($forum_f = mysql_fetch_assoc($forum_f_c)){
unlink('../forum/file/f'.int($forum_f['id']).'_'.$forum_f['file']);
}
mysql_query("DELETE FROM `forum-r` WHERE `id` = '".int($forum_r['id'])."'");
mysql_query("DELETE FROM `forum-u` WHERE `id-forum-r` = '".int($forum_r['id'])."'");
mysql_query("DELETE FROM `forum-m` WHERE `id-forum-r` = '".int($forum_r['id'])."'");
mysql_query("DELETE FROM `forum-f` WHERE `id-forum-r` = '".int($forum_r['id'])."'");
header('Location: /panel-control/forum.dll?selest=view&id='.int($forum_r['id-forum']).'');
break;
case 'files':
$tot_files = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum-f`"), 0);
echo '<div class="main-text">';
echo '<a href="index.dll" title="Панель">Панель</a> | ';
echo '<a href="forum.dll" title="Управление">Управление</a>';
if ($tot_files!=0)echo ' | <a href="?selest=delete-files" title="Удалить все">Удалить все</a> ';
echo '</div>';
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum-f`"), 0);
nav_start($total, 10);
if ($total!=0){
$forum_c = mysql_query("SELECT * FROM `forum-f` ORDER BY `date` LIMIT $start, 10");
while ($forum = mysql_fetch_assoc($forum_c)){
echo '<div class="main-href">';
echo '<table width="100%" cellspacing="0" cellpadding="0">';
echo '<tr><td class="apa-l">';
echo '<a href="topic-file-'.int($forum_f['id']).'.dll?selest=loading" title="Скачать '.$forum_f['file'].'">';
icons('file');
echo ''.$forum_f['file'].'</a>';
if ($apache['level']>=1)echo ' <a href="topic-file-'.int($forum_f['id']).'.dll?selest=delete" title="Удалить файл">[Удал]</a></br>';
echo 'Размер: '.size(filesize('file/f'.int($forum_f['id']).'_'.$forum_f['file'])).'';
echo 'Скачано: '.$forum_f['count'].' раз(а)</br>';
echo '</td>';
echo '<td class="apa-r">';
echo '<time><a href="?selest=delete-f&id='.int($forum_f['id']).'" title="Удалить">Удал</a></time>';
echo '</td></tr>';
echo '</table>';
echo '</div>';
}}else{
error('В форуме прикрепленных файлов нету.');
}
view_nav('/panel-control/forum.dll?selest=files&');
break;
}
}else{
header('Location: /index.dll');
}
include_once('../apahe/bottom.php');
?>