function mod_dt_newsslider($module_id, $cfg) { $inDB = cmsDatabase::getInstance(); cmsCore::loadModel('content'); $model = new cms_model_content(); if (!isset($cfg['cat_id'])) { $cfg['cat_id'] = 1; } if ($cfg['cat_id']) { if (!$cfg['subs']) { $model->whereCatIs($cfg['cat_id']); } else { $rootcat = $inDB->getNsCategory('cms_category', $cfg['cat_id']); if (!$rootcat) { return false; } $model->whereThisAndNestedCats($rootcat['NSLeft'], $rootcat['NSRight']); } } $inDB->orderBy('con.ordering', 'ASC'); $inDB->limit($cfg['newscount']); $slider_list = $model->getArticlesList(); if (!$slider_list) { return false; } cmsPage::initTemplate('modules', 'mod_dt_newsslider')->assign('slider', $slider_list)->assign('cfg', $cfg)->assign('module_id', $module_id)->display('mod_dt_newsslider.tpl'); return true; }
function mod_bestcontent($mod, $cfg) { $inDB = cmsDatabase::getInstance(); cmsCore::loadModel('content'); $model = new cms_model_content(); if (!isset($cfg['shownum'])) { $cfg['shownum'] = 5; } if (!isset($cfg['subs'])) { $cfg['subs'] = 1; } if (!isset($cfg['cat_id'])) { $cfg['cat_id'] = 1; } $inDB->where("con.canrate = 1"); if ($cfg['cat_id']) { if (!$cfg['subs']) { //выбираем из категории $model->whereCatIs($cfg['cat_id']); } else { //выбираем из категории и подкатегорий $rootcat = $inDB->getNsCategory('cms_category', $cfg['cat_id']); if (!$rootcat) { return false; } $model->whereThisAndNestedCats($rootcat['NSLeft'], $rootcat['NSRight']); } } $inDB->orderBy('con.rating', 'DESC'); $inDB->limitPage(1, $cfg['shownum']); $content_list = $model->getArticlesList(); cmsPage::initTemplate('modules', $cfg['tpl'])->assign('articles', $content_list)->assign('cfg', $cfg)->display($cfg['tpl']); return true; }
function mod_latest($module_id, $cfg) { $inDB = cmsDatabase::getInstance(); cmsCore::loadModel('content'); $model = new cms_model_content(); if (!isset($cfg['showrss'])) { $cfg['showrss'] = 1; } if (!isset($cfg['subs'])) { $cfg['subs'] = 1; } if (!isset($cfg['cat_id'])) { $cfg['cat_id'] = 1; } if (!isset($cfg['newscount'])) { $cfg['newscount'] = 5; } if (!isset($cfg['is_pag'])) { $cfg['is_pag'] = 0; } if (!isset($cfg['page'])) { $cfg['page'] = 1; } if ($cfg['cat_id']) { if (!$cfg['subs']) { //выбираем из категории $model->whereCatIs($cfg['cat_id']); } else { //выбираем из категории и подкатегорий $rootcat = $inDB->getNsCategory('cms_category', $cfg['cat_id']); if (!$rootcat) { return false; } $model->whereThisAndNestedCats($rootcat['NSLeft'], $rootcat['NSRight']); } } $inDB->where("con.showlatest = 1"); if ($cfg['is_pag']) { $total = $model->getArticlesCount(); } $inDB->orderBy('con.pubdate', 'DESC'); $inDB->limitPage($cfg['page'], $cfg['newscount']); $content_list = $model->getArticlesList(); if (!$content_list) { return false; } $pagebar = $cfg['is_pag'] ? cmsPage::getPagebar($total, $cfg['page'], $cfg['newscount'], 'javascript:conPage(%page%, ' . $module_id . ')') : ''; cmsPage::initTemplate('modules', 'mod_latest')->assign('articles', $content_list)->assign('pagebar_module', $pagebar)->assign('module_id', $module_id)->assign('cfg', $cfg)->display('mod_latest.tpl'); return true; }
function rss_content($item_id, $cfg) { if (!cmsCore::getInstance()->isComponentEnable('content')) { return false; } $inDB = cmsDatabase::getInstance(); global $_LANG; cmsCore::loadModel('content'); $model = new cms_model_content(); $channel = array(); $items = array(); if ($item_id) { $cat = $inDB->getNsCategory('cms_category', (int) $item_id); if (!$cat) { return false; } $cat = cmsCore::callEvent('GET_CONTENT_CAT', $cat); if (!$cat['published']) { return false; } if (!cmsCore::checkUserAccess('category', $cat['id'])) { return false; } $model->whereThisAndNestedCats($cat['NSLeft'], $cat['NSRight']); $channel['title'] = $cat['title']; $channel['description'] = $cat['description']; $channel['link'] = HOST . $model->getCategoryURL(0, $cat['seolink']); } else { $channel['title'] = $_LANG['NEW_MATERIALS']; $channel['description'] = $_LANG['LAST_ARTICLES_NEWS']; $channel['link'] = HOST . '/content'; } $inDB->where("con.showlatest = 1"); $inDB->orderBy('con.pubdate', 'DESC'); $inDB->limit($cfg['maxitems']); $content = $model->getArticlesList(); if ($content) { foreach ($content as $con) { $con['link'] = HOST . $con['url']; $con['comments'] = $con['link'] . '#c'; $con['category'] = $con['cat_title']; if ($con['image']) { $con['size'] = round(filesize(PATH . '/images/photos/small/' . $con['image'])); $con['image'] = HOST . '/images/photos/small/' . $con['image']; } $items[] = $con; } } return array('channel' => $channel, 'items' => $items); }