function mod_clubs($mod, $cfg) { $cfg = array_merge(array( 'count' => 5, 'type' => 'id', 'vip_on_top' => 1 ), $cfg); if ($cfg['vip_on_top']) { cmsCore::c('db')->orderBy('is_vip', 'DESC, c.'. $cfg['type'] .' DESC'); } else { cmsCore::c('db')->orderBy('c.'. $cfg['type'], 'DESC'); } cmsCore::c('db')->limit($cfg['count']); $clubs = cmsCore::m('clubs')->getClubs(); if (!$clubs) { return false; } cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('clubs', $clubs)-> display(); return true; }
function search_blogs($query, $look) { global $_LANG; $sql = "SELECT con.*, cat.title cat_title, cat.id cat_id, cat.owner owner, cat.user_id user_id, cat.seolink as bloglink, img.fileurl FROM cms_blog_posts con INNER JOIN cms_blogs cat ON cat.id = con.blog_id AND cat.allow_who = 'all' AND cat.owner = 'user' LEFT JOIN cms_upload_images img ON img.target_id = con.id AND img.target = 'blog_post' AND img.component = 'blogs' WHERE MATCH(con.title, con.content) AGAINST ('". $query ."' IN BOOLEAN MODE) AND con.published = 1 LIMIT 100"; $result = cmsCore::c('db')->query($sql); if (cmsCore::c('db')->num_rows($result)) { while($item = cmsCore::c('db')->fetch_assoc($result)) { $result_array = array( 'link' => cmsCore::m('blogs')->getPostURL($item['bloglink'], $item['seolink']), 'place' => $_LANG['BLOG'].' «'.$item['cat_title'].'»', 'placelink' => cmsCore::m('blogs')->getBlogURL($item['bloglink']), 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['content_html']), 'title' => $item['title'], 'imageurl' => $item['fileurl'], 'pubdate' => $item['pubdate'] ); cmsCore::m('search')->addResult($result_array); } } return; }
function mod_category($mod, $cfg) { $cfg = array_merge( array( 'category_id' => 0, 'show_subcats' => 1, 'expand_all' => 1 ), $cfg ); $rootcat = cmsCore::c('db')->getNsCategory('cms_category', $cfg['category_id']); if (!$rootcat) { return false; } $subcats_list = cmsCore::m('content')->getSubCats($rootcat['id'], $cfg['show_subcats'], $rootcat['NSLeft'], $rootcat['NSRight']); if (!$subcats_list) { return false; } $current_seolink = urldecode(cmsCore::request('seolink', 'str', '')); cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('cfg', $cfg)-> assign('current_seolink', $current_seolink)-> assign('subcats_list', $subcats_list)-> display(); return true; }
function search_catalog($query, $look) { $sql = "SELECT i.*, c.title as cat, c.id as cat_id FROM cms_uc_items i INNER JOIN cms_uc_cats c ON c.id = i.category_id AND c.published = 1 WHERE MATCH(i.title, i.fieldsdata) AGAINST ('". $query ."' IN BOOLEAN MODE) AND i.published = 1 LIMIT 100"; $result = cmsCore::c('db')->query($sql); if (cmsCore::c('db')->num_rows($result)) { while($item = cmsCore::c('db')->fetch_assoc($result)) { $result_array = array( 'link' => '/catalog/item'. $item['id'] .'.html', 'place' => $item['cat'], 'placelink' => '/catalog/'. $item['cat_id'], 'title' => $item['title'], 'imageurl' => (file_exists(PATH .'/images/catalog/medium/'. $item['imageurl']) ? '/images/catalog/medium/'. $item['imageurl'] : ''), 'pubdate' => $item['pubdate'] ); cmsCore::m('search')->addResult($result_array); } } return; }
function search_faq($query, $look) { global $_LANG; $sql = "SELECT con.*, cat.title cat_title, cat.id cat_id FROM cms_faq_quests con INNER JOIN cms_faq_cats cat ON cat.id = con.category_id AND cat.published = 1 WHERE MATCH(con.quest, con.answer) AGAINST ('". $query ."' IN BOOLEAN MODE) AND con.published = 1 LIMIT 100"; $result = cmsCore::c('db')->query($sql); if (cmsCore::c('db')->num_rows($result)) { cmsCore::loadLanguage('components/faq'); while($item = cmsCore::c('db')->fetch_assoc($result)) { $result_array = array( 'link' => '/faq/quest'. $item['id'] .'.html', 'place' => $_LANG['FAQ'] .' → '. $item['cat_title'], 'placelink' => '/faq/'. $item['cat_id'], 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['answer']), 'title' => mb_substr($item['quest'], 0, 70) .'...', 'pubdate' => $item['pubdate'] ); cmsCore::m('search')->addResult($result_array); } } return; }
function search_content($query, $look) { global $_LANG; $sql = "SELECT con.*, cat.title cat_title, cat.id cat_id, cat.seolink as cat_seolink, cat.parent_id as cat_parent_id FROM cms_content con INNER JOIN cms_category cat ON cat.id = con.category_id AND cat.published = 1 WHERE MATCH(con.title, con.content) AGAINST ('". $query ."' IN BOOLEAN MODE) AND con.is_end = 0 AND con.published = 1 LIMIT 100"; $result = cmsCore::c('db')->query($sql); if (cmsCore::c('db')->num_rows($result)) { cmsCore::loadLanguage('components/content'); while ($item = cmsCore::c('db')->fetch_assoc($result)) { $result_array = array( 'link' => '/'. $item['seolink'] .'.html', 'place' => $_LANG['CATALOG_ARTICLES'], 'placelink' => '/'. ($item['cat_parent_id']>0 ? $item['cat_seolink'] : $item['seolink'] .'.html'), 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['content']), 'title' => $item['title'], 'imageurl' => (file_exists(PATH .'/images/content/medium/'. ceil($item['id']/100) .'/article'. $item['id' ] .'.jpg') ? '/images/content/medium/'. ceil($item['id']/100) .'/article'. $item['id' ] .'.jpg' : ''), 'pubdate' => $item['pubdate'] ); cmsCore::m('search')->addResult($result_array); } } return; }
function search_photos($query, $look) { $sql = "SELECT f.*, a.title as cat, a.id as cat_id FROM cms_photo_files f INNER JOIN cms_photo_albums a ON a.id = f.album_id AND a.published = 1 AND a.NSDiffer = '' WHERE MATCH(f.title, f.description) AGAINST ('". $query ."' IN BOOLEAN MODE) AND f.published = 1"; $result = cmsCore::c('db')->query($sql); if (cmsCore::c('db')->num_rows($result)) { global $_LANG; cmsCore::loadLanguage('components/photos'); while ($item = cmsCore::c('db')->fetch_assoc($result)) { $result_array = array( 'link' => '/photos/photo'. $item['id'] .'.html', 'place' => $_LANG['PHOTOALBUM'] .' «'. $item['cat'] .'»', 'placelink' => '/photos/'. $item['cat_id'], 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['description']), 'title' => $item['title'], 'imageurl' => (file_exists(PATH .'/images/photos/medium/'. $item['file']) ? '/images/photos/medium/'. $item['file'] : ''), 'pubdate' => $item['pubdate'] ); cmsCore::m('search')->addResult($result_array); } } return; }
function search_board($query, $look) { $sql = "SELECT f.*, f.title as title, a.title as cat, a.id as cat_id FROM cms_board_items f INNER JOIN cms_board_cats a ON a.id = f.category_id AND a.published = 1 WHERE MATCH(f.title, f.content) AGAINST ('". $query ."' IN BOOLEAN MODE) AND f.published = 1 LIMIT 100"; $result = cmsCore::c('db')->query($sql); if (cmsCore::c('db')->num_rows($result)) { while($item = cmsCore::c('db')->fetch_assoc($result)) { $result_array = array( 'link' => '/board/read'. $item['id'] .'.html', 'place' => $item['cat'], 'placelink' => '/board/'. $item['cat_id'], 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['content']), 'title' => $item['obtype'] .' '. $item['title'], 'imageurl' => (file_exists(PATH .'/images/board/medium/'. $item['file']) ? '/images/board/medium/'. $item['file'] : ''), 'pubdate' => $item['pubdate'] ); cmsCore::m('search')->addResult($result_array); } } return; }
function rss_content($item_id, $cfg) { if (!cmsCore::getInstance()->isComponentEnable('content')) { return false; } global $_LANG; $channel = array(); $items = array(); if ($item_id) { $cat = cmsCore::c('db')->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; } cmsCore::m('content')->whereThisAndNestedCats($cat['NSLeft'], $cat['NSRight']); $channel['title'] = $cat['title'] ; $channel['description'] = $cat['description']; $channel['link'] = HOST . cmsCore::m('content')->getCategoryURL(0, $cat['seolink']); } else { $channel['title'] = $_LANG['NEW_MATERIALS']; $channel['description'] = $_LANG['LAST_ARTICLES_NEWS']; $channel['link'] = HOST .'/content'; } cmsCore::c('db')->where('con.showlatest = 1'); cmsCore::c('db')->orderBy('con.pubdate', 'DESC'); cmsCore::c('db')->limit($cfg['maxitems']); $content = cmsCore::m('content')->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 . $con['image'])); $con['image'] = HOST . $con['image']; } $items[] = $con; } } return array( 'channel' => $channel, 'items' => $items ); }
function search_clubs($query, $look) { global $_LANG; cmsCore::m('clubs'); /////// поиск по клубным блогам ////////// $sql = "SELECT con.*, cat.title cat_title, cat.id cat_id, cat.owner owner, cat.user_id, img.fileurl FROM cms_blog_posts con INNER JOIN cms_blogs cat ON cat.id = con.blog_id AND cat.allow_who = 'all' AND cat.owner = 'club' LEFT JOIN cms_upload_images img ON img.target_id = con.id AND img.target = 'blog_post' AND img.component = 'clubs' WHERE MATCH(con.title, con.content) AGAINST ('". $query ."' IN BOOLEAN MODE) AND con.published = 1 LIMIT 100"; $result = cmsCore::c('db')->query($sql); if (cmsCore::c('db')->num_rows($result)) { while($item = cmsCore::c('db')->fetch_assoc($result)) { $result_array = array( 'link' => cmsCore::m('clubs')->getPostURL($item['user_id'], $item['seolink']), 'place' => ' «'. $item['cat_title'] .'»', 'placelink' => cmsCore::m('clubs')->getBlogURL($item['user_id']), 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['content_html']), 'title' => $item['title'], 'imageurl' => $item['fileurl'], 'pubdate' => $item['pubdate'] ); cmsCore::m('search')->addResult($result_array); } } /////// поиск по клубным фоткам ////////// $sql = "SELECT f.*, a.title as cat, a.id as cat_id FROM cms_photo_files f INNER JOIN cms_photo_albums a ON a.id = f.album_id AND a.published = 1 AND a.NSDiffer != '' WHERE MATCH(f.title, f.description) AGAINST ('". $query ."' IN BOOLEAN MODE) AND f.published = 1"; $result = cmsCore::c('db')->query($sql); if (cmsCore::c('db')->num_rows($result)) { while($item = cmsCore::c('db')->fetch_assoc($result)) { $result_array = array( 'link' => '/clubs/photo'. $item['id'] .'.html', 'place' => $_LANG['CLUBS_PHOTOALBUM'] .' «'. $item['cat'] .'»', 'placelink' => '/clubs/photoalbum'. $item['cat_id'], 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['description']), 'title' => $item['title'], 'imageurl' => (file_exists(PATH .'/images/photos/medium/'. $item['file']) ? '/images/photos/medium/'. $item['file'] : ''), 'pubdate' => $item['pubdate'] ); cmsCore::m('search')->addResult($result_array); } } return; }
function applet_arhive() { $inCore = cmsCore::getInstance(); global $_LANG; cmsCore::c('page')->setTitle($_LANG['AD_ARTICLES_ARCHIVE']); $cfg = $inCore->loadComponentConfig('content'); $cfg_arhive = $inCore->loadComponentConfig('arhive'); cpAddPathway($_LANG['AD_ARTICLE_SITE'], 'index.php?view=tree'); cpAddPathway($_LANG['AD_ARTICLES_ARCHIVE'], 'index.php?view=arhive'); $do = cmsCore::request('do', 'str', 'list'); $id = cmsCore::request('id', 'int', -1); if ($do == 'saveconfig') { if (!cmsUser::checkCsrfToken()) { cmsCore::error404(); } $cfg['source'] = cmsCore::request('source', 'str', ''); $inCore->saveComponentConfig('arhive', $cfg); cmsCore::addSessionMessage($_LANG['AD_CONFIG_SAVE_SUCCESS'], 'success'); cmsCore::redirect('?view=arhive&do=config'); } if ($do == 'config') { $toolmenu = array(array('icon' => 'folders.gif', 'title' => $_LANG['AD_LIST_OF_ARTICLES'], 'link' => '?view=arhive')); cpToolMenu($toolmenu); cpAddPathway($_LANG['AD_SETTINGS'], 'index.php?view=arhive&do=config'); cmsCore::c('page')->initTemplate('applets', 'arhive')->assign('cfg_arhive', $cfg_arhive)->display(); } if ($do == 'list') { $toolmenu = array(array('icon' => 'config.gif', 'title' => $_LANG['AD_SETTINGS'], 'link' => '?view=arhive&do=config'), array('icon' => 'delete.gif', 'title' => $_LANG['AD_DELETE_SELECTED'], 'link' => "javascript:checkSel('?view=arhive&do=delete&multiple=1');")); cpToolMenu($toolmenu); //TABLE COLUMNS $fields = array(array('title' => 'id', 'field' => 'id', 'width' => '40'), array('title' => $_LANG['AD_CREATE'], 'field' => 'pubdate', 'width' => '80', 'filter' => 15, 'fdate' => '%d/%m/%Y'), array('title' => $_LANG['TITLE'], 'field' => 'title', 'width' => '', 'link' => '?view=content&do=edit&id=%id%', 'filter' => 15), array('title' => $_LANG['AD_PARTITION'], 'field' => 'category_id', 'width' => '150', 'filter' => 1, 'prc' => 'cpCatById', 'filterlist' => cpGetList('cms_category'))); //ACTIONS $actions = array(array('title' => $_LANG['AD_TO_ARTICLES_CATALOG'], 'icon' => 'arhive_off.gif', 'link' => '?view=arhive&do=arhive_off&id=%id%'), array('title' => $_LANG['DELETE'], 'icon' => 'delete.gif', 'link' => '?view=content&do=delete&id=%id%', 'confirm' => $_LANG['AD_DELETE_MATERIALS'])); //Print table cpListTable('cms_content', $fields, $actions, 'is_arhive=1'); } if ($do == 'arhive_off') { if (cmsCore::inRequest('id')) { cmsCore::c('db')->setFlag('cms_content', $id, 'is_arhive', '0'); cmsCore::redirect('?view=arhive'); } } if ($do == 'delete') { if (!cmsCore::inRequest('item')) { if ($id >= 0) { cmsCore::m('content')->deleteArticle($id, $cfg['af_delete']); } } else { cmsCore::m('content')->deleteArticles(cmsCore::request('item', 'array_int'), $cfg['af_delete']); } cmsCore::redirect('?view=arhive'); } }
function mod_forum($mod, $cfg) { $cfg = array_merge(array( 'shownum' => 4, 'cat_id' => 0, 'forum_id' => 0, 'subs' => 0, 'show_hidden' => 0, 'show_pinned' => 0, 'showtext' => 1, 'showforum' => 0, 'order' => 'pubdate' ), $cfg); cmsCore::c('db')->addJoin('INNER JOIN cms_forums f ON f.id = t.forum_id'); cmsCore::c('db')->addSelect('f.title as forum_title'); if ($cfg['cat_id']) { cmsCore::m('forum')->whereForumCatIs($cfg['cat_id']); } if ($cfg['forum_id']) { if ($cfg['subs']) { $forum = cmsCore::m('forum')->getForum($cfg['forum_id']); if (!$forum) { return false; } cmsCore::m('forum')->whereThisAndNestedForum($forum['NSLeft'], $forum['NSRight']); } else { cmsCore::m('forum')->whereForumIs($cfg['forum_id']); } } if (!$cfg['show_hidden']) { cmsCore::m('forum')->wherePublicThreads(); } if ($cfg['show_pinned']) { cmsCore::m('forum')->wherePinnedThreads(); } cmsCore::c('db')->orderBy('t.'.$cfg['order'], 'DESC'); cmsCore::c('db')->limit($cfg['shownum']); $threads = cmsCore::m('forum')->getThreads(); cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('threads', $threads)-> assign('cfg', $cfg)-> display(); return true; }
function applet_tree() { $inCore = cmsCore::getInstance(); cmsCore::loadLib('tags'); global $_LANG; global $adminAccess; if (!cmsUser::isAdminCan('admin/content', $adminAccess)) { cpAccessDenied(); } cmsCore::c('page')->setTitle($_LANG['AD_ARTICLES']); cpAddPathway($_LANG['AD_ARTICLES'], 'index.php?view=tree'); cmsCore::c('page')->addHeadJS('admin/js/content.js'); echo '<script>'; echo cmsPage::getLangJS('AD_NO_SELECTED_ARTICLES'); echo cmsPage::getLangJS('AD_DELETE_SELECTED_ARTICLES'); echo cmsPage::getLangJS('AD_PIECES'); echo cmsPage::getLangJS('AD_CATEGORY_DELETE'); echo cmsPage::getLangJS('AD_AND_SUB_CATS'); echo cmsPage::getLangJS('AD_DELETE_SUB_ARTICLES'); echo '</script>'; $do = cmsCore::request('do', 'str', 'tree'); if ($do == 'tree') { $toolmenu = array(array('icon' => 'config.gif', 'title' => $_LANG['AD_SETUP_CATEGORY'], 'link' => '?view=components&do=config&link=content'), array('icon' => 'help.gif', 'title' => $_LANG['AD_HELP'], 'link' => '?view=components&do=config&link=content')); cpToolMenu($toolmenu); $only_hidden = cmsCore::request('only_hidden', 'int', 0); $category_id = cmsCore::request('cat_id', 'int', 0); $base_uri = 'index.php?view=tree'; $title_part = cmsCore::request('title', 'str', ''); $def_order = $category_id ? 'con.ordering' : 'pubdate'; $orderby = cmsCore::request('orderby', 'str', $def_order); $orderto = cmsCore::request('orderto', 'str', 'asc'); $page = cmsCore::request('page', 'int', 1); $perpage = 20; if ($category_id) { cmsCore::m('content')->whereCatIs($category_id); } if ($title_part) { cmsCore::c('db')->where('LOWER(con.title) LIKE \'%' . mb_strtolower($title_part) . '%\''); } if ($only_hidden) { cmsCore::c('db')->where('con.published = 0'); } cmsCore::c('db')->orderBy($orderby, $orderto); cmsCore::c('db')->limitPage($page, $perpage); $total = cmsCore::m('content')->getArticlesCount(false); cmsCore::c('page')->initTemplate('applets', 'tree')->assign('hide_cats', cmsCore::request('hide_cats', 'int', 0))->assign('only_hidden', $only_hidden)->assign('base_uri', $base_uri)->assign('category_id', $category_id)->assign('cats', cmsCore::m('content')->getCatsTree())->assign('orderto', $orderto)->assign('orderby', $orderby)->assign('title_part', $title_part)->assign('category_opt', $inCore->getListItemsNS('cms_category', $category_id))->assign('page', $page)->assign('total', $total)->assign('perpage', $perpage)->assign('pages', ceil($total / $perpage))->assign('items', cmsCore::m('content')->getArticlesList(false))->display(); } }
function banners(){ $inCore = cmsCore::getInstance(); $banner_id = cmsCore::request('id', 'int', 0); //======================================================================================================================// if ($inCore->do == 'view'){ $banner = cmsCore::m('banners')->getBanner($banner_id); if(!$banner || !$banner['published']) { cmsCore::error404(); } cmsCore::m('banners')->clickBanner($banner_id); cmsCore::redirect($banner['link']); } }
function mod_blogs($mod, $cfg) { $cfg = array_merge( array( 'sort' => 'pubdate', 'owner' => 'user', 'shownum' => 5, 'minrate' => 0, 'blog_id' => 0, 'showrss' => 1 ), $cfg ); cmsCore::c('blog')->owner = $cfg['owner']; if ($cfg['owner'] == 'club') { cmsCore::c('db')->addSelect('b.user_id as bloglink'); } // получаем аватары владельцев cmsCore::c('db')->addSelect('up.imageurl, img.fileurl'); cmsCore::c('db')->addJoin('LEFT JOIN cms_user_profiles up ON up.user_id = u.id'); cmsCore::c('db')->addJoin("LEFT JOIN cms_upload_images img ON img.target_id = p.id AND img.target = 'blog_post' AND img.component = 'blogs'"); cmsCore::c('blog')->whereOnlyPublic(); if ($cfg['minrate']) { cmsCore::c('blog')->ratingGreaterThan($cfg['minrate']); } if ($cfg['blog_id']) { cmsCore::c('blog')->whereBlogIs($cfg['blog_id']); } cmsCore::c('db')->orderBy('p.'.$cfg['sort'], 'DESC')->groupBy('p.id'); cmsCore::c('db')->limit($cfg['shownum']); $posts = cmsCore::c('blog')->getPosts(false, cmsCore::m( $cfg['owner'] == 'club' ? 'clubs' : 'blogs' )); if (!$posts) { return false; } cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('posts', $posts)-> assign('cfg', $cfg)-> display(); return true; }
function sphinx_add_result_clubs($items) { global $_LANG; cmsCore::m('clubs'); $search_model = cms_model_search::initModel(); foreach ($items as $id => $item) { $result_array = array( 'link' => cmsCore::m('clubs')->getPostURL($item['attrs']['user_id'], $item['attrs']['seolink']), 'place' => ' «'. $item['attrs']['cat_title'] .'»', 'placelink' => cmsCore::m('clubs')->getBlogURL($item['attrs']['user_id']), 'description' => $search_model->getProposalWithSearchWord($item['attrs']['content_html']), 'title' => $item['attrs']['title'], 'imageurl' => $item['fileurl'], 'pubdate' => date('Y-m-d H:i:s', $item['attrs']['pubdate']) ); $search_model->addResult($result_array); } /////// поиск по клубным фоткам ////////// $cl = new SphinxClient(); $cl->SetServer('127.0.0.1', 9312); $cl->SetMatchMode(SPH_MATCH_EXTENDED2); $cl->SetLimits(0, 100); $result = $cl->Query($search_model->against, $search_model->config['Sphinx_Search']['prefix'] .'_clubs_photos'); if ($result !== false) { foreach ($result['matches'] as $id => $item) { $result_array = array( 'link' => '/clubs/photo'. $id .'.html', 'place' => $_LANG['CLUBS_PHOTOALBUM'] .' «'. $item['attrs']['cat_title'] .'»', 'placelink' => '/clubs/photoalbum'. $item['attrs']['cat_id'], 'description' => $search_model->getProposalWithSearchWord($item['attrs']['description']), 'title' => $item['attrs']['title'], 'imageurl' => (file_exists(PATH .'/images/photos/medium/'. $item['attrs']['file']) ? '/images/photos/medium/'. $item['attrs']['file'] : ''), 'pubdate' => date('Y-m-d H:i:s', $item['attrs']['pubdate']) ); $search_model->addResult($result_array); } } return; }
public function viewTab($user_id) { cmsCore::m('content')->whereUserIs($user_id); $total = cmsCore::m('content')->getArticlesCount(); cmsCore::c('db')->orderBy('con.pubdate', 'DESC'); cmsCore::c('db')->limitPage(1, (int)$this->config['PU_LIMIT']); $content_list = $total ? cmsCore::m('content')->getArticlesList() : array(); cmsCore::c('db')->resetConditions(); return cmsPage::initTemplate('plugins', 'p_usertab')-> assign('total', $total)-> assign('articles', $content_list)-> fetch(); }
function mod_arhive($mod, $cfg) { cmsCore::m('arhive')->whereThisAndNestedCats(cmsCore::getArrVal($cfg, 'cat_id', 0)); if (cmsCore::m('arhive')->year != 'all') { cmsCore::m('arhive')->whereYearIs(); } $items = cmsCore::m('arhive')->getArhiveContent(); if (!$items) { return false; } cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('arhives', $items)-> assign('date', array('year'=>cmsCore::m('arhive')->year,'month'=>cmsCore::m('arhive')->month,'day'=>cmsCore::m('arhive')->day))-> display(); return true; }
function mod_latest($mod, $cfg) { $cfg = array_merge(array( 'showrss' => 1, 'subs' => 1, 'cat_id' => 1, 'newscount'=> 5, 'is_pag' => 0, 'page' => 1 ),$cfg); if ($cfg['cat_id']) { if (!$cfg['subs']) { //выбираем из категории cmsCore::m('content')->whereCatIs($cfg['cat_id']); } else { //выбираем из категории и подкатегорий $rootcat = cmsCore::c('db')->getNsCategory('cms_category', $cfg['cat_id']); if (!$rootcat) { return false; } cmsCore::m('content')->whereThisAndNestedCats($rootcat['NSLeft'], $rootcat['NSRight']); } } cmsCore::c('db')->where("con.showlatest = 1"); if ($cfg['is_pag']) { $total = cmsCore::m('content')->getArticlesCount(); } cmsCore::c('db')->orderBy('con.pubdate', 'DESC'); cmsCore::c('db')->limitPage($cfg['page'], $cfg['newscount']); $content_list = cmsCore::m('content')->getArticlesList(); if (!$content_list) { return false; } $pagebar = $cfg['is_pag'] ? cmsPage::getPagebar($total, $cfg['page'], $cfg['newscount'], 'javascript:conPage(%page%, '. $mod['id'] .')') : ''; cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('articles', $content_list)-> assign('pagebar_module', $pagebar)-> assign('module_id', $mod['id'])-> assign('cfg', $cfg)-> display(); return true; }
function sphinx_add_result_catalog($items) { global $_LANG; foreach ($items as $id => $item) { $result_array = array( 'link' => '/catalog/item'. $id .'.html', 'place' => $item['attrs']['cat_title'], 'placelink' => '/catalog/'. $item['attrs']['cat_id'], 'title' => $item['attrs']['title'], 'imageurl' => (file_exists(PATH .'/images/catalog/medium/'. $item['attrs']['imageurl']) ? '/images/catalog/medium/'. $item['attrs']['imageurl'] : ''), 'pubdate' => date('Y-m-d H:i:s', $item['attrs']['pubdate']) ); cmsCore::m('search')->addResult($result_array); } return; }
function mod_polls($mod, $cfg) { if ($cfg['poll_id'] > 0) { $poll = cmsCore::m('polls')->getPoll($cfg['poll_id']); } else { $poll = cmsCore::m('polls')->getPoll(0, 'RAND()'); } if (!$poll) { return false; } cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('poll', $poll)-> assign('is_voted', cmsCore::m('polls')->isUserVoted($poll['id']))-> assign('module_id', $mod['id'])-> assign('cfg', $cfg)-> display(); return true; }
function sphinx_add_result_board($items) { global $_LANG; foreach ($items as $id => $item) { $result_array = array( 'link' => '/board/read'. $id .'.html', 'place' => $item['attrs']['cat_title'], 'placelink' => '/board/'. $item['attrs']['cat_id'], 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['attrs']['content']), 'title' => $item['attrs']['obtype'] .' '. $item['attrs']['title'], 'imageurl' => (file_exists(PATH .'/images/board/medium/'. $item['attrs']['file']) ? '/images/board/medium/'. $item['attrs']['file'] : ''), 'pubdate' => date('Y-m-d H:i:s', $item['attrs']['pubdate']) ); cmsCore::m('search')->addResult($result_array); } return; }
function sphinx_add_result_faq($items) { global $_LANG; cmsCore::loadLanguage('components/faq'); foreach ($items as $id => $item) { $result_array = array( 'link' => '/faq/quest'. $id .'.html', 'place' => $_LANG['FAQ'] .' → '. $item['attrs']['cat_title'], 'placelink' => '/faq/'. $item['attrs']['cat_id'], 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['attrs']['answer']), 'title' => mb_substr($item['attrs']['quest'], 0, 70) .'...', 'pubdate' => date('Y-m-d H:i:s', $item['attrs']['pubdate']) ); cmsCore::m('search')->addResult($result_array); } return; }
function mod_latestboard($mod, $cfg) { $cfg = array_merge(array( 'shownum' => 5, 'onlyvip' => 0, 'butvip' => 0, 'cat_id' => 0, 'subs' => 0 ), $cfg); $inDB = cmsDatabase::getInstance(); if ($cfg['cat_id']) { if (!$cfg['subs']) { cmsCore::m('board')->whereCatIs($cfg['cat_id']); } else { $cat = cmsCore::c('db')->get_fields('cms_board_cats', "id='". $cfg['cat_id'] ."'", 'NSLeft, NSRight'); if (!$cat) { return false; } cmsCore::m('board')->whereThisAndNestedCats($cat['NSLeft'], $cat['NSRight']); } } // только ВИП if($cfg['onlyvip'] && !$cfg['butvip']) { cmsCore::m('board')->whereVip(1); } // кроме ВИП if($cfg['butvip'] && !$cfg['onlyvip']) { cmsCore::m('board')->whereVip(0); } cmsCore::c('db')->orderBy('i.is_vip', 'DESC, i.pubdate DESC'); cmsCore::c('db')->limitPage(1, $cfg['shownum']); $items = cmsCore::m('board')->getAdverts(false, true, false, true); cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('items', $items)-> assign('cfg', $cfg)-> display(); return true; }
function sphinx_add_result_blogs($items) { global $_LANG; foreach ($items as $id => $item) { $result_array = array( 'link' => cmsCore::m('blogs')->getPostURL($item['attrs']['bloglink'], $item['attrs']['seolink']), 'place' => $_LANG['BLOG'].' «'.$item['attrs']['cat_title'].'»', 'placelink' => cmsCore::m('blogs')->getBlogURL($item['attrs']['bloglink']), 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['attrs']['content_html']), 'title' => $item['attrs']['title'], 'imageurl' => $item['attrs']['fileurl'], 'pubdate' => date('Y-m-d H:i:s', $item['attrs']['pubdate']) ); cmsCore::m('search')->addResult($result_array); } return; }
function sphinx_add_result_photos($items) { global $_LANG; cmsCore::loadLanguage('components/photos'); foreach ($items as $id => $item) { $result_array = array( 'link' => '/photos/photo'. $id .'.html', 'place' => $_LANG['PHOTOALBUM'] .' «'. $item['attrs']['cat_title'] .'»', 'placelink' => '/photos/'. $item['attrs']['cat_id'], 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['attrs']['description']), 'title' => $item['attrs']['title'], 'imageurl' => (file_exists(PATH .'/images/photos/medium/'. $item['attrs']['file']) ? '/images/photos/medium/'. $item['attrs']['file'] : ''), 'pubdate' => date('Y-m-d H:i:s', $item['attrs']['pubdate']) ); cmsCore::m('search')->addResult($result_array); } return; }
function sphinx_add_result_content($items) { global $_LANG; cmsCore::loadLanguage('components/content'); foreach ($items as $id => $item) { $result_array = array( 'link' => '/'. $item['attrs']['seolink'] .'.html', 'place' => $_LANG['CATALOG_ARTICLES'], 'placelink' => $item['attrs']['cat_parent_id']>0 ? '/'. $item['attrs']['cat_seolink'] : '/'. $item['attrs']['seolink'] .'.html', 'description' => cmsCore::m('search')->getProposalWithSearchWord($item['attrs']['content']), 'title' => $item['attrs']['title'], 'imageurl' => (file_exists(PATH .'/images/content/medium/'. ceil($id/100) .'/article'. $id .'.jpg') ? '/images/content/medium/'. ceil($id/100) .'/article'. $id .'.jpg' : ''), 'pubdate' => date('Y-m-d H:i:s', $item['attrs']['pubdate']) ); cmsCore::m('search')->addResult($result_array); } return; }
function mod_lastreg($mod, $cfg) { cmsCore::c('db')->orderBy('regdate', 'DESC'); cmsCore::c('db')->limitPage(1, $cfg['newscount']); $users = cmsCore::m('users')->getUsers(); if ($cfg['view_type'] == 'list') { $total_all = cmsUser::getCountAllUsers(); } else { $total_all = 0; } cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('users', $users)-> assign('cfg', $cfg)-> assign('total_all', $total_all)-> assign('total', sizeof($users))-> display(); return true; }
function mod_comments($mod, $cfg) { $cfg = array_merge(array( 'showrss' => 1, 'minrate' => 0, 'showguest' => 0 ), $cfg); if (empty($cfg['targets'])) { return true; } cmsCore::m('comments')->initAccess(); // Комментарии только нужного назначения cmsCore::m('comments')->whereTargetIn($cfg['targets']); // Если не показывать гостей, добавляем условие if (!$cfg['showguest']) { cmsCore::m('comments')->whereOnlyUsers(); } // Администраторам и админам показываем все комментарии if (!(cmsCore::c('user')->is_admin || cmsCore::m('comments')->is_can_moderate)) { cmsCore::m('comments')->whereIsShow(); } // Комментарии в зависимости от рейтинга if ($cfg['minrate'] <> 0) { cmsCore::m('comments')->whereRatingOver($cfg['minrate']); } cmsCore::c('db')->orderBy('c.pubdate', 'DESC'); cmsCore::c('db')->limitPage(1, $cfg['shownum']); $comments = cmsCore::m('comments')->getComments(true, false, true); if (!$comments) { return false; } cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('comments', $comments)-> assign('cfg', $cfg)-> display(); return true; }
function mod_user_rating($mod, $cfg) { $cfg = array_merge(array( 'count' => 20, 'view_type' => 'rating' ), $cfg); if (!in_array($cfg['view_type'], array('karma', 'rating'))) { $cfg['view_type'] = 'rating'; } cmsCore::c('db')->orderBy($cfg['view_type'], 'DESC'); cmsCore::c('db')->limitPage(1, $cfg['count']); $users = cmsCore::m('users')->getUsers(); cmsCore::c('db')->resetConditions(); cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('users', $users)-> assign('cfg', $cfg)-> display(); return true; }