<?php
/**
 * STRESS WEB
 * @author S.T.R.E.S.S.
 * @copyright 2008 - 2012 STRESS WEB
 * @version 13
 * @web http://stressweb.ru
 * @Fix - http://L2Banners.ru
 */
if ( !defined("STRESSWEB") )
    die( "Access denied..." );
if ( !$l2cfg["forum"]["enable"] ) {
    $tpl->SetResult( 'forum' );
} else {
    $mod_forum = $controller->GetCache( 'mod_forum' );
    if ( $mod_forum )
        $tpl->SetResult( 'forum', $mod_forum );
    else {
        if ( empty($l2cfg["forum"]["deny"]) )
            $l2cfg["forum"]["deny"] = "0";
        $fdb = new db( $l2cfg["forum"]["dbhost"], $l2cfg["forum"]["dbuser"], $l2cfg["forum"]["dbpass"], $l2cfg["forum"]["dbname"], $l2cfg["mysql"]["debug"] );
        $fdb->query( "SET NAMES '{$l2cfg["forum"]["dbcoll"]}'" );
        /**
         * =================
         *         IPS
         * =================
         */
        if ( $l2cfg["forum"]["version"] == "ips" ) {
            $fsql = "
        SELECT tid,title,state,last_post,last_poster_id,last_poster_name, approved
        FROM {$l2cfg["forum"]["prefix"]}forums_topics
        WHERE forum_id NOT IN ({$l2cfg["forum"]["deny"]})
        AND approved = 1
        ORDER BY last_post DESC
        LIMIT {$l2cfg["forum"]["count"]}";
            $furl_user = "index.php?showuser=";
            $furl_link = "index.php?showtopic={topic_id}' title='{desc_id}'";
        }
        /**
         * =================
         *         IPB
         * =================
         */
        if ( $l2cfg["forum"]["version"] == "ipb" ) {
            $fsql = "
        SELECT tid,title,description,last_post,last_poster_id,last_poster_name
        FROM {$l2cfg["forum"]["prefix"]}topics
        WHERE forum_id NOT IN ({$l2cfg["forum"]["deny"]})
        ORDER BY last_post DESC
        LIMIT {$l2cfg["forum"]["count"]}";
            $furl_user = "index.php?showuser=";
            $furl_link = "index.php?showtopic={topic_id}' title='{desc_id}'";
        }
        /**
         * =================
         *         phpBB
         * =================
         */
        if ( $l2cfg["forum"]["version"] == "phpbb" ) {
            $fsql = "
        SELECT topic_id,topic_title,forum_id,topic_last_post_time,topic_last_poster_id,topic_last_poster_name
        FROM {$l2cfg["forum"]["prefix"]}topics
        WHERE forum_id NOT IN ({$l2cfg["forum"]["deny"]})
        ORDER BY topic_last_post_time DESC
        LIMIT {$l2cfg["forum"]["count"]}";
            $furl_user = "memberlist.php?mode=viewprofile&u=";
            $furl_link = "viewtopic.php?f={desc_id}&t={topic_id}'";
        }
        /**
         * =================
         *         smf
         * =================
         */
        if ( $l2cfg["forum"]["version"] == "smf" ) {
            $fsql = "
        SELECT id_topic,subject,id_board,poster_time,id_member,poster_name
        FROM {$l2cfg["forum"]["prefix"]}messages
        WHERE id_board NOT IN ({$l2cfg["forum"]["deny"]})
        ORDER BY poster_time DESC
        LIMIT {$l2cfg["forum"]["count"]}";
            $furl_user = "index.php?action=profile;u=";
            $furl_link = "index.php?topic={topic_id}'";
        }
        /**
         * =================
         *         vBulletin
         * =================
         */
        if ( $l2cfg["forum"]["version"] == "vbulletin" ) {
            $fsql = "
        SELECT t.threadid,t.title,t.forumid,t.lastpost,u.userid,t.lastposter
        FROM {$l2cfg["forum"]["prefix"]}thread t
        LEFT JOIN {$l2cfg["forum"]["prefix"]}user u ON t.lastposter = u.username 
        WHERE t.forumid NOT IN ({$l2cfg["forum"]["deny"]})
        ORDER BY t.lastpost DESC
        LIMIT {$l2cfg["forum"]["count"]}";
            $furl_user = "member.php?u=";
            $furl_link = "showthread.php?t={topic_id}'";
        }
        /**
         * =================
         *         XenFoRo
         *      © thx Ream
         * =================
         */
        if ( $l2cfg["forum"]["version"] == "xenforo" ) {
            $fsql = "
        SELECT thread_id,title,node_id,last_post_date,user_id,last_post_username
        FROM {$l2cfg["forum"]["prefix"]}thread
        WHERE node_id NOT IN ({$l2cfg["forum"]["deny"]})
        ORDER BY last_post_date DESC
        LIMIT {$l2cfg["forum"]["count"]}";
            $furl_user = "members/";
            $furl_link = "threads/{topic_id}'";
        }
        /**
         * ----------------------------------------------------------------------------------------
         */
        $fquery = $fdb->query( $fsql );
        while ( list($ftid, $ftitle, $fdesc_id, $flast_post, $flast_poster_id, $flast_poster_name) = $fdb->fetch($fquery) ) {
            if ( strlen($ftitle) > $l2cfg["forum"]["length"] ) {
                $ftitle = iconv( 'UTF-8', 'windows-1251', $ftitle );
                $ftitle = substr( $ftitle, 0, $l2cfg["forum"]["length"] - 3 )."...";
                $ftitle = iconv( 'windows-1251', 'UTF-8', $ftitle );
            }
            $flast_post = date( $l2cfg["forum"]["date"], $flast_post );
            $flast_poster = "<a href='{$l2cfg["forum"]["url"]}/{$furl_user}{$flast_poster_id}' target='_blank'>{$flast_poster_name}</a>";
            $flast_link = "<a href='{$l2cfg["forum"]["url"]}/".$controller->buildString( $furl_link, array("topic_id" => $ftid, "desc_id" => $fdesc_id) )."  target='_blank'>{$ftitle}</a>";
            $tpl->LoadView( 'forum' );
            $tpl->Block( 'main', false );
            $tpl->Block( 'item' );
            $tpl->Set( 'date', $flast_post );
            $tpl->Set( 'author', $flast_poster );
            $tpl->Set( 'link', $flast_link );
            $tpl->Build( 'forum_item' );
        }
        $fdb->close();
        $tpl->LoadView( 'forum' );
        $tpl->Block( 'main' );
        $tpl->Block( 'item', false );
        $tpl->Set( 'item', $tpl->GetResult('forum_item', true) );
        $tpl->Build( "forum" );
        if ( $l2cfg['cache']['enable'] and $l2cfg['cache']['forum'] ) {
            $controller->SetCache( 'mod_forum', $tpl->GetResult('forum'), $l2cfg['cache']['forum'] );
        }
    }
}
?>