$viewmode = in_array($viewmode, $valid_modes) ? $viewmode : "flat"; $order = isset($_GET['order']) && in_array(strtoupper($_GET['order']), array("DESC", "ASC")) ? $_GET['order'] : "ASC"; $total_posts = $topic_handler->getPostCount($topic_obj, $status); if ($viewmode == "thread") { $xoopsOption['template_main'] = 'newbb_viewtopic_thread.html'; if (!empty($xoopsModuleConfig["posts_for_thread"]) && $total_posts > $xoopsModuleConfig["posts_for_thread"]) { redirect_header("view.topic.php?topic_id={$topic_id}&viewmode=flat", 2, _MD_EXCEEDTHREADVIEW); exit; } $postsArray = $topic_handler->getAllPosts($topic_obj, $order, $total_posts, $start, 0, $status); } else { $xoopsOption['template_main'] = 'newbb_viewtopic_flat.html'; $postsArray = $topic_handler->getAllPosts($topic_obj, $order, $xoopsModuleConfig['posts_per_page'], $start, $post_id, $status); } $topic_obj->incrementCounter(); newbb_setRead("topic", $topic_id, $topic_obj->getVar("topic_last_post_id")); if (!empty($xoopsModuleConfig['rss_enable'])) { $xoops_module_header .= '<link rel="alternate" type="application/rss+xml" title="' . $xoopsModule->getVar('name') . '-' . $forum_obj->getVar('forum_name') . '" href="' . XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/rss.php?f=' . $forum_obj->getVar("forum_id") . '" />'; } $xoops_pagetitle = $topic_obj->getVar('topic_title') . ' [' . $xoopsModule->getVar('name') . " - " . $forum_obj->getVar('forum_name') . "]"; $xoopsOption['xoops_pagetitle'] = $xoops_pagetitle; $xoopsOption['xoops_module_header'] = $xoops_module_header; include XOOPS_ROOT_PATH . "/header.php"; if ($xoopsTpl->xoops_canUpdateFromFile() && is_dir(XOOPS_THEME_PATH . "/" . $xoopsConfig['theme_set'] . "/templates/" . $xoopsModule->getVar("dirname", "n"))) { $xoopsTpl->assign('newbb_template_path', XOOPS_THEME_PATH . "/" . $xoopsConfig['theme_set'] . "/templates/" . $xoopsModule->getVar("dirname", "n")); } else { $xoopsTpl->assign('newbb_template_path', XOOPS_ROOT_PATH . "/modules/" . $xoopsModule->getVar("dirname", "n") . "/templates"); } $xoopsTpl->assign('xoops_pagetitle', $xoops_pagetitle); $xoopsTpl->assign('xoops_module_header', $xoops_module_header); if ($xoopsModuleConfig['wol_enabled']) {
} newbb_setRead_topic($markvalue, $_GET['forum']); $url = "viewforum.php?" . $page_query; redirect_header($url, 2, $markresult); } $forum_id = intval($_GET['forum']); $type = @intval($_GET['type']); $status = !empty($_GET['status']) && in_array($_GET['status'], array("active", "pending", "deleted", "digest", "unreplied", "unread")) ? $_GET['status'] : ""; $mode = !empty($status) && in_array($status, array("active", "pending", "deleted")) ? 2 : (!empty($_GET['mode']) ? intval($_GET['mode']) : 0); $forum_handler =& xoops_getmodulehandler('forum', 'newbb'); $forum_obj =& $forum_handler->get($forum_id); if (!$forum_handler->getPermission($forum_obj)) { redirect_header("index.php", 2, _NOPERM); exit; } newbb_setRead("forum", $forum_id, $forum_obj->getVar("forum_last_post_id")); $xoops_pagetitle = $forum_obj->getVar('forum_name') . " [" . $xoopsModule->getVar('name') . "]"; if (!empty($xoopsModuleConfig['rss_enable'])) { $xoops_module_header .= '<link rel="alternate" type="application/xml+rss" title="' . $xoopsModule->getVar('name') . '-' . $forum_obj->getVar('forum_name') . '" href="' . XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/rss.php?f=' . $forum_id . '" />'; } $xoopsOption['template_main'] = 'newbb_viewforum.html'; $xoopsOption['xoops_pagetitle'] = $xoops_pagetitle; $xoopsOption['xoops_module_header'] = $xoops_module_header; include XOOPS_ROOT_PATH . "/header.php"; mod_loadFunctions("render", "newbb"); $xoopsTpl->assign('xoops_module_header', $xoops_module_header); $xoopsTpl->assign('xoops_pagetitle', $xoops_pagetitle); $xoopsTpl->assign("forum_id", $forum_id); $isadmin = newbb_isAdmin($forum_obj); $xoopsTpl->assign('viewer_level', $isadmin ? 2 : is_object($xoopsUser)); /* Only admin has access to admin mode */
// Recording last post time $topic_obj =& $topic_handler->get($post_obj->getVar("topic_id")); $uid = is_object($xoopsUser) ? $xoopsUser->getVar('uid') : 0; if (newbb_isAdmin($forum_obj) || $topic_handler->getPermission($forum_obj, $topic_status, 'type') && ($topic_id == 0 || $uid == $topic_obj->getVar('topic_poster'))) { $topic_obj->setVar("type_id", @$_POST["type_id"]); } if (!empty($xoopsModuleConfig['do_tag']) && $post_obj->isTopic()) { $topic_obj->setVar("topic_tags", @$_POST["topic_tags"]); } $topic_handler->insert($topic_obj); // Set read mark if (!empty($isnew)) { require_once XOOPS_ROOT_PATH . "/modules/newbb/include/functions.read.php"; newbb_setRead("topic", $topic_obj->getVar("topic_id"), $postid); if (!$post_obj->getVar("pid")) { newbb_setRead("forum", $forum_obj->getVar('forum_id'), $postid); } } $post_obj->loadFilters(empty($isnew) ? "update" : "insert"); // Define tags for notification message if ($approved && !empty($xoopsModuleConfig['notification_enabled']) && !empty($isnew)) { $tags = array(); $tags['THREAD_NAME'] = $_POST['subject']; $tags['THREAD_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar("dirname", "n") . '/viewtopic.php?post_id=' . $postid; $tags['POST_URL'] = $tags['THREAD_URL']; // . '#forumpost' . $postid; include_once 'include/notification.inc.php'; $forum_info = newbb_notify_iteminfo('forum', $forum_obj->getVar('forum_id')); $tags['FORUM_NAME'] = $forum_info['name']; $tags['FORUM_URL'] = $forum_info['url']; $notification_handler =& xoops_gethandler('notification');