/**
  * 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;
 }
Beispiel #2
0
    $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'>&nbsp;</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']}");
Beispiel #3
0
 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'>&nbsp;</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');
     }
 }