summaryrefslogtreecommitdiff
path: root/forum/utils/forums.php
diff options
context:
space:
mode:
Diffstat (limited to 'forum/utils/forums.php')
-rw-r--r--forum/utils/forums.php52
1 files changed, 39 insertions, 13 deletions
diff --git a/forum/utils/forums.php b/forum/utils/forums.php
index c9c48b5..c93cafb 100644
--- a/forum/utils/forums.php
+++ b/forum/utils/forums.php
@@ -7,8 +7,8 @@ include_once($UTIL_DIR . "/threads.php");
class Forum {
public $fid;
public $name;
- private $newStuff;
- private $numPosts;
+ public $newStuff;
+ public $numPosts;
private $latestPost;
public function setNewStuff($newStuff, $threads)
@@ -25,15 +25,37 @@ class Forum {
public function show()
{
+ global $cache;
+ global $yeah;
+
+ $str = "";
+
$newcls = " forum_nonew";
- if($this->newStuff) $newcls = " forum_new";
-
- echo " <div class=\"forum\">\n";
- echo " <span class=\"forum_icon".$newcls."\"></span>\n";
- echo " <a class=\"forum_title\" href=\"?fid=" . $this->fid . "\">" . $this->name . "</a>\n";
- echo " <span class=\"forum_latestpost\">".$this->latestPost."</span>\n";
- echo " <span class=\"forum_numberofthreads\">".sprintf("%d", $this->numPosts)." threads</span>\n";
- echo " </div>\n";
+ if($yeah) {
+ $lp = $cache->get("forum_lastpost");
+ if($lp->value($this->fid)) $newcls = " forum_new";
+ } else {
+ if($this->newStuff) $newcls = " forum_new";
+ }
+
+ $str .= " <div class=\"forum\">\n";
+ $str .= " <span class=\"forum_icon".$newcls."\"></span>\n";
+ $str .= " <a class=\"forum_title\" href=\"?fid=" .
+ $this->fid . "\">" . $this->name . "</a>\n";
+ $str .= " <span class=\"forum_latestpost\">".
+ $this->latestPost . "</span>\n";
+ if($yeah) {
+ $fc = $cache->get("forum_numberofthreads");
+
+ $str .= " <span class=\"forum_numberofthreads\">" .
+ $fc->value($this->fid) . " threads</span>\n";
+ } else {
+ $str .= " <span class=\"forum_numberofthreads\">"
+ . sprintf("%d", $this->numPosts)." threads</span>\n";
+ }
+ $str .= " </div>\n";
+
+ return $str;
}
public function Forum($fid, $name)
@@ -84,11 +106,15 @@ class Forums {
public function show()
{
- echo "<div class=\"forums\">\n";
+ $str = "";
+
+ $str .= "<div class=\"forums\">\n";
foreach($this->forums as $forum) {
- $forum->show();
+ $str .= $forum->show();
}
- echo "</div>\n";
+ $str .= "</div>\n";
+
+ return $str;
}
private function read()