diff --git a/forum.php b/forum.php index 2812674..d9d9f56 100644 --- a/forum.php +++ b/forum.php @@ -33,7 +33,7 @@ $replasepost = ''; function parse_bb_code($text) { - $bbCodes = array( + $bbCodes = [ // Стандартные BB коды '/\[(\/?)(b|i|u|s)\s*\]/' => "<$1$2>", '/\[(left|center|right)\]/' => '

', @@ -175,7 +175,7 @@ function parse_bb_code($text) '/\:pal\:/' => '', '/\:nun\:/' => '', '/\:ura\:/' => '', - ); + ]; $text = preg_replace(array_keys($bbCodes), array_values($bbCodes), $text); $text = close_dangling_tags($text); @@ -335,343 +335,336 @@ if (isset($_GET['do']) && $isModerator == true) { exit(); } } +Template::header('Форум'); ?> - - - - Форум - - - - + + + + +
+
+ full(1) . "
"; ?> +

Конференции

+ query('SELECT * FROM `forum` WHERE `parent` = 0 AND `type` = 1 ORDER BY `id` ASC'); + while ($row = $data->fetch_assoc()) { + if (($row['min_align'] == 0 && $row['max_align'] == 0) || ($user['align'] >= $row['min_align'] && $user['align'] <= $row['max_align']) || $isAdmin) { + $min = $row['min_align'] == 0; + $max = $row['max_align'] == 0; - - - - + + +
-
- full(1) . "
"; ?> -

Конференции

- query('SELECT * FROM `forum` WHERE `parent` = 0 AND `type` = 1 ORDER BY `id` ASC'); - while ($row = $data->fetch_assoc()) { - if (($row['min_align'] == 0 && $row['max_align'] == 0) || ($user['align'] >= $row['min_align'] && $user['align'] <= $row['max_align']) || $isAdmin) { - $min = $row['min_align'] == 0; - $max = $row['max_align'] == 0; - - if (!isset($user['id']) || (($user['align'] < $row['min_align']) || ($user['align'] > $row['max_align']) && !$min && !$max)) { - echo '  📕'; - } else { - echo '  📖 '; + if (!isset($user['id']) || (($user['align'] < $row['min_align']) || ($user['align'] > $row['max_align']) && !$min && !$max)) { + echo '  📕'; + } else { + echo '  📖 '; + } + echo '' . $row['topic'] . '
'; } - echo '' . $row['topic'] . '
'; } } - } - ?> -
- query('SELECT * FROM `forum` WHERE `id` = "?s"', $_GET['topic'])->fetch_assoc(); - if (($row['min_align'] == 0 && $row['max_align'] == 0) || ($user['align'] >= $row['min_align'] && $user['align'] <= $row['max_align']) || $isAdmin) { - $top = $row['parent']; - $parentCat = db::c()->query('SELECT * FROM `forum` WHERE `id` = ?i', $top)->fetch_assoc(); - $icons = $row['icon']; - ?> -

Конференция «»

- - query('SELECT `closepal`, `id` FROM `forum` WHERE `id` = "?s"', $_GET['topic'])->fetch_row(); - if (((int)$par_top[1] != 0) || ((int)$_GET['konftop'] > 0)) { - if ($row['close'] == 1) { - $close = "🔓Открыть"; - $closed = 1; - $closepal = $row['closepal']; - } else { - $close = "🔒Закрыть"; - } - if ($row['fix'] == 1) { - $fix = "📄Открепить"; - } else { - $fix = "📌Прикрепить"; - } - - if ($isModerator): ?> -
-
- - | -
Перемещение тем не работает. -
-
- query('SELECT count(`id`) FROM `forum` WHERE `parent` = "?s"', $_GET['topic'])->fetch_row(); - $pgs = $pgs[0] / 20; - if ($pgs > 1) echo " Страницы: "; - $pages_str = ''; - $page = isset($_GET['page']) ? (((int)$_GET['page'] + 1) > $pgs ? ($pgs - 1) : (int)$_GET['page']) : 0; - $page = ceil($page); - if ($pgs > 1) { - for ($i = 0; $i < ceil($pgs); $i++) { - if (($i > ($page - 5)) && ($i <= ($page + 4))) { - $pages_str .= ($i == $page ? " " . ($i + 1) . "" : " " . ($i + 1) . ""); - } - } - $pages_str .= ($page < $pgs - 5 ? " ..." : ""); - $pages_str = ($page > 4 ? " « ... " : "") . $pages_str . (($page < ($pgs - 1) ? " » " : "")); - } - $FirstPage = (ceil($pgs) > 4 ? $_GET['page'] > 0 ? " Первая " : "" : ""); - $LastPage = (ceil($pgs) > 4 ? (ceil($pgs) - 1) != $_GET['page'] ? " Последняя " : "" : ""); - $pages_str = $FirstPage . $pages_str . $LastPage; - echo $pages_str; - + ?> +
+ query('SELECT * FROM `forum` WHERE `id` = "?s"', $_GET['topic'])->fetch_assoc(); + if (($row['min_align'] == 0 && $row['max_align'] == 0) || ($user['align'] >= $row['min_align'] && $user['align'] <= $row['max_align']) || $isAdmin) { + $top = $row['parent']; + $parentCat = db::c()->query('SELECT * FROM `forum` WHERE `id` = ?i', $top)->fetch_assoc(); + $icons = $row['icon']; ?> -
+

Конференция «»

+ + query('SELECT `closepal`, `id` FROM `forum` WHERE `id` = "?s"', $_GET['topic'])->fetch_row(); + if (((int)$par_top[1] != 0) || ((int)$_GET['konftop'] > 0)) { + if ($row['close'] == 1) { + $close = "🔓Открыть"; + $closed = 1; + $closepal = $row['closepal']; + } else { + $close = "🔒Закрыть"; + } + if ($row['fix'] == 1) { + $fix = "📄Открепить"; + } else { + $fix = "📌Прикрепить"; + } + + if ($isModerator): ?> +
+
+ + | +
Перемещение тем не работает. +
+
+ query('SELECT count(`id`) FROM `forum` WHERE `parent` = "?s"', $_GET['topic'])->fetch_row(); + $pgs = $pgs[0] / 20; + if ($pgs > 1) echo " Страницы: "; + $pages_str = ''; + $page = isset($_GET['page']) ? (((int)$_GET['page'] + 1) > $pgs ? ($pgs - 1) : (int)$_GET['page']) : 0; + $page = ceil($page); + if ($pgs > 1) { + for ($i = 0; $i < ceil($pgs); $i++) { + if (($i > ($page - 5)) && ($i <= ($page + 4))) { + $pages_str .= ($i == $page ? " " . ($i + 1) . "" : " " . ($i + 1) . ""); + } + } + $pages_str .= ($page < $pgs - 5 ? " ..." : ""); + $pages_str = ($page > 4 ? " « ... " : "") . $pages_str . (($page < ($pgs - 1) ? " » " : "")); + } + $FirstPage = (ceil($pgs) > 4 ? $_GET['page'] > 0 ? " Первая " : "" : ""); + $LastPage = (ceil($pgs) > 4 ? (ceil($pgs) - 1) != $_GET['page'] ? " Последняя " : "" : ""); + $pages_str = $FirstPage . $pages_str . $LastPage; + echo $pages_str; + + ?> +
- - query('SELECT * FROM `forum` WHERE `parent` = "?s" ORDER BY `id` ASC LIMIT ?i,20', $_GET['topic'], ($_GET['page'] * 20)); - while ($row = $data->fetch_assoc()): ?> - - 1) { - echo " Страницы: "; - } - echo $pages_str; + query('SELECT * FROM `forum` WHERE `parent` = "?s" ORDER BY `id` ASC LIMIT ?i,20', $_GET['topic'], ($_GET['page'] * 20)); + while ($row = $data->fetch_assoc()): ?> + + 1) { + echo " Страницы: "; + } + echo $pages_str; - if ($closed == 1) { - echo "
" . $closepal . "


"; - } else { - if (!empty($user['block'])) { - $error = "Вы заблокированы!"; - } elseif ($user['level'] < 2) { - $error = "Персонажам до 2-го уровня запрещено писать на форуме!"; - } elseif (isset($sleep['id'])) { - $error = "Вы молчите!"; + if ($closed == 1) { + echo "
" . $closepal . "


"; } else { - ?> - -
+ if (!empty($user['block'])) { + $error = "Вы заблокированы!"; + } elseif ($user['level'] < 2) { + $error = "Персонажам до 2-го уровня запрещено писать на форуме!"; + } elseif (isset($sleep['id'])) { + $error = "Вы молчите!"; + } else { + ?> + + - - - - - - + + + + +
-

Оставить комментарий

-
+ + + + + + + + + + +
+

Оставить комментарий

+
+
+ + +
+ + + + + + + + "; + } + } else { + if (is_numeric($_GET['conf']) && $row = db::c()->query('SELECT * FROM `forum` WHERE `id` = ?i', $_GET['conf'])->fetch_assoc()) { + if (($row['min_align'] == 0 && $row['max_align'] == 0) || ($user['align'] >= $row['min_align'] && $user['align'] <= $row['max_align']) || $isAdmin) { + $confname = 'Конференция «' . $row['topic'] . '»'; + $pgs = db::c()->query('SELECT count(`id`) FROM `forum` WHERE `parent` = ?i ORDER BY `fix` DESC, `updated` DESC', $_GET['conf'])->fetch_row(); + $pgs = $pgs[0] / 20; + $pages_str = ''; + if (empty($_GET['page'])) $_GET['page'] = 0; + $page = (int)$_GET['page'] ? (((int)$_GET['page'] + 1) > $pgs ? ($pgs - 1) : (int)$_GET['page']) : 0; + $page = ceil($page); + ?> +
+

+ + 1) { + for ($i = 0; $i < ceil($pgs); $i++) { + if (($i > ($page - 5)) && ($i <= ($page + 4))) { + $pages_str .= ($i == $page ? " " . ($i + 1) . "" : " " . ($i + 1) . ""); + } + } + $pages_str .= ($page < $pgs - 5 ? " ..." : ""); + $pages_str = ($page > 4 ? " « ... " : "") . $pages_str . (($page < ($pgs - 1) ? " »" : "")); + ?> +
+ Страницы: +
+ 4 ? $_GET['page'] > 0 ? " Первая " : "" : ""); + $LastPage = (ceil($pgs) > 4 ? (ceil($pgs) - 1) != $_GET['page'] ? " Последняя " : "" : ""); + $pages_str = $FirstPage . $pages_str . $LastPage; + + if (!empty($_GET['conf'])) { + if (empty($_GET['page'])) $_GET['page'] = 0; + $data = db::c()->query('SELECT * FROM `forum` WHERE `parent` = "?s" ORDER BY `fix` DESC, `updated` DESC LIMIT ?i,20', $_GET['conf'], ($_GET['page'] * 20)); + while ($row = $data->fetch_assoc()) { + $logi = ''; + $userlist = ''; + $icons = $row['icon']; + $data2 = db::c()->query('SELECT `author` FROM (SELECT `author`,`id` FROM `forum` WHERE `parent` = ?i ORDER BY `id` DESC LIMIT 10) AS sTable ORDER BY id DESC', $row['id']); + while ($row2 = $data2->fetch_row()) { + $userlist = strip_tags($row2[0], ""); + [$username, $level] = split(" \[", $userlist); + $logi .= $username; + } + $datacount = db::c()->query('SELECT count(*) AS CountNumber FROM `forum` WHERE `parent` = ?i', $row['id'])->fetch_assoc(); + $count = $datacount["CountNumber"]; + $lasttimedb = db::c()->query('SELECT `date` FROM `forum` WHERE `parent` = ?i ORDER BY `id` DESC', $row['id'])->fetch_assoc(); + $lasttime = $lasttimedb['date']; + echo "
+

" . ($row['fix'] ? "📌 " : "") . "" . ($i + 1) . "" : "" . ($i + 1) . ""); + $pages_str1 .= ($page1 < $pgs1 - 5 ? " ..." : ""); + } + if ($pgs1 > 1) { + $pages_str1 = "" . $pages_str1 . ""; + } + + echo "'> {$row['topic']} " . $pages_str1 . " {$row['author']}"; + + if ($isModerator) echo " Удалить"; + + echo "
" . $row['date'] . " " . strip_tags(substr($row['text'], 0, 250), "") . " +
Ответов: " . $count . " (" . $lasttime . ") +

"; + } + } + if ($pgs > 1) echo "

Страницы:"; + + echo $pages_str . "

"; + + if (!empty($user['block'])) { + $error = "Вы заблокированы!"; + } elseif ($user['level'] < 2) { + $error = "Персонажам до 2-го уровня запрещено писать на форуме!"; + } elseif (isset($sleep['id'])) { + $error = "Вы молчите!"; + } else { + ?> + +
+
+ + + - -
+ + + - - -
+

Добавить свой вопрос в форум

+
- - -
- - - - - - - - "; - } - } else { - if (is_numeric($_GET['conf']) && $row = db::c()->query('SELECT * FROM `forum` WHERE `id` = ?i', $_GET['conf'])->fetch_assoc()) { - if (($row['min_align'] == 0 && $row['max_align'] == 0) || ($user['align'] >= $row['min_align'] && $user['align'] <= $row['max_align']) || $isAdmin) { - $confname = 'Конференция «' . $row['topic'] . '»'; - $pgs = db::c()->query('SELECT count(`id`) FROM `forum` WHERE `parent` = ?i ORDER BY `fix` DESC, `updated` DESC', $_GET['conf'])->fetch_row(); - $pgs = $pgs[0] / 20; - $pages_str = ''; - if (empty($_GET['page'])) $_GET['page'] = 0; - $page = (int)$_GET['page'] ? (((int)$_GET['page'] + 1) > $pgs ? ($pgs - 1) : (int)$_GET['page']) : 0; - $page = ceil($page); - ?> -
-

- - 1) { - for ($i = 0; $i < ceil($pgs); $i++) { - if (($i > ($page - 5)) && ($i <= ($page + 4))) { - $pages_str .= ($i == $page ? " " . ($i + 1) . "" : " " . ($i + 1) . ""); - } - } - $pages_str .= ($page < $pgs - 5 ? " ..." : ""); - $pages_str = ($page > 4 ? " « ... " : "") . $pages_str . (($page < ($pgs - 1) ? " »" : "")); - ?> -
- Страницы: -
- 4 ? $_GET['page'] > 0 ? " Первая " : "" : ""); - $LastPage = (ceil($pgs) > 4 ? (ceil($pgs) - 1) != $_GET['page'] ? " Последняя " : "" : ""); - $pages_str = $FirstPage . $pages_str . $LastPage; - - if (!empty($_GET['conf'])) { - if (empty($_GET['page'])) $_GET['page'] = 0; - $data = db::c()->query('SELECT * FROM `forum` WHERE `parent` = "?s" ORDER BY `fix` DESC, `updated` DESC LIMIT ?i,20', $_GET['conf'], ($_GET['page'] * 20)); - while ($row = $data->fetch_assoc()) { - $logi = ''; - $userlist = ''; - $icons = $row['icon']; - $data2 = db::c()->query('SELECT `author` FROM (SELECT `author`,`id` FROM `forum` WHERE `parent` = ?i ORDER BY `id` DESC LIMIT 10) AS sTable ORDER BY id DESC', $row['id']); - while ($row2 = $data2->fetch_row()) { - $userlist = strip_tags($row2[0], ""); - [$username, $level] = split(" \[", $userlist); - $logi .= $username; - } - $datacount = db::c()->query('SELECT count(*) AS CountNumber FROM `forum` WHERE `parent` = ?i', $row['id'])->fetch_assoc(); - $count = $datacount["CountNumber"]; - $lasttimedb = db::c()->query('SELECT `date` FROM `forum` WHERE `parent` = ?i ORDER BY `id` DESC', $row['id'])->fetch_assoc(); - $lasttime = $lasttimedb['date']; - echo "
-

" . ($row['fix'] ? "📌 " : "") . "" . ($i + 1) . "" : "" . ($i + 1) . ""); - $pages_str1 .= ($page1 < $pgs1 - 5 ? " ..." : ""); - } - if ($pgs1 > 1) { - $pages_str1 = "" . $pages_str1 . ""; - } - - echo "'> {$row['topic']} " . $pages_str1 . " {$row['author']}"; - - if ($isModerator) echo " Удалить"; - - echo "
" . $row['date'] . " " . strip_tags(substr($row['text'], 0, 250), "") . " -
Ответов: " . $count . " (" . $lasttime . ") -

"; - } - } - if ($pgs > 1) echo "

Страницы:"; - - echo $pages_str . "

"; - - if (!empty($user['block'])) { - $error = "Вы заблокированы!"; - } elseif ($user['level'] < 2) { - $error = "Персонажам до 2-го уровня запрещено писать на форуме!"; - } elseif (isset($sleep['id'])) { - $error = "Вы молчите!"; - } else { - ?> - -
-
- - - - -
- - - - - - - - - - -
-

Добавить свой вопрос в форум

- -
+ - - - -
- - - - - -
- - - - - -
-
-
-
- Ничего не найдено! '; - } - ?> - -
+ + + +
+ + + + + +
+ + + + + +
+
+
+ + Ничего не найдено! '; + } + } + ?> + +

- - - \ No newline at end of file + \ No newline at end of file