Exemplo n.º 1
0
function mod_latestboard($module_id, $cfg)
{
    $inDB = cmsDatabase::getInstance();
    cmsCore::loadModel('board');
    $model = new cms_model_board();
    if (!isset($cfg['shownum'])) {
        $cfg['shownum'] = 5;
    }
    if (!isset($cfg['onlyvip'])) {
        $cfg['onlyvip'] = 0;
    }
    if (!isset($cfg['butvip'])) {
        $cfg['butvip'] = 0;
    }
    if (@$cfg['cat_id']) {
        if (!@$cfg['subs']) {
            $model->whereCatIs($cfg['cat_id']);
        } else {
            $cat = $inDB->get_fields('cms_board_cats', "id='{$cfg['cat_id']}'", 'NSLeft, NSRight');
            if (!$cat) {
                return false;
            }
            $model->whereThisAndNestedCats($cat['NSLeft'], $cat['NSRight']);
        }
    }
    // только ВИП
    if ($cfg['onlyvip'] && !$cfg['butvip']) {
        $model->whereVip(1);
    }
    // кроме ВИП
    if ($cfg['butvip'] && !$cfg['onlyvip']) {
        $model->whereVip(0);
    }
    $inDB->orderBy('i.is_vip', 'DESC, i.pubdate DESC');
    $inDB->limitPage(1, $cfg['shownum']);
    $items = $model->getAdverts(false, true, false, true);
    cmsPage::initTemplate('modules', 'mod_latestboard')->assign('items', $items)->assign('cfg', $cfg)->display('mod_latestboard.tpl');
    return true;
}