0, 'upfp' => 0, 'farea_w' => 20, 'farea_h' => 4, 'postclip' => 1, 'postcut' => 2 ); switch ($mod) { case 'lastThemes': /* ----------------------------------------------------------------- Последние темы форума ----------------------------------------------------------------- */ echo '
Настройки форума | Последние темы форума
'; if (!isset($set['lastThemes']) || isset($_GET['reset'])) { $settings = array ( 'timeCache' => '30', 'totalThemes' => '3' ); @mysql_query("DELETE FROM `cms_settings` WHERE `key` = 'lastThemes'"); mysql_query("INSERT INTO `cms_settings` SET `key` = 'lastThemes', `val` = '" . mysql_real_escape_string(serialize($settings)) . "' "); echo '

Установлены настройки по умолчанию

'; } elseif (isset($_POST['submit'])) { $settings['timeCache'] = isset($_POST['timeCache']) && $_POST['timeCache'] >= 0 && $_POST['timeCache'] < 301 ? intval($_POST['timeCache']) : 30; $settings['totalThemes'] = isset($_POST['totalThemes']) && $_POST['totalThemes'] >= 0 && $_POST['totalThemes'] < 11 ? intval($_POST['totalThemes']) : 3; mysql_query("UPDATE `cms_settings` SET `val` = '" . mysql_real_escape_string(serialize($settings)) . "' WHERE `key` = 'lastThemes' "); echo '

Настройки сохранены

'; } else { $settings = unserialize($set['lastThemes']); } echo '
' . '
Сброс настроек' . '
'; break; case 'del': /* ----------------------------------------------------------------- Удаление категории, или раздела ----------------------------------------------------------------- */ if (!$id) { echo functions::display_error($lng['error_wrong_data'], '' . $lng_forum['forum_management'] . ''); require('../incfiles/end.php'); exit; } $req = mysql_query("SELECT * FROM `forum` WHERE `id` = '$id' AND (`type` = 'f' OR `type` = 'r')"); if (mysql_num_rows($req)) { $res = mysql_fetch_assoc($req); echo '
' . ($res['type'] == 'r' ? $lng_forum['delete_section'] : $lng_forum['delete_catrgory']) . ': ' . $res['text'] . '
'; // Проверяем, есть ли подчиненная информация $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `refid` = '$id' AND (`type` = 'f' OR `type` = 'r' OR `type` = 't')"), 0); if ($total) { if ($res['type'] == 'f') { //////////////////////////////////////////////////////////// // Удаление категории с подчиненными данными // //////////////////////////////////////////////////////////// if (isset($_POST['submit'])) { $category = isset($_POST['category']) ? intval($_POST['category']) : 0; if (!$category || $category == $id) { echo functions::display_error($lng['error_wrong_data']); require('../incfiles/end.php'); exit; } $check = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `id` = '$category' AND `type` = 'f'"), 0); if (!$check) { echo functions::display_error($lng['error_wrong_data']); require('../incfiles/end.php'); exit; } // Вычисляем правила сортировки и перемещаем разделы $sort = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum` WHERE `refid` = '$category' AND `type` ='r' ORDER BY `realid` DESC")); $sortnum = !empty($sort['realid']) && $sort['realid'] > 0 ? $sort['realid'] + 1 : 1; $req_c = mysql_query("SELECT * FROM `forum` WHERE `refid` = '$id' AND `type` = 'r'"); while ($res_c = mysql_fetch_assoc($req_c)) { mysql_query("UPDATE `forum` SET `refid` = '" . $category . "', `realid` = '$sortnum' WHERE `id` = '" . $res_c['id'] . "'"); ++$sortnum; } // Перемещаем файлы в выбранную категорию mysql_query("UPDATE `cms_forum_files` SET `cat` = '" . $category . "' WHERE `cat` = '" . $res['refid'] . "'"); mysql_query("DELETE FROM `forum` WHERE `id` = '$id'"); echo '

' . $lng_forum['category_deleted'] . '

' . $lng_forum['contents_moved_to'] . ' ' . $lng_forum['selected_category'] . '

'; } else { echo '
' . '

' . $lng['contents_move_warning'] . '

' . '

' . $lng_forum['select_category'] . '


' . $lng_forum['contents_move_description'] . '

' . '

'; if ($rights == 9) { // Для супервайзоров запрос на полное удаление echo '

' . $lng_forum['delete_full'] . '

' . $lng_forum['delete_full_note'] . ' ' . $lng_forum['child_section'] . '

' . '
'; } echo '
'; } } else { //////////////////////////////////////////////////////////// // Удаление раздела с подчиненными данными // //////////////////////////////////////////////////////////// if (isset($_POST['submit'])) { // Предварительные проверки $subcat = isset($_POST['subcat']) ? intval($_POST['subcat']) : 0; if (!$subcat || $subcat == $id) { echo functions::display_error($lng['error_wrong_data'], '' . $lng_forum['forum_management'] . ''); require('../incfiles/end.php'); exit; } $check = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `id` = '$subcat' AND `type` = 'r'"), 0); if (!$check) { echo functions::display_error($lng['error_wrong_data'], '' . $lng_forum['forum_management'] . ''); require('../incfiles/end.php'); exit; } mysql_query("UPDATE `forum` SET `refid` = '$subcat' WHERE `refid` = '$id'"); mysql_query("UPDATE `cms_forum_files` SET `subcat` = '$subcat' WHERE `subcat` = '$id'"); mysql_query("DELETE FROM `forum` WHERE `id` = '$id'"); echo '

' . $lng_forum['section_deleted'] . '

' . $lng_forum['themes_moved_to'] . ' ' . $lng_forum['selected_section'] . '.' . '

'; } elseif (isset($_POST['delete'])) { if ($rights != 9) { echo functions::display_error($lng['access_forbidden']); require_once('../incfiles/end.php'); exit; } // Удаляем файлы $req_f = mysql_query("SELECT * FROM `cms_forum_files` WHERE `subcat` = '$id'"); while ($res_f = mysql_fetch_assoc($req_f)) { unlink('../files/forum/attach/' . $res_f['filename']); } mysql_query("DELETE FROM `cms_forum_files` WHERE `subcat` = '$id'"); // Удаляем посты, голосования и метки прочтений $req_t = mysql_query("SELECT `id` FROM `forum` WHERE `refid` = '$id' AND `type` = 't'"); while ($res_t = mysql_fetch_assoc($req_t)) { mysql_query("DELETE FROM `forum` WHERE `refid` = '" . $res_t['id'] . "'"); mysql_query("DELETE FROM `cms_forum_vote` WHERE `topic` = '" . $res_t['id'] . "'"); mysql_query("DELETE FROM `cms_forum_vote_users` WHERE `topic` = '" . $res_t['id'] . "'"); mysql_query("DELETE FROM `cms_forum_rdm` WHERE `topic_id` = '" . $res_t['id'] . "'"); } // Удаляем темы mysql_query("DELETE FROM `forum` WHERE `refid` = '$id'"); // Удаляем раздел mysql_query("DELETE FROM `forum` WHERE `id` = '$id'"); // Оптимизируем таблицы mysql_query("OPTIMIZE TABLE `cms_forum_files` , `cms_forum_rdm` , `forum` , `cms_forum_vote` , `cms_forum_vote_users`"); echo '

' . $lng_forum['section_themes_deleted'] . '
' . '' . $lng_forum['to_category'] . '

'; } else { echo '
' . '

' . $lng_forum['section_move_warning'] . '

' . '

' . $lng_forum['select_section'] . '

'; $cat = isset($_GET['cat']) ? abs(intval($_GET['cat'])) : 0; $ref = $cat ? $cat : $res['refid']; $req_r = mysql_query("SELECT * FROM `forum` WHERE `refid` = '$ref' AND `id` != '$id' AND `type` = 'r' ORDER BY `realid` ASC"); while ($res_r = mysql_fetch_assoc($req_r)) { echo ' ' . $res_r['text'] . '
'; } echo '

' . $lng_forum['another_category'] . '

' . $lng_forum['section_move_description'] . '

' . '

'; if ($rights == 9) { // Для супервайзоров запрос на полное удаление echo '

' . $lng_forum['delete_full'] . '

' . $lng_forum['delete_full_warning']; echo '

'; } echo '
'; } } } else { //////////////////////////////////////////////////////////// // Удаление пустого раздела, или категории // //////////////////////////////////////////////////////////// if (isset($_POST['submit'])) { mysql_query("DELETE FROM `forum` WHERE `id` = '$id'"); echo '

' . ($res['type'] == 'r' ? $lng_forum['section_deleted'] : $lng_forum['category_deleted']) . '

'; } else { echo '

' . $lng['delete_confirmation'] . '

' . '

' . '' . '

'; } } echo '
' . $lng['back'] . '
'; } else { header('Location: index.php?act=forum&mod=cat'); } break; case 'add': /* ----------------------------------------------------------------- Добавление категории ----------------------------------------------------------------- */ if ($id) { // Проверяем наличие категории $req = mysql_query("SELECT `text` FROM `forum` WHERE `id` = '$id' AND `type` = 'f'"); if (mysql_num_rows($req)) { $res = mysql_fetch_array($req); $cat_name = $res['text']; } else { echo functions::display_error($lng['error_wrong_data'], '' . $lng_forum['forum_management'] . ''); require('../incfiles/end.php'); exit; } } if (isset($_POST['submit'])) { // Принимаем данные $name = isset($_POST['name']) ? functions::check($_POST['name']) : ''; $desc = isset($_POST['desc']) ? functions::check($_POST['desc']) : ''; // Проверяем на ошибки $error = array(); if (!$name) $error[] = $lng['error_empty_title']; if ($name && (mb_strlen($name) < 2 || mb_strlen($name) > 30)) $error[] = $lng['title'] . ': ' . $lng['error_wrong_lenght']; if ($desc && mb_strlen($desc) < 2) $error[] = $lng['error_description_lenght']; if (!$error) { // Добавляем в базу категорию $req = mysql_query("SELECT `realid` FROM `forum` WHERE " . ($id ? "`refid` = '$id' AND `type` = 'r'" : "`type` = 'f'") . " ORDER BY `realid` DESC LIMIT 1"); if (mysql_num_rows($req)) { $res = mysql_fetch_assoc($req); $sort = $res['realid'] + 1; } else { $sort = 1; } mysql_query("INSERT INTO `forum` SET `refid` = '" . ($id ? $id : '') . "', `type` = '" . ($id ? 'r' : 'f') . "', `text` = '$name', `soft` = '$desc', `realid` = '$sort'"); header('Location: index.php?act=forum&mod=cat' . ($id ? '&id=' . $id : '')); } else { // Выводим сообщение об ошибках echo functions::display_error($error); } } else { // Форма ввода echo '
' . ($id ? $lng_forum['add_section'] : $lng_forum['add_category']) . '
'; if ($id) echo '
' . $lng_forum['to_category'] . ': ' . $cat_name . '
'; echo '
' . '
' . '

' . $lng['title'] . '

' . '' . '
' . $lng['minmax_2_30'] . '

' . '

' . $lng['description'] . '

' . '' . '
' . $lng['not_mandatory_field'] . '
' . $lng['minmax_2_500'] . '

' . '

' . '

' . '
' . $lng['back'] . '
'; } break; case 'edit': /* ----------------------------------------------------------------- Редактирование выбранной категории, или раздела ----------------------------------------------------------------- */ if (!$id) { echo functions::display_error($lng['error_wrong_data'], '' . $lng_forum['forum_management'] . ''); require('../incfiles/end.php'); exit; } $req = mysql_query("SELECT * FROM `forum` WHERE `id` = '$id'"); if (mysql_num_rows($req)) { $res = mysql_fetch_assoc($req); if ($res['type'] == 'f' || $res['type'] == 'r') { if (isset($_POST['submit'])) { // Принимаем данные $name = isset($_POST['name']) ? functions::check($_POST['name']) : ''; $desc = isset($_POST['desc']) ? functions::check($_POST['desc']) : ''; $category = isset($_POST['category']) ? intval($_POST['category']) : 0; // проверяем на ошибки $error = array(); if ($res['type'] == 'r' && !$category) $error[] = $lng_forum['error_category_select']; elseif ($res['type'] == 'r' && !mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `id` = '$category' AND `type` = 'f'"), 0)) $error[] = $lng_forum['error_category_select']; if (!$name) $error[] = $lng['error_empty_title']; if ($name && (mb_strlen($name) < 2 || mb_strlen($name) > 30)) $error[] = $lng['title'] . ': ' . $lng['error_wrong_lenght']; if ($desc && mb_strlen($desc) < 2) $error[] = $lng['error_description_lenght']; if (!$error) { // Записываем в базу mysql_query("UPDATE `forum` SET `text` = '$name', `soft` = '$desc' WHERE `id` = '$id'"); if ($res['type'] == 'r' && $category != $res['refid']) { // Вычисляем сортировку $req_s = mysql_query("SELECT `realid` FROM `forum` WHERE `refid` = '$category' AND `type` = 'r' ORDER BY `realid` DESC LIMIT 1"); $res_s = mysql_fetch_assoc($req_s); $sort = $res_s['realid'] + 1; // Меняем категорию mysql_query("UPDATE `forum` SET `refid` = '$category', `realid` = '$sort' WHERE `id` = '$id'"); // Меняем категорию для прикрепленных файлов mysql_query("UPDATE `cms_forum_files` SET `cat` = '$category' WHERE `cat` = '" . $res['refid'] . "'"); } header('Location: index.php?act=forum&mod=cat' . ($res['type'] == 'r' ? '&id=' . $res['refid'] : '')); } else { // Выводим сообщение об ошибках echo functions::display_error($error); } } else { // Форма ввода echo '
' . ($res['type'] == 'r' ? $lng_forum['section_edit'] : $lng_forum['category_edit']) . '
' . '
' . '
' . '

' . $lng['title'] . '

' . '' . '
' . $lng['minmax_2_30'] . '

' . '

' . $lng['description'] . '

' . '' . '
' . $lng['not_mandatory_field'] . '
' . $lng['minmax_2_500'] . '

'; if ($res['type'] == 'r') { echo '

' . $lng_forum['category'] . '

'; } echo '

' . '

' . '
' . $lng['back'] . '
'; } } else { header('Location: index.php?act=forum&mod=cat'); } } else { header('Location: index.php?act=forum&mod=cat'); } break; case 'up': /* ----------------------------------------------------------------- Перемещение на одну позицию вверх ----------------------------------------------------------------- */ if ($id) { $req = mysql_query("SELECT * FROM `forum` WHERE `id` = '$id'"); if (mysql_num_rows($req)) { $res1 = mysql_fetch_assoc($req); $sort = $res1['realid']; $req = mysql_query("SELECT * FROM `forum` WHERE `type` = '" . ($res1['type'] == 'f' ? 'f' : 'r') . "' AND `realid` < '$sort' ORDER BY `realid` DESC LIMIT 1"); if (mysql_num_rows($req)) { $res = mysql_fetch_assoc($req); $id2 = $res['id']; $sort2 = $res['realid']; mysql_query("UPDATE `forum` SET `realid` = '$sort2' WHERE `id` = '$id'"); mysql_query("UPDATE `forum` SET `realid` = '$sort' WHERE `id` = '$id2'"); } } } header('Location: index.php?act=forum&mod=cat' . ($res1['type'] == 'r' ? '&id=' . $res1['refid'] : '')); break; case 'down': /* ----------------------------------------------------------------- Перемещение на одну позицию вниз ----------------------------------------------------------------- */ if ($id) { $req = mysql_query("SELECT * FROM `forum` WHERE `id` = '$id'"); if (mysql_num_rows($req)) { $res1 = mysql_fetch_assoc($req); $sort = $res1['realid']; $req = mysql_query("SELECT * FROM `forum` WHERE `type` = '" . ($res1['type'] == 'f' ? 'f' : 'r') . "' AND `realid` > '$sort' ORDER BY `realid` ASC LIMIT 1"); if (mysql_num_rows($req)) { $res = mysql_fetch_assoc($req); $id2 = $res['id']; $sort2 = $res['realid']; mysql_query("UPDATE `forum` SET `realid` = '$sort2' WHERE `id` = '$id'"); mysql_query("UPDATE `forum` SET `realid` = '$sort' WHERE `id` = '$id2'"); } } } header('Location: index.php?act=forum&mod=cat' . ($res1['type'] == 'r' ? '&id=' . $res1['refid'] : '')); break; case 'cat': /* ----------------------------------------------------------------- Управление категориями и разделами ----------------------------------------------------------------- */ echo '
' . $lng_forum['forum_management'] . ' | ' . $lng_forum['forum_structure'] . '
'; if ($id) { // Управление разделами $req = mysql_query("SELECT `text` FROM `forum` WHERE `id` = '$id' AND `type` = 'f'"); $res = mysql_fetch_assoc($req); echo '
' . $res['text'] . ' | ' . $lng_forum['section_list'] . '
'; $req = mysql_query("SELECT * FROM `forum` WHERE `refid` = '$id' AND `type` = 'r' ORDER BY `realid` ASC"); if (mysql_num_rows($req)) { while ($res = mysql_fetch_assoc($req)) { echo $i % 2 ? '
' : '
'; echo '' . $res['text'] . '' . ' >>'; if (!empty($res['soft'])) echo '
' . $res['soft'] . '
'; echo '
'; ++$i; } } else { echo ''; } } else { // Управление категориями echo '
' . $lng_forum['category_list'] . '
'; $req = mysql_query("SELECT * FROM `forum` WHERE `type` = 'f' ORDER BY `realid` ASC"); $i = 0; while ($res = mysql_fetch_assoc($req)) { echo $i % 2 ? '
' : '
'; echo '' . $res['text'] . ' ' . '(' . mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 'r' AND `refid` = '" . $res['id'] . "'"), 0) . ')' . ' >>'; if (!empty($res['soft'])) echo '
' . $res['soft'] . '
'; echo '
'; ++$i; } } echo '
' . '
' . '' . '
' . ''; break; case 'htopics': /* ----------------------------------------------------------------- Управление скрытыми темами форума ----------------------------------------------------------------- */ echo '
' . $lng_forum['forum_management'] . ' | ' . $lng_forum['hidden_topics'] . '
'; $sort = ''; $link = ''; if (isset($_GET['usort'])) { $sort = " AND `forum`.`user_id` = '" . abs(intval($_GET['usort'])) . "'"; $link = '&usort=' . abs(intval($_GET['usort'])); echo '
' . $lng_forum['filter_on_author'] . ' [x]
'; } if (isset($_GET['rsort'])) { $sort = " AND `forum`.`refid` = '" . abs(intval($_GET['rsort'])) . "'"; $link = '&rsort=' . abs(intval($_GET['rsort'])); echo '
' . $lng_forum['filter_on_section'] . ' [x]
'; } if (isset($_POST['deltopic'])) { if ($rights != 9) { echo functions::display_error($lng['access_forbidden']); require('../incfiles/end.php'); exit; } $req = mysql_query("SELECT `id` FROM `forum` WHERE `type` = 't' AND `close` = '1' $sort"); while ($res = mysql_fetch_assoc($req)) { $req_f = mysql_query("SELECT * FROM `cms_forum_files` WHERE `topic` = '" . $res['id'] . "'"); if (mysql_num_rows($req_f)) { // Удаляем файлы while ($res_f = mysql_fetch_assoc($req_f)) { unlink('../files/forum/attach/' . $res_f['filename']); } mysql_query("DELETE FROM `cms_forum_files` WHERE `topic` = '" . $res['id'] . "'"); } // Удаляем посты mysql_query("DELETE FROM `forum` WHERE `type` = 'm' AND `refid` = '" . $res['id'] . "'"); } // Удаляем темы $req = mysql_query("DELETE FROM `forum` WHERE `type` = 't' AND `close` = '1' $sort"); header('Location: index.php?act=forum&mod=htopics'); } else { $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 't' AND `close` = '1' $sort"), 0); if ($total > $kmess) echo '
' . functions::display_pagination('index.php?act=forum&mod=htopics&', $start, $total, $kmess) . '
'; $req = mysql_query("SELECT `forum`.*, `forum`.`id` AS `fid`, `forum`.`user_id` AS `id`, `forum`.`from` AS `name`, `forum`.`soft` AS `browser`, `users`.`rights`, `users`.`lastdate`, `users`.`sex`, `users`.`status`, `users`.`datereg` FROM `forum` LEFT JOIN `users` ON `forum`.`user_id` = `users`.`id` WHERE `forum`.`type` = 't' AND `forum`.`close` = '1' $sort ORDER BY `forum`.`id` DESC LIMIT $start, $kmess"); if (mysql_num_rows($req)) { $i = 0; while ($res = mysql_fetch_assoc($req)) { $subcat = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum` WHERE `id` = '" . $res['refid'] . "'")); $cat = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum` WHERE `id` = '" . $subcat['refid'] . "'")); $ttime = '(' . functions::display_date($res['time']) . ')'; $text = '' . $res['text'] . ''; $text .= '
' . $cat['text'] . ' / ' . $subcat['text'] . ''; $subtext = '' . $lng_forum['filter_to'] . ': '; $subtext .= '' . $lng_forum['by_section'] . ' | '; $subtext .= '' . $lng_forum['by_author'] . ''; echo $i % 2 ? '
' : '
'; echo functions::display_user($res, array( 'header' => $ttime, 'body' => $text, 'sub' => $subtext )); echo '
'; ++$i; } if ($rights == 9) echo '
' . '
' . '' . '
'; } else { echo ''; } echo '
' . $lng['total'] . ': ' . $total . '
'; if ($total > $kmess) { echo '
' . functions::display_pagination('index.php?act=forum&mod=htopics&', $start, $total, $kmess) . '
' . '

' . '' . '' . '

'; } } break; case 'hposts': /* ----------------------------------------------------------------- Управление скрытыми постави форума ----------------------------------------------------------------- */ echo '
' . $lng_forum['forum_management'] . ' | ' . $lng_forum['hidden_posts'] . '
'; $sort = ''; $link = ''; if (isset($_GET['tsort'])) { $sort = " AND `forum`.`refid` = '" . abs(intval($_GET['tsort'])) . "'"; $link = '&tsort=' . abs(intval($_GET['tsort'])); echo '
' . $lng_forum['filter_on_theme'] . ' [x]
'; } elseif (isset($_GET['usort'])) { $sort = " AND `forum`.`user_id` = '" . abs(intval($_GET['usort'])) . "'"; $link = '&usort=' . abs(intval($_GET['usort'])); echo '
' . $lng_forum['filter_on_author'] . ' [x]
'; } if (isset($_POST['delpost'])) { if ($rights != 9) { echo functions::display_error($lng['access_forbidden']); require('../incfiles/end.php'); exit; } $req = mysql_query("SELECT `id` FROM `forum` WHERE `type` = 'm' AND `close` = '1' $sort"); while ($res = mysql_fetch_assoc($req)) { $req_f = mysql_query("SELECT * FROM `cms_forum_files` WHERE `post` = '" . $res['id'] . "' LIMIT 1"); if (mysql_num_rows($req_f)) { $res_f = mysql_fetch_assoc($req_f); // Удаляем файлы unlink('../files/forum/attach/' . $res_f['filename']); mysql_query("DELETE FROM `cms_forum_files` WHERE `post` = '" . $res['id'] . "' LIMIT 1"); } } // Удаляем посты mysql_query("DELETE FROM `forum` WHERE `type` = 'm' AND `close` = '1' $sort"); header('Location: index.php?act=forum&mod=hposts'); } else { $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 'm' AND `close` = '1' $sort"), 0); if ($total > $kmess) echo '
' . functions::display_pagination('index.php?act=forum&mod=hposts&', $start, $total, $kmess) . '
'; $req = mysql_query("SELECT `forum`.*, `forum`.`id` AS `fid`, `forum`.`user_id` AS `id`, `forum`.`from` AS `name`, `forum`.`soft` AS `browser`, `users`.`rights`, `users`.`lastdate`, `users`.`sex`, `users`.`status`, `users`.`datereg` FROM `forum` LEFT JOIN `users` ON `forum`.`user_id` = `users`.`id` WHERE `forum`.`type` = 'm' AND `forum`.`close` = '1' $sort ORDER BY `forum`.`id` DESC LIMIT $start, $kmess"); if (mysql_num_rows($req)) { $i = 0; while ($res = mysql_fetch_assoc($req)) { $res['ip'] = ip2long($res['ip']); $posttime = ' (' . functions::display_date($res['time']) . ')'; $page = ceil(mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `refid` = '" . $res['refid'] . "' AND `id` " . ($set_forum['upfp'] ? ">=" : "<=") . " '" . $res['fid'] . "'"), 0) / $kmess); $text = mb_substr($res['text'], 0, 500); $text = functions::checkout($text, 1, 0); $text = preg_replace('#\[c\](.*?)\[/c\]#si', '
\1
', $text); $theme = mysql_fetch_assoc(mysql_query("SELECT `id`, `text` FROM `forum` WHERE `id` = '" . $res['refid'] . "'")); $text = '' . $theme['text'] . ' >>
' . $text; $subtext = '' . $lng_forum['filter_to'] . ': '; $subtext .= '' . $lng_forum['by_theme'] . ' | '; $subtext .= '' . $lng_forum['by_author'] . ''; echo $i % 2 ? '
' : '
'; echo functions::display_user($res, array( 'header' => $posttime, 'body' => $text, 'sub' => $subtext )); echo '
'; ++$i; } if ($rights == 9) echo '
'; } else { echo ''; } echo '
' . $lng['total'] . ': ' . $total . '
'; if ($total > $kmess) { echo '
' . functions::display_pagination('index.php?act=forum&mod=hposts&', $start, $total, $kmess) . '
' . '

' . '' . '' . '

'; } } break; case 'moders': /* ----------------------------------------------------------------- Управление модераторами разделов ----------------------------------------------------------------- */ if (isset($_POST['submit'])) { if (!$id) { echo functions::display_error($lng['error_wrong_data'], '' . $lng_forum['forum_management'] . ''); require('../incfiles/end.php'); exit; } if (isset($_POST['moder'])) { $q = mysql_query("SELECT * FROM `forum` WHERE `type` = 'a' AND `refid` = '$id'"); while ($q1 = mysql_fetch_array($q)) { if (!in_array($q1['from'], $_POST['moder'])) { mysql_query("delete from `forum` where `id`='" . $q1['id'] . "'"); } } foreach ($_POST['moder'] as $v) { $v = functions::check($v); $q2 = mysql_query("SELECT * FROM `forum` WHERE `type` = 'a' AND `from` = '$v' AND `refid` = '$id'"); $q3 = mysql_num_rows($q2); if ($q3 == 0) { mysql_query("INSERT INTO `forum` SET `refid` = '$id', `type` = 'a', `from` = '$v'"); } } } else { mysql_query("DELETE * FROM `forum` WHERE `type` = 'a' AND `refid` = '$id'"); } header("Location: index.php?act=forum&mod=moders&id=$id"); } else { echo '
' . $lng_forum['forum_management'] . ' | ' . $lng_forum['moderators_appoint'] . '
'; if (!empty($_GET['id'])) { $typ = mysql_query("SELECT * FROM `forum` WHERE `id` = '$id'"); $ms = mysql_fetch_array($typ); if ($ms['type'] != "f") { echo functions::display_error($lng['error_wrong_data'], '' . $lng_forum['forum_management'] . ''); require('../incfiles/end.php'); exit; } echo '
' . $lng_forum['category'] . ': ' . $ms['text'] . '
'; echo '
'; $q = mysql_query("SELECT * FROM `users` WHERE `rights` = '3'"); $i = 0; while ($q1 = mysql_fetch_assoc($q)) { $q2 = mysql_query("SELECT * FROM `forum` WHERE `type` = 'a' AND `from` = '" . $q1['name'] . "' and `refid` = '$id'"); $q3 = mysql_num_rows($q2); echo $i % 2 ? '
' : '
'; echo '' . $q1['name'] . '
'; ++$i; } echo '
' . '' . '
'; } else { echo '
' . $lng_forum['select_category'] . '
'; $q = mysql_query("select * from `forum` where type='f' order by realid;"); $i = 0; while ($q1 = mysql_fetch_array($q)) { echo $i % 2 ? '
' : ''; ++$i; } echo ''; } } break; case 'fset': if ($rights > 6) { $textl = 'Настройки форума.'; echo '
'.$textl.'
'; if (isset($_POST['submit'])) { $set['fput'] = intval($_POST['fput']); mysql_query("UPDATE `cms_settings` SET `val`='".$set['fput']."' WHERE `key`='fput'"); echo '
Настройки сохранены.
'; } echo '
'; } else header('Location: http://johncms.com'); break; default: /* ----------------------------------------------------------------- Панель управления форумом ----------------------------------------------------------------- */ $total_cat = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 'f'"), 0); $total_sub = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 'r'"), 0); $total_thm = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 't'"), 0); $total_thm_del = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 't' AND `close` = '1'"), 0); $total_msg = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 'm'"), 0); $total_msg_del = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 'm' AND `close` = '1'"), 0); $total_files = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_files`"), 0); $total_votes = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_vote` WHERE `type` = '1'"), 0); echo '
' . $lng['admin_panel'] . ' | ' . $lng_forum['forum_management'] . '
' . '

 ' . $lng['statistics'] . '

    ' . '
  • ' . $lng['categories'] . ': ' . $total_cat . '
  • ' . '
  • ' . $lng['sections'] . ': ' . $total_sub . '
  • ' . '
  • ' . $lng['themes'] . ': ' . $total_thm . ' / ' . $total_thm_del . '
  • ' . '
  • Посты: ' . $total_msg . ' / ' . $total_msg_del . '
  • ' . '
  • ' . $lng['files'] . ': ' . $total_files . '
  • ' . '
  • ' . $lng['votes'] . ': ' . $total_votes . '
  • ' . '

' . '' . ''; } echo '

' . $lng['admin_panel'] . '

'; ?>