Вход Регистрация
Файл: InstantSocial/uploud/modules/mod_latest/ajax/latest.php
Строк: 149
<?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                              //
//                                                                            //
/******************************************************************************/

    
if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') { die(); }
    
header('Content-Type: text/html; charset=windows-1251'); 
    
session_start();

    if (!isset(
$_REQUEST['module_id'])) { die(2); }
    if (!isset(
$_REQUEST['page'])) { die(4); }

    
define("VALID_CMS", 1);
    
define('PATH', $_SERVER['DOCUMENT_ROOT']);

    
// Грузим ядро и классы
    
include(PATH.'/core/cms.php');
    
// Грузим конфиг
    
include(PATH.'/includes/config.inc.php');
    
$inCore = cmsCore::getInstance();

    
define('HOST', 'http://' . $inCore->getHost());
    
    
$inCore->loadClass('config'); 
    
$inCore->loadClass('db'); 
    
$inCore->loadClass('user');
    
$inCore->loadClass('page');
    
$inDB   = cmsDatabase::getInstance();

    
// Подгружаем языковой файл
    
$inCore->loadLanguage('lang');
    
$inCore->loadLanguage('modules/mod_latest');

    
// Грузим шаблонизатор
    
$smarty = $inCore->initSmarty();

    
// Входные данные
    
$page        = $inCore->request('page', 'int', 1);    
    
$module_id    = $inCore->request('module_id', 'int', '');

    
// Грузим конфиг модуля
    
$cfg = $inCore->loadModuleConfig($module_id);
    
// Если пагинация отключена, выходим
    
if (!$cfg['is_pag']) { die(); }

    
$perpage    = $cfg['newscount'];

    if (!isset(
$cfg['showrss'])) { $cfg['showrss'] = 1; }
    if (!isset(
$cfg['subs'])) { $cfg['subs'] = 1; }

    
$today = date("Y-m-d H:i:s");
    
    if (
$cfg['cat_id'] != '-1') {
            if (!
$cfg['subs']){
                
//select from category
                
$catsql = ' AND con.category_id = '.$cfg['cat_id'];
            } else {
                
//select from category and subcategories
                
$rootcat = $inDB->get_fields('cms_category', "id='{$cfg['cat_id']}'", 'NSLeft, NSRight');
                if(!
$rootcat) { exit; }
                
$catsql = "AND (cat.NSLeft >= {$rootcat['NSLeft']} AND cat.NSRight <= {$rootcat['NSRight']})";
            }        
            
$rssid = $cfg['cat_id'];

    } else { 
$catsql = ''; $rssid = 'all'; } 

    
$sql = "SELECT con.*,
                       con.pubdate as fdate,
                       u.nickname as author,
                       u.login as author_login
                       FROM cms_content con
                       LEFT JOIN cms_category cat ON cat.id = con.category_id
                       LEFT JOIN cms_users u ON u.id = con.user_id
                       WHERE con.published = 1 AND con.showlatest = 1 AND con.is_arhive = 0 AND con.pubdate <= '
$today'
                       AND (con.is_end=0 OR (con.is_end=1 AND con.enddate >= '
$today'))
                       "
.$catsql."
                       ORDER BY con.pubdate DESC
                       LIMIT "
.(($page-1)*$perpage).", $perpage";

    
$result = $inDB->query($sql);

    
$is_con = false;

    
// Считаем общее количество материалов
    
$sql_total = "SELECT 1
            FROM cms_content con
            LEFT JOIN cms_category cat ON cat.id = con.category_id
            WHERE con.published = 1 AND con.showlatest = 1 AND con.is_arhive = 0 AND con.pubdate <= '
$today' AND (con.is_end=0 OR (con.is_end=1 AND con.enddate >= '$today')) ".$catsql."";
    
$result_total = $inDB->query($sql_total) ;
    
$total_page = $inDB->num_rows($result_total);

    
// если есть записи выводим их    
    
if ($total_page){

        
$is_con = true;

        
// грузим модель компонента контент
        
$inCore->loadModel('content');
        
$model = new cms_model_content();

        
$articles = array();                    
        while(
$con = $inDB->fetch_assoc($result)){
                
$next = sizeof($articles);                
                
$articles[$next]['id']          = $con['id'];
                
$articles[$next]['title']       = $con['title'];
                
$articles[$next]['hits']        = $con['hits'];
                
$articles[$next]['href']        = $model->getArticleURL(null, $con['seolink']);
                
$articles[$next]['author']      = $con['author'];
                
$articles[$next]['authorhref']  = cmsUser::getProfileURL($con['author_login']);
                
$articles[$next]['comments']    = $cfg['showcom'] ? $inCore->getCommentsCount('article', $con['id']) : false;
                
$articles[$next]['date']        = $inCore->dateformat($con['fdate']);
                
$articles[$next]['description'] = $con['description'];
                
$articles[$next]['image']       = (file_exists(PATH.'/images/photos/small/article'.$con['id'].'.jpg') ? 'article'.$con['id'].'.jpg' : '');                
        }
    }

    
// Отдаем в шаблон
    
ob_start();
    
$smarty = $inCore->initSmarty('modules', 'mod_latest.tpl');            
    
$smarty->assign('articles', $articles);
    
$smarty->assign('rssid', $rssid);
    
$smarty->assign('cfg', $cfg);
    
$smarty->assign('is_ajax', true);
    
$smarty->assign('is_con', $is_con);
    
$smarty->assign('module_id', $module_id);
    
$smarty->assign('pagebar_module', cmsPage::getPagebar($total_page, $page, $perpage, 'javascript:conPage(%page%, '.$module_id.')'));
    
$smarty->display('mod_latest.tpl');            
    
$html = ob_get_clean();
    echo 
$html;
?>
Онлайн: 1
Реклама