diff --git a/_sakura/components/Forums.php b/_sakura/components/Forums.php index 45b3bb1..09e0b6c 100755 --- a/_sakura/components/Forums.php +++ b/_sakura/components/Forums.php @@ -82,6 +82,50 @@ class Forums return $forum; } + // Getting all topics from a forum + public static function getTopics($id) + { + + // Get the topics from the database + $topics = Database::fetch('topics', true, [ + 'forum_id' => [$id, '='], + ]); + + // Get the userdata related to last posts + foreach ($topics as $key => $topic) { + // Get the reply count + $topics[$key]['reply_count'] = Database::count('posts', [ + 'topic_id' => [$topic['topic_id'], '='], + ])[0]; + + // Get first post in topics + $firstPost = Database::fetch('posts', false, [ + 'topic_id' => [$topic['topic_id'], '='], + ]); + + $topics[$key]['first_poster'] = new User($firstPost['poster_id']); + + $topics[$key]['first_post'] = array_merge( + empty($firstPost) ? [] : $firstPost, + ['elapsed' => Main::timeElapsed($firstPost['post_time'])] + ); + + // Get last post in topics + $lastPost = Database::fetch('posts', false, [ + 'topic_id' => [$topic['topic_id'], '='], + ], ['post_id', true]); + + $topics[$key]['last_poster'] = new User($lastPost['poster_id']); + + $topics[$key]['last_post'] = array_merge( + empty($lastPost) ? [] : $lastPost, + ['elapsed' => Main::timeElapsed($lastPost['post_time'])] + ); + } + + return $topics; + } + // Get posts of a thread public static function getTopic($id, $ignoreView = false) { diff --git a/_sakura/components/News.php b/_sakura/components/News.php index c4e6e9d..545bf43 100755 --- a/_sakura/components/News.php +++ b/_sakura/components/News.php @@ -11,7 +11,7 @@ namespace Sakura; */ class News { - private $posts = []; // Posts array + public $posts = []; // Posts array private $posters = []; // Posters array (so we don't create a new user object every time) // Initialise the news object @@ -54,29 +54,4 @@ class News { return array_key_exists($pid, $this->posts) ? $pid : 0; } - - // Get a single post - public function getPost($pid) - { - return array_key_exists($pid, $this->posts) ? $this->posts[$pid] : 0; - } - - // Getting posts - public function getPosts($start = null, $end = null) - { - - // Get posts - $posts = $this->posts; - - // Only return requested posts - if ($start !== null && $end !== null) { - // Slice the array - $posts = array_slice($posts, $start, $end, true); - } elseif ($start !== null) { - // Devide the array in parts (pages) - $posts = array_chunk($posts, $start, true); - } - - return $posts; - } } diff --git a/_sakura/components/Urls.php b/_sakura/components/Urls.php index 1fc7ced..fc118e1 100755 --- a/_sakura/components/Urls.php +++ b/_sakura/components/Urls.php @@ -23,10 +23,6 @@ class Urls '/news.php', '/news', ], - 'SITE_NEWS_PAGE' => [ - '/news.php?page=%u', - '/news/p%u', - ], 'SITE_NEWS_POST' => [ '/news.php?id=%u', '/news/%u', @@ -47,10 +43,6 @@ class Urls '/support.php?tracker=true', '/support/tracker', ], - 'SITE_DONATE_TRACK_PAGE' => [ - '/support.php?tracker=true&page=%u', - '/support/tracker/%u', - ], 'SITE_FAQ' => [ '/faq.php', '/faq', @@ -99,23 +91,11 @@ class Urls ], 'MEMBERLIST_PAGE' => [ '/members.php?page=%u', - '/members/p%u', - ], - 'MEMBERLIST_SORT_RANK' => [ - '/members.php?sort=%s&rank=%u', - '/members/%s/%u', - ], - 'MEMBERLIST_RANK_PAGE' => [ - '/members.php?rank=%u&page=%u', - '/members/%u/p%u', - ], - 'MEMBERLIST_SORT_PAGE' => [ - '/members.php?sort=%s&page=%u', - '/members/%s/p%u', + '/members?page=%u', ], 'MEMBERLIST_ALL' => [ - '/members.php?sort=%s&rank=%u&page=%u', - '/members/%s/%u/p%u', + '/members.php?sort=%s&rank=%u', + '/members/%s/%u', ], // Forums @@ -221,10 +201,6 @@ class Urls '/settings.php?cat=%s&mode=%s', '/settings/%s/%s', ], - 'SETTING_PAGE' => [ - '/settings.php?cat=%s&mode=%s&page=%u', - '/settings/%s/%s/p%u', - ], 'REQUEST_NOTIFICATIONS' => [ '/settings.php?request-notifications=true', '/notifications', diff --git a/_sakura/templates/yuuno/elements/pagination.tpl b/_sakura/templates/yuuno/elements/pagination.tpl index fb48169..bc5e63c 100755 --- a/_sakura/templates/yuuno/elements/pagination.tpl +++ b/_sakura/templates/yuuno/elements/pagination.tpl @@ -1,11 +1,14 @@ -
{% if not post.poster.checkPermission('SITE', 'DEACTIVATED') or post.poster.checkPermission('SITE', 'RESTRICTED') %}{{ post.poster.username }}
diff --git a/_sakura/templates/yuuno/main/index.tpl b/_sakura/templates/yuuno/main/index.tpl
index ec1b405..5821829 100755
--- a/_sakura/templates/yuuno/main/index.tpl
+++ b/_sakura/templates/yuuno/main/index.tpl
@@ -7,7 +7,7 @@
- {% for post in news.getPosts(0, newsCount) %}
+ {% for post in news.posts|batch(newsCount)[0] %}
{% include 'elements/newsPost.tpl' %}
{% endfor %}
diff --git a/_sakura/templates/yuuno/main/memberlist.tpl b/_sakura/templates/yuuno/main/memberlist.tpl
index 76a7a64..f17ccf5 100755
--- a/_sakura/templates/yuuno/main/memberlist.tpl
+++ b/_sakura/templates/yuuno/main/memberlist.tpl
@@ -8,6 +8,13 @@
{% if page.notfound %}The requested rank could not be found!{% else %}{% if not page.active %}The entire user list.{% else %}{{ page.ranks[page.active].description }}{% endif %}{% endif %}
{% endset %}
+{% set users = users|batch(membersPerPage) %}
+
+{% set currPage = get.page|default(1) - 1 %}
+
+{% set paginationPages = users %}
+{% set paginationUrl %}{% if page.sort and page.active %}{{ urls.format('MEMBERLIST_ALL', [page.sort, page.active]) }}{% elseif page.sort %}{{ urls.format('MEMBERLIST_SORT', [page.sort]) }}{% elseif page.active %}{{ urls.format('MEMBERLIST_RANK', [page.active]) }}{% else %}{{ urls.format('MEMBERLIST_INDEX') }}{% endif %}{% endset %}
+
{% block title %}{{ rankTitle }}{% endblock %}
{% block content %}
@@ -19,21 +26,21 @@
Rank:
- All members
+ All members
{% for rank in page.ranks %}
{% if not rank.hidden or (rank.hidden and page.active == rank.id) %}
- {{ rank.name(true) }}
+ {{ rank.name(true) }}
{% endif %}
{% endfor %}
This rank has no members!{% elseif not page.notfound %}
@@ -59,7 +66,7 @@
Country |
|
@@ -85,7 +92,7 @@ {% endfor %} |
- Supporter - | -- Amount - | -- Action - | +Supporter | +Amount | +Action |
---|---|---|---|---|---|
- Supporter - | -- Amount - | -- Action - | +Supporter | +Amount | +Action |
- {{ page.premiumData.users[supporter.user_id].username }} + {{ tracker.users[supporter.user_id].username }} | €{{ supporter.transaction_amount|number_format(2) }} @@ -52,19 +51,11 @@ {% endfor %} |