mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-27 01:39:22 +02:00

* Remove unneeded escape * Fix guild back buttons (change logo & motd) * small adjustment in news.php * Fix create character when admin (any case is allowed now) * Fix forum table style (boards & thread view) * Small improvement to plugins.enabled check * [WIP] nikic/fast-route implementation I will describe it more in Pull Request * Optimisations & fixes. * Fix path - should not be absolute * Add PLUGINS to Twig path * Don't hide "Install Plugin" Box by default * Update package-lock.json * nothing important, just early exit & fixes Fix creature display * fix premium_ends_at for tfs 1.3+ * Move pages * Move pages tbc * $db->select: make $where parameter optional, allows to get all records * Add some error box to error * fix parse error * Rewriting the router v2 To be more flexible * small fixes * fix & add admin icons * Move mass_* pages to correct folder * fix logout hook 2 * Delete accountmanagement.php * This code wasn't used * Add missing var * Add redirect_from && redirect_to to router options + Also add * for all methods shortcut * Remove comments Not allowed in normal json * Allow admin pages included into plugins dir * block access to some files * Fix admin logout * Fix #178 * feature: mail confirmed reward Suggested by @EPuncker # Conflicts: # system/hooks.php * remove misleading comment * adjust required version according to composer.json * fix duplicated word * Adjustments & fixed to mass actions * Add password confirm, and change text type to password * Add list of Open Source Software MyAAC is using * Fix signature * Show First, Second instead of numbers * fix base dir detection * fix double ACTION define + undefined URI in template * new function> escapeHtml + fix css in admin menus * fix changelog add * fix news adding, rename const to NEWS_* * Add verify to pages, add messages, limits, fix add * fix "Please fill all input" * add required input to admin pages * shorten some expressions with ?? * shorten code + fix conversion (int) * Move account_types to config, account.web_flags to common.php * Update example.json * feature: router aliases * shorten some code + const convert * remove wrong char * fix signature on custom basedir * fix: mass teleport position validation (#214) * fix: mass teleport position validation * fix: max position * Fix execute in CLI * fix warning in reload cache in dev mode * Configurable admin panel folder * feature: plugin require more options with comma * $config_account_salt -> USE_ACCOUNT_SALT * fix forum show_thread * Update show_thread.php --------- Co-authored-by: Gabriel Pedro <gpedro@users.noreply.github.com>
64 lines
2.1 KiB
PHP
64 lines
2.1 KiB
PHP
<?php
|
|
/**
|
|
* Forum
|
|
*
|
|
* @package MyAAC
|
|
* @author Gesior <jerzyskalski@wp.pl>
|
|
* @author Slawkens <slawkens@gmail.com>
|
|
* @copyright 2021 MyAAC
|
|
* @link https://my-aac.org
|
|
*/
|
|
defined('MYAAC') or exit;
|
|
|
|
require __DIR__ . '/forum/base.php';
|
|
require __DIR__ . '/forum/admin.php';
|
|
|
|
$errors = [];
|
|
if(!empty($action))
|
|
{
|
|
if(!ctype_alnum(str_replace(array('-', '_'), '', $action))) {
|
|
error('Error: Action contains illegal characters.');
|
|
}
|
|
else if(file_exists(PAGES . 'forum/' . $action . '.php')) {
|
|
require PAGES . 'forum/' . $action . '.php';
|
|
return;
|
|
}
|
|
else {
|
|
error('This page does not exists.');
|
|
}
|
|
}
|
|
|
|
$info = $db->query("SELECT `section`, COUNT(`id`) AS 'threads', SUM(`replies`) AS 'replies' FROM `" . FORUM_TABLE_PREFIX . "forum` WHERE `first_post` = `id` GROUP BY `section`")->fetchAll();
|
|
|
|
$boards = array();
|
|
foreach($info as $data)
|
|
$counters[$data['section']] = array('threads' => $data['threads'], 'posts' => $data['replies'] + $data['threads']);
|
|
|
|
foreach($sections as $id => $section)
|
|
{
|
|
$show = true;
|
|
if(Forum::hasAccess($id)) {
|
|
$last_post = $db->query("SELECT `players`.`name`, `" . FORUM_TABLE_PREFIX . "forum`.`post_date` FROM `players`, `" . FORUM_TABLE_PREFIX . "forum` WHERE `" . FORUM_TABLE_PREFIX . "forum`.`section` = ".(int) $id." AND `players`.`id` = `" . FORUM_TABLE_PREFIX . "forum`.`author_guid` ORDER BY `post_date` DESC LIMIT 1")->fetch();
|
|
$boards[] = array(
|
|
'id' => $id,
|
|
'link' => getForumBoardLink($id),
|
|
'name' => $section['name'],
|
|
'description' => $section['description'],
|
|
'hidden' => $section['hidden'],
|
|
'posts' => isset($counters[$id]['posts']) ? $counters[$id]['posts'] : 0,
|
|
'threads' => isset($counters[$id]['threads']) ? $counters[$id]['threads'] : 0,
|
|
'last_post' => array(
|
|
'name' => isset($last_post['name']) ? $last_post['name'] : null,
|
|
'date' => isset($last_post['post_date']) ? $last_post['post_date'] : null,
|
|
'player_link' => isset($last_post['name']) ? getPlayerLink($last_post['name']) : null,
|
|
)
|
|
);
|
|
}
|
|
}
|
|
|
|
$twig->display('forum.boards.html.twig', array(
|
|
'boards' => $boards,
|
|
'canEdit' => $canEdit,
|
|
'last' => count($sections)
|
|
));
|