Пример #1
0
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);
}
Пример #2
0
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);
}