/** * Get latest forum posts. * * @return array $posts * Array contains latest forum posts. The first item is the newest post. Empty array if no post. */ function getLatestForumPosts() { include_once e_PLUGIN . 'forum/forum_class.php'; $posts = array(); $db = e107::getDb(); $forum = new e107forum(); $forumList = implode(',', $forum->getForumPermList('view')); $limit = 10; $results = $db->select('forum_post', '*', 'post_forum IN (' . $forumList . ') ORDER BY post_datestamp DESC LIMIT 0, ' . $limit); if ($results) { while ($row = $db->fetch()) { $thread = new e_db_mysql(); $user = new e_db_mysql(); $posts[] = array('post' => $row, 'thread' => $thread->retrieve('forum_thread', '*', 'thread_id = ' . intval($row['post_thread'])), 'author' => $user->retrieve('user', '*', 'user_id = ' . intval($row['post_user']))); unset($thread); unset($user); } } return $posts; }
$view = isset($tmp[3]) ? intval($tmp[3]) : 10; } if ($action == 'top') { define('e_PAGETITLE', LAN_8); } elseif ($action == 'active') { define('e_PAGETITLE', LAN_7); } else { e107::redirect(); exit; } require_once HEADERF; if ($action == 'active') { require_once e_HANDLER . 'userclass_class.php'; require_once e_PLUGIN . 'forum/forum_class.php'; $forum = new e107forum(); $forumList = implode(',', $forum->getForumPermList('view')); $qry = "\r\n\tSELECT\r\n\t\tt.*, u.user_name, ul.user_name AS user_last, f.forum_name\r\n\tFROM `#forum_thread` as t\r\n\tLEFT JOIN `#forum` AS f ON f.forum_id = t.thread_forum_id\r\n\tLEFT JOIN `#user` AS u ON u.user_id = t.thread_user\r\n\tLEFT JOIN `#user` AS ul ON ul.user_id = t.thread_lastuser\r\n\tWHERE t.thread_forum_id IN ({$forumList})\r\n\tORDER BY t.thread_views DESC\r\n\tLIMIT\r\n\t\t{$from}, {$view}\r\n\t"; if ($sql->gen($qry)) { $text = "<div>\n<table style='width:auto' class='table fborder'>\n"; $gen = e107::getDate(); $text .= "<tr>\r\n\t\t\t<th style='width:5%' class='forumheader'> </th>\r\n\t\t\t<th style='width:45%' class='forumheader'>" . LAN_1 . "</th>\r\n\t\t\t<th style='width:15%; text-align:center' class='forumheader'>" . LAN_2 . "</th>\r\n\t\t\t<th style='width:5%; text-align:center' class='forumheader'>" . LAN_3 . "</th>\r\n\t\t\t<th style='width:5%; text-align:center' class='forumheader'>" . LAN_4 . "</th>\r\n\t\t\t<th style='width:25%; text-align:center' class='forumheader'>" . LAN_5 . "</th>\r\n\t\t\t</tr>\n"; while ($row = $sql->db_Fetch(MYSQL_ASSOC)) { if ($row['user_name']) { $POSTER = "<a href='" . e107::getUrl()->create('user/profile/view', "name={$row['user_name']}&id={$row['thread_user']}") . "'>{$row['user_name']}</a>"; } else { $POSTER = $row['thread_user_anon']; } $LINKTOTHREAD = e107::getUrl()->create('forum/thread/view', array('id' => $row['thread_id'])); //$e107->url->getUrl('forum', 'thread', "func=view&id={$row['thread_id']}"); $LINKTOFORUM = e107::getUrl()->create('forum/forum/view', array('id' => $row['thread_forum_id'])); //$e107->url->getUrl('forum', 'forum', "func=view&id={$row['thread_forum_id']}");
function mostActiveTopics() { //require_once (e_HANDLER.'userclass_class.php'); $sql = e107::getDb(); $tp = e107::getParser(); $ns = e107::getRender(); require_once e_PLUGIN . 'forum/forum_class.php'; $forum = new e107forum(); $forumList = implode(',', $forum->getForumPermList('view')); $qry = "\n\t\tSELECT\n\t\t\tt.*, u.user_name, ul.user_name AS user_last, f.forum_name\n\t\tFROM `#forum_thread` as t\n\t\tLEFT JOIN `#forum` AS f ON f.forum_id = t.thread_forum_id\n\t\tLEFT JOIN `#user` AS u ON u.user_id = t.thread_user\n\t\tLEFT JOIN `#user` AS ul ON ul.user_id = t.thread_lastuser\n\t\tWHERE t.thread_forum_id IN ({$forumList})\n\t\tORDER BY t.thread_views DESC\n\t\tLIMIT\n\t\t\t{$this->from}, {$this->view}\n\t\t"; if ($sql->gen($qry)) { $text = "<div>\n<table style='width:auto' class='table fborder'>\n"; $gen = e107::getDate(); $text .= "<tr>\n\t\t\t<th style='width:5%' class='forumheader'> </th>\n\t\t\t<th style='width:45%' class='forumheader'>" . LAN_1 . "</th>\n\t\t\t<th style='width:15%; text-align:center' class='forumheader'>" . LAN_2 . "</th>\n\t\t\t<th style='width:5%; text-align:center' class='forumheader'>" . LAN_3 . "</th>\n\t\t\t<th style='width:5%; text-align:center' class='forumheader'>" . LAN_4 . "</th>\n\t\t\t<th style='width:25%; text-align:center' class='forumheader'>" . LAN_5 . "</th>\n\t\t\t</tr>\n"; while ($row = $sql->fetch(MYSQL_ASSOC)) { if ($row['user_name']) { $POSTER = "<a href='" . e107::getUrl()->create('user/profile/view', "name={$row['user_name']}&id={$row['thread_user']}") . "'>{$row['user_name']}</a>"; } else { $POSTER = $row['thread_user_anon']; } $LINKTOTHREAD = e107::getUrl()->create('forum/thread/view', array('id' => $row['thread_id'])); //$e107->url->getUrl('forum', 'thread', "func=view&id={$row['thread_id']}"); $LINKTOFORUM = e107::getUrl()->create('forum/forum/view', array('id' => $row['thread_forum_id'])); //$e107->url->getUrl('forum', 'forum', "func=view&id={$row['thread_forum_id']}"); $lastpost_datestamp = $gen->convert_date($row['thread_lastpost'], 'forum'); if ($row['user_last']) { $LASTPOST = "<a href='" . e107::getUrl()->create('user/profile/view', "name={$row['user_last']}&id={$row['thread_lastuser']}") . "'>{$row['user_last']}</a><br />" . $lastpost_datestamp; } else { $LASTPOST = $row['thread_lastuser_anon'] . '<br />' . $lastpost_datestamp; } $text .= "<tr>\n\t\t\t\t\t<td style='width:5%; text-align:center' class='forumheader3'><img src='" . e_PLUGIN_ABS . "forum/images/" . IMODE . "/new_small.png' alt='' /></td>\n\t\t\t\t\t<td style='width:45%' class='forumheader3'><b><a href='{$LINKTOTHREAD}'>{$row['thread_name']}</a></b> <span class='smalltext'>(<a href='{$LINKTOFORUM}'>{$row['forum_name']}</a>)</span></td>\n\t\t\t\t\t<td style='width:15%; text-align:center' class='forumheader3'>{$POSTER}</td>\n\t\t\t\t\t<td style='width:5%; text-align:center' class='forumheader3'>{$row['thread_views']}</td>\n\t\t\t\t\t<td style='width:5%; text-align:center' class='forumheader3'>{$row['thread_total_replies']}</td>\n\t\t\t\t\t<td style='width:25%; text-align:center' class='forumheader3'>{$LASTPOST}</td>\n\t\t\t\t\t</tr>\n"; } $text .= "</table>\n</div>"; $ftotal = $sql->count('forum_thread', '(*)', 'WHERE `thread_parent` = 0'); $parms = "{$ftotal},{$this->view},{$this->from}," . e_SELF . '?[FROM].active.forum.' . $this->view; $text .= "<div class='nextprev'>" . $tp->parseTemplate("{NEXTPREV={$parms}}") . '</div>'; $ns->tablerender(LAN_7, $text, 'nfp'); } }