Example #1
0
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;
}
Example #2
0
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;
}
Example #3
0
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;
}
Example #4
0
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;
}
Example #5
0
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;
}
Example #6
0
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;
}
Example #7
0
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;
}
Example #8
0
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;
}
Example #9
0
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
    );
}
Example #10
0
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;
}
Example #11
0
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');
    }
}
Example #12
0
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;
}
Example #13
0
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();
    }
}
Example #14
0
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']);
    }

}
Example #15
0
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;
}
Example #16
0
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' => ' &laquo;'. $item['attrs']['cat_title'] .'&raquo;',
            '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'] .' &laquo;'. $item['attrs']['cat_title'] .'&raquo;',
                '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;
}
Example #17
0
    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();
    }
Example #18
0
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;
}
Example #19
0
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;
}
Example #20
0
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;
}
Example #21
0
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;
}
Example #22
0
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;
}
Example #23
0
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'] .' &rarr; '. $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;
}
Example #24
0
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;
}
Example #25
0
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'].' &laquo;'.$item['attrs']['cat_title'].'&raquo;',
            '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;
}
Example #26
0
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'] .' &laquo;'. $item['attrs']['cat_title'] .'&raquo;',
            '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;
}
Example #27
0
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;
}
Example #28
0
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;
}
Example #29
0
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;
}
Example #30
0
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;
}