Example #1
0
function display_topic($forum, $topic_id, $content_only = 1)
{
    global $db, $myts, $xoopsUser, $xoopsModule, $forumTable, $meta;
    if ($content_only == 0) {
        include_once XOOPS_ROOT_PATH . "/header.php";
    }
    $q = "select * from " . $forumTable['forums'] . " WHERE forum_id=" . $forum;
    $result = $db->query($q);
    $forumdata = $db->fetch_array($result);
    $q = "select * from " . $forumTable['topics'] . " WHERE topic_id=" . $topic_id;
    $result = $db->query($q);
    $topicdata = $db->fetch_array($result);
    echo "<table border='0' width='100%' cellpadding='5'>";
    echo "<tr><td align='left'>" . newbb_displayImage('f_open') . "&nbsp;&nbsp;<a href='" . $forumPath['url'] . "archive.php'>";
    echo _MD_FORUM_ARCHIVE . "</a>";
    if ($forumdata['parent_forum'] == 0) {
        echo "<br />&nbsp;&nbsp;&nbsp;" . newbb_displayImage('f_open') . "&nbsp;&nbsp;<a href='archive.php?forum={$forum}'>" . $myts->htmlSpecialChars($forumdata['forum_name']) . "</a>";
        echo "<br />" . newbb_displayImage('f_content') . "&nbsp;&nbsp;<strong>" . $myts->htmlSpecialChars($topicdata['topic_title']) . "</strong><br />";
    } else {
        $q = "select forum_name from " . $forumTable['forums'] . " WHERE forum_id=" . $forumdata['parent_forum'];
        $row = $db->fetch_array($db->query($q));
        echo "<br />&nbsp;&nbsp;&nbsp;" . newbb_displayImage('f_open') . "&nbsp;&nbsp;<a href='" . $forumPath['url'] . "archive.php?forum=" . $forumdata['parent_forum'] . "'>" . $myts->htmlSpecialChars($row['forum_name']) . "</a>";
        echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" . newbb_displayImage('f_open') . "&nbsp;&nbsp;<a href='archive.php?forum={$forum}'>" . $myts->htmlSpecialChars($forumdata['forum_name']) . "</a>";
        echo "<br />&nbsp;&nbsp;&nbsp;" . newbb_displayImage('f_content') . "&nbsp;&nbsp;<strong>" . $myts->htmlSpecialChars($topicdata['topic_title']) . "</strong><br />";
    }
    echo "</td></tr></table><br />";
    // =============== LINK HEADER ===============
    echo "<table border='0' width='640' cellpadding='5' cellspacing='0' bgcolor='#FFFFFF' align=center><tr><td>";
    echo "<h3>" . _MD_FORUM . " : " . $forumdata['forum_name'] . "</h3>";
    echo "<h3>" . _MD_SUBJECT . " : " . $topicdata['topic_title'] . "</h3>";
    echo "<i><strong>" . $meta['copyright'] . "<br /><a href=" . XOOPS_URL . ">" . XOOPS_URL . "</a>\r\n<br /><br />" . _MD_PRINT_TOPIC_LINK . "<br />\r\n<a href='" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/viewtopic.php?topic_id={$topic_id}&amp;forum={$forum}'>" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/viewtopic.php?topic_id={$topic_id}&amp;forum={$forum}</a>\r\n</strong></i><br /><br />";
    // ============= END LINK HEADER =============
    $forumpost = new ForumPosts();
    $forumpost->setOrder("post_time ASC");
    $forumpost->setTopicId($topic_id);
    $forumpost->setParent(0);
    $postsArray = $forumpost->getAllPosts();
    $count = 0;
    echo "<table border='0' width='100%' cellpadding='5' cellspacing='0' bgcolor='#FFFFFF'><tr><td>";
    foreach ($postsArray as $obj) {
        if (!($count % 2)) {
            $row_color = 1;
        } else {
            $row_color = 2;
        }
        echo "<tr><td>";
        $forumpost->setType($obj->type);
        $obj->showPostForPrint($order);
        $count++;
        echo "</td></tr>";
    }
    echo "</table>";
    echo "</td></tr></table>";
    if ($content_only == 0) {
        include_once XOOPS_ROOT_PATH . "/footer.php";
    }
}
                $post_image = '<a name="' . $eachpost->postid() . '"><img src="' . XOOPS_URL . '/images/icons/posticon.gif" alt="" /></a>';
            }
            $xoopsTpl->append('topic_posts', array_merge($posterarr, array('post_id' => $eachpost->postid(), 'post_parent_id' => $eachpost->parent(), 'post_date' => formatTimestamp($eachpost->posttime(), 'm'), 'post_poster_ip' => $eachpost->posterip(), 'post_image' => $post_image, 'post_title' => $eachpost->subject(), 'post_text' => $post_text, 'can_edit' => @$can_edit, 'can_delete' => @$can_delete, 'can_reply' => @$can_reply)));
        }
        $newObjArr[$key1]['obj'] = $eachpost;
        $key2 = $eachpost->parent();
        $newObjArr[$key2]['replies'][] = $key1;
        $newObjArr[$key2]['leaf'] = $key1;
    }
    xhnewbb_show_tree($newObjArr, $post_id);
    $xoopsTpl->assign(array('lang_subject' => _MD_XHNEWBB_SUBJECT, 'lang_date' => _MD_XHNEWBB_DATE));
} else {
    // FLAT MODE
    $xoopsTpl->assign(array('topic_viewmode' => 'flat', 'lang_top' => _MD_XHNEWBB_TOP, 'lang_subject' => _MD_XHNEWBB_SUBJECT, 'lang_bottom' => _MD_XHNEWBB_BOTTOM));
    $xoopsTpl->assign('topic_order', $order);
    $postsArray = ForumPosts::getAllPosts($topic_id, $order, $forumdata['posts_per_page'], $start, $post_id);
    $foundusers = array();
    foreach ($postsArray as $eachpost) {
        $post_text = $eachpost->text();
        $posterarr = array();
        if (0 != $eachpost->uid()) {
            if (!isset($foundusers['user' . $eachpost->uid()])) {
                $eachposter = new XoopsUser($eachpost->uid());
                $foundusers['user' . $eachpost->uid()] =& $eachposter;
            } else {
                $eachposter =& $foundusers['user' . $eachpost->uid()];
            }
            $poster_rank = $eachposter->rank();
            if (!empty($poster_rank['image'])) {
                $poster_rank['image'] = '<img src="' . XOOPS_UPLOAD_URL . '/' . $poster_rank['image'] . '" alt="" />';
            }