function parse_forum($f, $restricted_string = '') { global $FORUM_MAIN_FORUM, $gen, $forum, $newflag_list, $forumList; $fVars = new e_vars(); $e107 = e107::getInstance(); $tp = e107::getParser(); if (USER && is_array($newflag_list) && in_array($f['forum_id'], $newflag_list)) { $fVars->NEWFLAG = "<a href='" . $e107->url->create('forum/forum/mfar', $f) . "'>" . IMAGE_new . '</a>'; } else { $fVars->NEWFLAG = IMAGE_nonew; } if (substr($f['forum_name'], 0, 1) == '*') { $f['forum_name'] = substr($f['forum_name'], 1); } $f['forum_name'] = $tp->toHTML($f['forum_name'], true, 'no_hook'); $f['forum_description'] = $tp->toHTML($f['forum_description'], true, 'no_hook'); //$url= $e107->url->create('forum/forum/view', $f); $url = e107::url('forum', 'forum', $f); $fVars->FORUMNAME = "<a href='" . $url . "'>{$f['forum_name']}</a>"; $fVars->FORUMDESCRIPTION = $f['forum_description'] . ($restricted_string ? "<br /><span class='smalltext'><i>{$restricted_string}</i></span>" : ""); $fVars->THREADS = $f['forum_threads']; $fVars->REPLIES = $f['forum_replies']; $fVars->FORUMSUBFORUMS = ''; $badgeReplies = $f['forum_replies'] ? "badge-info" : ""; $badgeThreads = $f['forum_threads'] ? "badge-info" : ""; $fVars->THREADSX = "<span class='badge {$badgeThreads}'>" . $f['forum_threads'] . "</span>"; $fVars->REPLIESX = "<span class='badge {$badgeReplies}'>" . $f['forum_replies'] . "</span>"; if (is_array($forumList['subs'][$f['forum_id']])) { list($lastpost_datestamp, $lastpost_thread) = explode('.', $f['forum_lastpost_info']); $ret = parse_subs($forumList, $f['forum_id'], $lastpost_datestamp); $fVars->FORUMSUBFORUMS = "<br /><div class='smalltext'>" . LAN_FORUM_0069 . ": {$ret['text']}</div>"; $fVars->THREADS += $ret['threads']; $fVars->REPLIES += $ret['replies']; if (isset($ret['lastpost_info'])) { $f['forum_lastpost_info'] = $ret['lastpost_info']; $f['forum_lastpost_user'] = $ret['lastpost_user']; $f['forum_lastpost_user_anon'] = $ret['lastpost_user_anon']; $f['user_name'] = $ret['user_name']; } } if ($f['forum_lastpost_info']) { list($lastpost_datestamp, $lastpost_thread) = explode('.', $f['forum_lastpost_info']); if ($f['user_name']) { $lastpost_name = "<a href='" . $e107->url->create('user/profile/view', array('name' => $f['user_name'], 'id' => $f['forum_lastpost_user'])) . "'>{$f['user_name']}</a>"; } else { $lastpost_name = $tp->toHTML($f['forum_lastpost_user_anon']); } $lastpost = $forum->threadGetLastpost($lastpost_thread); //XXX TODO inefficient to have SQL query here. $fVars->LASTPOSTUSER = $lastpost_name; // {forum_sef}/{thread_id}-{thread_sef} $urlData = array('forum_sef' => $f['forum_sef'], 'thread_id' => $lastpost['post_thread'], 'thread_sef' => $lastpost['thread_sef']); $url = e107::url('forum', 'topic', $urlData) . "?last=1#post-" . $lastpost['post_id']; $fVars->LASTPOSTDATE .= "<a href='" . $url . "'>" . $gen->computeLapse($lastpost_datestamp, time(), false, false, 'short') . "</a>"; $lastpost_datestamp = $gen->convert_date($lastpost_datestamp, 'forum'); $fVars->LASTPOST = $lastpost_datestamp . '<br />' . $lastpost_name . " <a href='" . $e107->url->create('forum/thread/last', array('name' => $lastpost_name, 'id' => $lastpost_thread)) . "'>" . IMAGE_post2 . '</a>'; } else { $fVars->LASTPOSTUSER = ""; $fVars->LASTPOSTDATE = "-"; $fVars->LASTPOST = '-'; } return $tp->simpleParse($FORUM_MAIN_FORUM, $fVars); }
function parse_forum($f, $restricted_string = '') { global $FORUM_MAIN_FORUM, $gen, $forum, $newflag_list, $forumList; $fVars = new e_vars(); $e107 = e107::getInstance(); if (USER && is_array($newflag_list) && in_array($f['forum_id'], $newflag_list)) { $fVars->NEWFLAG = "<a href='" . $e107->url->create('forum/forum/mfar', $f) . "'>" . IMAGE_new . '</a>'; } else { $fVars->NEWFLAG = IMAGE_nonew; } if (substr($f['forum_name'], 0, 1) == '*') { $f['forum_name'] = substr($f['forum_name'], 1); } $f['forum_name'] = $e107->tp->toHTML($f['forum_name'], true, 'no_hook'); $f['forum_description'] = $e107->tp->toHTML($f['forum_description'], true, 'no_hook'); $fVars->FORUMNAME = "<a href='" . $e107->url->create('forum/forum/view', $f) . "'>{$f['forum_name']}</a>"; $fVars->FORUMDESCRIPTION = $f['forum_description'] . ($restricted_string ? "<br /><span class='smalltext'><i>{$restricted_string}</i></span>" : ""); $fVars->THREADS = $f['forum_threads']; $fVars->REPLIES = $f['forum_replies']; $fVars->FORUMSUBFORUMS = ''; if (is_array($forumList['subs'][$f['forum_id']])) { list($lastpost_datestamp, $lastpost_thread) = explode('.', $f['forum_lastpost_info']); $ret = parse_subs($forumList['subs'][$f['forum_id']], $lastpost_datestamp); $fVars->FORUMSUBFORUMS = "<br /><div class='smalltext'>" . FORLAN_444 . ": {$ret['text']}</div>"; $fVars->THREADS += $ret['threads']; $fVars->REPLIES += $ret['replies']; if (isset($ret['lastpost_info'])) { $f['forum_lastpost_info'] = $ret['lastpost_info']; $f['forum_lastpost_user'] = $ret['lastpost_user']; $f['forum_lastpost_user_anon'] = $ret['lastpost_user_anon']; $f['user_name'] = $ret['user_name']; } } if ($f['forum_lastpost_info']) { list($lastpost_datestamp, $lastpost_thread) = explode('.', $f['forum_lastpost_info']); if ($f['user_name']) { $lastpost_name = "<a href='" . $e107->url->create('user/profile/view', array('name' => $f['user_name'], 'id' => $f['forum_lastpost_user'])) . "'>{$f['user_name']}</a>"; } else { $lastpost_name = $e107->tp->toHTML($f['forum_lastpost_user_anon']); } $lastpost_datestamp = $gen->convert_date($lastpost_datestamp, 'forum'); $fVars->LASTPOST = $lastpost_datestamp . '<br />' . $lastpost_name . " <a href='" . $e107->url->create('forum/thread/last', array('name' => $lastpost_name, 'id' => $lastpost_thread)) . "'>" . IMAGE_post2 . '</a>'; } else { $fVars->LASTPOST = '-'; } return $e107->tp->simpleParse($FORUM_MAIN_FORUM, $fVars); }