Вход Регистрация
Файл: InstantSocial/uploud/modules/mod_forum/module.php
Строк: 76
<?php
/******************************************************************************/
//                                                                            //
//                             InstantCMS v1.9                                //
//                        http://www.instantcms.ru/                           //
//                                                                            //
//                   written by InstantCMS Team, 2007-2011                    //
//                produced by InstantSoft, (www.instantsoft.ru)               //
//                                                                            //
//                        LICENSED BY GNU/GPL v2                              //
//                                                                            //
/******************************************************************************/

function mod_forum($module_id){

        
$inCore cmsCore::getInstance();
        
$inDB cmsDatabase::getInstance();

        global 
$_LANG;

        
$cfg $inCore->loadModuleConfig($module_id);
        if (!isset(
$cfg['showtype'])) { $cfg['showtype']='web2'; }
        if (!isset(
$cfg['showforum'])) { $cfg['showforum']='0'; }
        if (!isset(
$cfg['showlink'])) { $cfg['showlink']='0'; }
        if (!isset(
$cfg['forum_id'])) { $cfg['forum_id']='0'; }
        if (!isset(
$cfg['cat_id'])) { $cfg['cat_id']='0'; }
        if (!isset(
$cfg['subs'])) { $cfg['subs'] = 1; }
        if (!isset(
$cfg['show_hidden'])) { $cfg['show_hidden'] = 0; }
        if (!isset(
$cfg['show_pinned'])) { $cfg['show_pinned'] = 0; }
        
$forumcfg $inCore->loadComponentConfig('forum');

        
// категории форумов
        
$cats_sql $cfg['cat_id'] ? "INNER JOIN cms_forum_cats cat ON cat.id = f.category_id AND cat.id = '{$cfg['cat_id']}'" '';

        
// форумы
        
$catsql '';
        if(
$cfg['forum_id']){
            if (!
$cfg['subs']){
                
$catsql " AND t.forum_id = '{$cfg['forum_id']}'";
            } else {
                
$rootcat $inDB->get_fields('cms_forums'"id='{$cfg['forum_id']}'"'NSLeft, NSRight');
                if(!
$rootcat) { return false; }
                
$catsql " AND (f.NSLeft >= {$rootcat['NSLeft']} AND f.NSRight <= {$rootcat['NSRight']})";
            }
        }

        
$where  '';
        
$where .= $cfg['show_hidden'] ? '1=1' 't.is_hidden = 0';
        
$where .= $cfg['show_pinned'] ? ' AND t.pinned = 1' '';

        
$tsql "SELECT t.id, t.forum_id, t.user_id, t.title, t.description, t.description, t.pubdate, t.hits, t.closed, t.pinned, f.id as fid, f.title as forum,
                        u.id as uid, u.nickname as starter, u.login as login
                        FROM cms_forum_threads t
                        INNER JOIN cms_forums f ON f.id = t.forum_id 
{$catsql}
                        
{$cats_sql}
                        INNER JOIN cms_users u ON u.id = t.user_id
                        WHERE 
{$where}
                        ORDER BY t.pubdate DESC
                        LIMIT "
.$cfg['shownum'];
        
        
$result $inDB->query($tsql) ;
        
        if (!
$inDB->num_rows($result)){ echo '<p>'.$_LANG['FORUM_NOT_THREAD'].'</p>'; return; }

        include_once(
PATH.'/components/forum/includes/forumcore.php');

        
$threads = array();

        while (
$t $inDB->fetch_assoc($result)){

            
$t['postsnum'] = $inDB->rows_count('cms_forum_posts'"thread_id = '{$t['id']}'");
            
$pages ceil($t['postsnum'] / $forumcfg['pp_thread']);
            
$lastmessage threadLastMessageData($t['id']);

            
$t['date']         = $lastmessage['date'];
            
$t['author']       = $lastmessage['user'];
            
$t['authorhref']   = cmsUser::getProfileURL($lastmessage['login']);
            
$t['starterhref']  = cmsUser::getProfileURL($t['login']);
            
$t['topic']        = ucfirst($t['title']);
            
$t['topicdesc']    = ucfirst($t['description']);
            
$t['topichref']    = '/forum/thread'.$t['id'].'-'.$pages.'.html#'.$lastmessage['id'];
            
$t['forum']        = ucfirst($t['forum']);
            
$t['forumhref']    = '/forum/'.$t['fid'];
            
$t['closed']       = $t['closed'];

            
$t['secret']       = 0;
            if (
$t['auth_group']>0) {
                
$t['secret']   = 1;
            }

            if (
$cfg['showtype'] == 'web2'){
                
$t['msg'] = strip_tags($inCore->parseSmiles($lastmessage['msg'], true));
                if (
strlen($t['msg'])>70) { $t['msg'] = substr($t['msg'], 070).'...'; }
            }

            if (
$t['postsnum']==1) {
                
$t['act'] = $_LANG['FORUM_START_THREAD'];
            } else { 
                
$t['act'] = $_LANG['FORUM_REPLY_THREAD'];
            }
            
$threads[] = $t;
        }
    
        
$smarty $inCore->initSmarty('modules''mod_forum_'.$cfg['showtype'].'.tpl');            
        
$smarty->assign('threads'$threads);
        
$smarty->assign('cfg'$cfg);                
        
$smarty->display('mod_forum_'.$cfg['showtype'].'.tpl');    

        return 
true;    
    }
?>
Онлайн: 0
Реклама