Ejemplo n.º 1
0
function applet_robots()
{
    global $_LANG;
    global $adminAccess;
    if (!cmsUser::isAdminCan('admin/robots', $adminAccess)) {
        cpAccessDenied();
    }
    cmsCore::c('page')->setTitle($_LANG['ROBOTS_TITLE']);
    cpAddPathway($_LANG['ROBOTS_TITLE']);
    $do = cmsCore::request('do', array('edit', 'save'), 'edit');
    if (!file_exists(PATH . '/robots.txt')) {
        $fp = fopen(PATH . '/robots.txt', 'w');
        fwrite($fp, str_replace(array('%domen%', '%host%'), array(str_replace(array('https://', 'http://'), '', cmsCore::c('config')->host), cmsCore::c('config')->host), file_get_contents(PATH . '/includes/default_robots.txt')));
        fclose($fp);
        chmod(PATH . '/robots.txt', 0777);
    }
    if ($do == 'save') {
        if (!cmsUser::checkCsrfToken()) {
            cmsCore::error404();
        }
        $data = cmsCore::request('robots', 'str');
        $fp = fopen(PATH . '/robots.txt', 'w');
        fwrite($fp, stripcslashes($data) . "\n");
        fclose($fp);
    }
    $robots = file_get_contents(PATH . '/robots.txt');
    cmsCore::c('page')->initTemplate('applets', 'robots')->assign('robots', $robots)->display();
}
Ejemplo n.º 2
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;
}
Ejemplo n.º 3
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;
}
Ejemplo n.º 4
0
function mod_actions($mod, $cfg) {
    global $_LANG;
    
    if (!isset($cfg['action_types'])) {
        echo $_LANG['MODULE_NOT_CONFIGURED'];
        return true;
    }
    
    $cfg = array_merge(
        array(
            'show_target' => 1,
            'limit' => 15,
            'show_link' => 1
        ),
        $cfg
    );
    
    if (!$cfg['show_target']) {
        cmsCore::c('actions')->showTargets(false);
    }

    cmsCore::c('actions')->onlySelectedTypes($cfg['action_types']);
    cmsCore::c('db')->limitIs($cfg['limit']);
    
    $actions = cmsCore::c('actions')->getActionsLog();
    if (!$actions) { return false; }

    cmsPage::initTemplate('modules', $cfg['tpl'])->
        assign('actions', $actions)->
        assign('cfg', $cfg)->
        assign('user_id', cmsCore::c('user')->id)->
        display();

    return true;
}
Ejemplo n.º 5
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;
}
Ejemplo n.º 6
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;
}
Ejemplo n.º 7
0
    private function parseHide($text, $hidden = false) {
        global $_LANG;

        $pattern = '/\[hide(?:=?)([0-9]*)\](.*?)\[\/hide\]/sui';

        preg_match($pattern, $text, $matches);

        if (!$matches) { return $text; }

        if ($hidden) {
            $replacement = '<noindex>'. $_LANG['P_HIDE_TEXT_MOD'] .'</noindex>';
        } else if (!cmsCore::c('user')->id) {
            $replacement = '<noindex><div class="bb_tag_hide">'. $_LANG['P_HIDE_TEXT'] .'</div></noindex>';
        } else {
            if (!$matches[1]) {
                $replacement = '<div class="bb_tag_hide">${2}</div>';
            } else if (cmsCore::c('user')->rating > $matches[1] || cmsCore::c('user')->is_admin) {
                $replacement = '<div class="bb_tag_hide">${2}</div>';
        } else {
                $replacement = '<div class="bb_tag_hide">'.sprintf($_LANG['P_HIDE_TEXT_RATING'], cmsCore::spellCount($matches[1], $_LANG['P_ITEM1'], $_LANG['P_ITEM2'], $_LANG['P_ITEM10'])).'</div>';
            }
        }
        
        return preg_replace($pattern, $replacement, $text);
    }
Ejemplo n.º 8
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;
}
Ejemplo n.º 9
0
function mod_user_image($mod, $cfg) {
    $sql = "SELECT u.id uid, u.nickname author, u.login as login, p.imageurl, p.title, p.id, pr.gender gender
            FROM cms_user_photos p
            LEFT JOIN cms_users u ON u.id = p.user_id
            LEFT JOIN cms_user_profiles pr ON pr.user_id = u.id
            LEFT JOIN cms_user_albums a ON a.id = p.album_id
            WHERE p.allow_who = 'all' AND u.is_deleted = 0 AND u.is_locked = 0
                  AND p.album_id > 0 AND a.allow_who = 'all'
            ORDER BY RAND()
            LIMIT 1";

    $result = cmsCore::c('db')->query($sql) ;

    if (!cmsCore::c('db')->num_rows($result)) { return false; }

    while ($usr = cmsCore::c('db')->fetch_assoc($result)) {
        $usr['genderlink'] = cmsUser::getGenderLink($usr['uid'], $usr['author'], $usr['gender'], $usr['login']);
        $users[] = $usr;
    }

    cmsPage::initTemplate('modules', $cfg['tpl'])->
        assign('users', $users)->
        assign('cfg', $cfg)->
        display();

    return true;
}
Ejemplo n.º 10
0
function applet_noaccess()
{
    global $_LANG;
    cmsCore::c('page')->setTitle($_LANG['ACCESS_DENIED']);
    cpAddPathway($_LANG['ACCESS_DENIED'], 'index.php?view=noaccess');
    cmsCore::c('page')->initTemplate('applets', 'noaccess')->display();
}
Ejemplo n.º 11
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'] .' &rarr; '. $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;
}
Ejemplo n.º 12
0
function moveField($id, $form_id, $dir) {
    $sign = $dir > 0 ? '+' : '-';

    $current = cmsCore::c('db')->get_field('cms_form_fields', "id='". $id ."'", 'ordering');
    if ($current === false) { return false; }

    if ($dir > 0) {
        $sql = "UPDATE cms_form_fields
                SET ordering = ordering-1
                WHERE form_id='". $form_id ."' AND ordering = (". $current ."+1)
                LIMIT 1";
        cmsCore::c('db')->query($sql);
    }
    
    if ($dir < 0) {
        if ($current == 1) { return false; }

        $sql = "UPDATE cms_form_fields
                SET ordering = ordering+1
                WHERE form_id='". $form_id ."' AND ordering = (". $current ."-1)
                LIMIT 1";
        cmsCore::c('db')->query($sql);
    }

    $sql    = "UPDATE cms_form_fields
               SET ordering = ordering ". $sign ." 1
               WHERE id='". $id ."'";
    cmsCore::c('db')->query($sql);

    return true;
}
Ejemplo n.º 13
0
function applet_filters() {
    global $_LANG;
    
    global $adminAccess;
    
    if (!cmsUser::isAdminCan('admin/plugins', $adminAccess)) { cpAccessDenied(); }
    if (!cmsUser::isAdminCan('admin/filters', $adminAccess)) { cpAccessDenied(); }
    
    cmsCore::c('page')->setTitle($_LANG['AD_FILTERS']);
    cpAddPathway($_LANG['AD_FILTERS'], 'index.php?view=filters');

    $do = cmsCore::request('do', 'str', 'list');
    $id = cmsCore::request('id', 'int', -1);

    if ($do == 'hide') {
        cmsCore::c('db')->setFlag('cms_filters', $id, 'published', '0');
        cmsCore::halt('1');
    }

    if ($do == 'show') {
        cmsCore::c('db')->setFlag('cms_filters', $id, 'published', '1');
        cmsCore::halt('1');
    }

    if ($do == 'list') {
        $fields = array(
            array( 'title' =>  'id', 'field' => 'id', 'width' => '40' ),
            array( 'title' => $_LANG['TITLE'], 'field' => 'title', 'width' => '250' ),
            array( 'title' => $_LANG['DESCRIPTION'], 'field' => 'description', 'width' => '' ),
            array( 'title' => $_LANG['AD_ENABLE'], 'field' => 'published', 'width' => '100' )
        );

        cpListTable('cms_filters', $fields, array());
    }
}
Ejemplo n.º 14
0
    private function eventGetArticle($item) {
        global $_LANG;

        $item_id = $item['id'];
        $tag_arr = explode(', ', cmsTagLine('content', $item_id, false));
        $id_target = array();

        // Получаем id назначения таких же тегов, не более пяти на каждый
        foreach ($tag_arr as $tag) {
            $sql = "SELECT item_id FROM cms_tags WHERE tag = '$tag' AND item_id<>'$item_id' AND target='content' LIMIT 5";
            $rs = cmsCore::c('db')->query($sql) ;
            if (cmsCore::c('db')->num_rows($rs)) {
                while ($tagitem = cmsCore::c('db')->fetch_assoc($rs)) {
                    $id_target[]= $tagitem['item_id'];
                }
            }
        }

        if (count($id_target)) {
            $id_target	= array_unique($id_target);
            $id_target 	= array_slice($id_target, 0, $this->config['P_LIMIT']);
            if ($this->config['P_UNSORT']) { shuffle($id_target); }

            $morecontent = '';
            foreach ($id_target as $n) {
                $con = cmsTagItemLink('content', $n);
                if ($con) {
                    $morecontent .= '<p>'. $con ."</p>";
                }
            }
            if ($morecontent) { $item['content'] .= '<h4>'. $_LANG['P_SIMILAR_ARTICLES'] .':</h4>'. $morecontent; }
        }
        
        return $item;
    }
Ejemplo n.º 15
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'].' &laquo;'.$item['cat_title'].'&raquo;',
                '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;
}
Ejemplo n.º 16
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;
}
Ejemplo n.º 17
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
    );
}
Ejemplo n.º 18
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' => ' &laquo;'. $item['cat_title'] .'&raquo;',
                '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'] .' &laquo;'. $item['cat'] .'&raquo;',
                '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;
}
Ejemplo n.º 19
0
 public function __construct(array $options = array())
 {
     parent::__construct($options);
     $this->assign('is_admin', cmsCore::c('user')->is_admin);
     $this->assign('user_id', cmsCore::c('user')->id);
     $this->assign('is_ajax', cmsCore::isAjax());
     $this->assign('is_auth', cmsCore::c('user')->id);
     $this->compile_dir = PATH . '/cache';
 }
Ejemplo n.º 20
0
function cpCommentAuthor($item)
{
    if (!$item['user_id']) {
        $author = $item['guestname'];
    } else {
        $u = cmsCore::c('db')->get_fields('cms_users', "id='" . $item['user_id'] . "'", 'id, nickname, login');
        $author = $u['nickname'] . ' (<a href="/admin/index.php?view=users&do=edit&id=' . $u['id'] . '" target="_blank">' . $u['login'] . '</a>)';
    }
    return $author;
}
Ejemplo n.º 21
0
function applet_noaccess(){
    global $_LANG;

    cmsCore::c('page')->setTitle($_LANG['ACCESS_DENIED']);
    cpAddPathway($_LANG['ACCESS_DENIED'], 'index.php?view=noaccess');

    echo '<h3>'. $_LANG['ACCESS_DENIED'] .'</h3>';
    echo '<p>'. $_LANG['AD_ACCESS_DENIED_TEXT'] .'</p>';
    echo '<p><a href="javascript:void(0)" onclick="window.history.go(-1)">'. $_LANG['BACK'] .'</a></p>';
}
Ejemplo n.º 22
0
function applet_templates()
{
    global $adminAccess;
    global $_LANG;
    if (!cmsUser::isAdminCan('admin/config', $adminAccess)) {
        cpAccessDenied();
    }
    $do = cmsCore::request('do', array('config', 'save_config'), 'main');
    cmsCore::c('page')->setTitle($_LANG['AD_TEMPLATES_SETTING']);
    cpAddPathway($_LANG['AD_TEMPLATES_SETTING'], 'index.php?view=templates');
    if ($do == 'main') {
        cmsCore::c('page')->initTemplate('applets', 'templates')->assign('templates', cmsCore::getDirsList('/templates'))->display();
    }
    if ($do == 'config') {
        $template = cmsCore::request('template', 'str', '');
        cpAddPathway($_LANG['AD_TEMPLATE'] . ': ' . $template, 'index.php?view=templates&do=config&template=' . $template);
        if (!file_exists(PATH . '/templates/' . $template) || !file_exists(PATH . '/templates/' . $template . '/config.php')) {
            cmsCore::error404();
        }
        include PATH . '/templates/' . $template . '/config.php';
        if (function_exists('get_template_cfg_fields')) {
            $tpl_cfgs = get_template_cfg_fields();
            if (!empty($tpl_cfgs)) {
                $tpl_cfgs_val = cmsCore::getTplCfg($template);
                cmsCore::c('page')->initTemplate('applets', 'templates')->assign('template', $template)->assign('form_gen_form', cmsCore::c('form_gen')->generateForm($tpl_cfgs, $tpl_cfgs_val))->display();
            } else {
                cmsCore::addSessionMessage($_LANG['AD_TEMPLATE_NO_CONFIG'], 'error');
                cmsCore::redirectBack();
            }
        } else {
            cmsCore::addSessionMessage($_LANG['AD_TEMPLATE_CFG_ERROR'], 'error');
            cmsCore::redirectBack();
        }
    }
    if ($do == 'save_config') {
        $template = cmsCore::request('template', 'str', '');
        if (!file_exists(PATH . '/templates/' . $template) || !file_exists(PATH . '/templates/' . $template . '/config.php') || !cmsUser::checkCsrfToken()) {
            cmsCore::error404();
        }
        include PATH . '/templates/' . $template . '/config.php';
        if (function_exists('get_template_cfg_fields')) {
            $tpl_cfgs = get_template_cfg_fields();
            if (!empty($tpl_cfgs)) {
                $tpl_cfgs = cmsCore::c('form_gen')->requestForm($tpl_cfgs);
                cmsCore::saveTplCfg($tpl_cfgs, $template);
                cmsCore::addSessionMessage($_LANG['AD_TEMPLATE_CFG_SAVED'], 'success');
                cmsCore::redirect('/admin/index.php?view=templates');
            } else {
                cmsCore::error404();
            }
        } else {
            cmsCore::error404();
        }
    }
}
Ejemplo n.º 23
0
function mod_uc_random($mod, $cfg) {
    if ($cfg['cat_id']>0) {
        if (!$cfg['subs']) {
            //select from category
            $catsql = ' AND i.category_id = '. $cfg['cat_id'];
        } else {
            //select from category and subcategories
            $rootcat = cmsCore::c('db')->get_fields('cms_uc_cats', "id='". $cfg['cat_id'] ."'", 'NSLeft, NSRight');
            
            if (!$rootcat) { return false; }
            
            $catsql = "AND (c.NSLeft >= ". $rootcat['NSLeft'] ." AND c.NSRight <= ". $rootcat['NSRight'] .")";
        }
    } else {
        $catsql = '';
    }

    $sql = "SELECT i.*, c.title as category, c.view_type as viewtype
            FROM cms_uc_items i
            LEFT JOIN cms_uc_cats c ON c.id = i.category_id
            WHERE i.published = 1 ". $catsql ."
            ORDER BY RAND()
            LIMIT ". $cfg['count'];

    $result = cmsCore::c('db')->query($sql) ;

    $items = array();
    $is_uc = false;

    if (cmsCore::c('db')->num_rows($result)) {
        $is_uc = true;
        while ($item=cmsCore::c('db')->fetch_assoc($result)) {
            if (mb_strlen($item['imageurl']) < 4) {
                $item['imageurl'] = 'nopic.jpg';
            } else if (!file_exists(PATH .'/images/catalog/small/'. $item['imageurl'])) {
                $item['imageurl'] = 'nopic.jpg';
            }

            if ($item['viewtype'] == 'shop') {
                cmsCore::includeFile('components/catalog/includes/shopcore.php');
                $item['price'] = number_format(shopDiscountPrice($item['id'], $item['category_id'], $item['price']), 2, '.', ' ');
            }

            $items[] = $item;
        }
    }

    cmsPage::initTemplate('modules', $cfg['tpl'])->
        assign('items', $items)->
        assign('cfg', $cfg)->
        assign('is_uc', $is_uc)->
        display();

    return true;
}
Ejemplo n.º 24
0
function mod_auth($mod, $cfg) {
    if (cmsCore::c('user')->id) { return false; }

    cmsUser::sessionPut('auth_back_url', cmsCore::getBackURL());

    cmsPage::initTemplate('modules', $cfg['tpl'])->
        assign('cfg', $cfg)->
        display();

    return true;
}
Ejemplo n.º 25
0
function applet_cache() {
    $component = cmsCore::request('component', 'str', '');
    $target    = cmsCore::request('target', 'str', '');
    $target_id = cmsCore::request('target_id', 'str', '');

    if (empty($component) || empty($target_id)) { cmsCore::error404(); }
    
    cmsCore::c('cache')->remove($component, $target_id, $target);

    cmsCore::redirectBack();
}
Ejemplo n.º 26
0
    /**
     * Показывает файл шаблона
     * параметр $tpl_file оставлен для совместимости
     */
    public function display($tpl_file=false){
        global $_LANG;
        
        $is_ajax = cmsCore::isAjax();
        $user_id = cmsCore::c('user')->id;
        $is_admin = cmsCore::c('user')->is_admin;
        
        extract($this->tpl_vars);

        include($this->tpl_folder .'/'. $this->tpl_file);
    }
Ejemplo n.º 27
0
function cpBlogOwner($item)
{
    if ($item['owner'] == 'user') {
        $nickname = cmsCore::c('db')->get_field('cms_users', "id='" . $item['user_id'] . "'", 'nickname');
        $link = '<a href="?view=users&do=edit&id=' . $item['user_id'] . '" class="user_link" target="_blank">' . $nickname . '</a>';
    } else {
        $title = cmsCore::c('db')->get_field('cms_clubs', "id='" . $item['user_id'] . "'", 'title');
        $link = '<a href="?view=components&do=config&link=clubs&opt=edit&item_id=' . $item['user_id'] . '" class="club_link" target="_blank">' . $title . '</a>';
    }
    return $link;
}
Ejemplo n.º 28
0
function cpCommentAuthor($item) {
    if (!$item['user_id']) {
        $author = $item['guestname'];
    } else {
        $usersql = "SELECT id, nickname, login FROM cms_users WHERE id = ".$item['user_id'];
        $userres = cmsCore::c('db')->query($usersql);
        $u = cmsCore::c('db')->fetch_assoc($userres);
        $author = $u['nickname'].' (<a href="/admin/index.php?view=users&do=edit&id='.$u['id'].'" target="_blank">'.$u['login'].'</a>)';
    }
    
    return $author;
}
Ejemplo n.º 29
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');
    }
}
Ejemplo n.º 30
0
function mod_user_friend($mod, $cfg) {
    if (!cmsCore::c('user')->id) {
        return false;
    }

    if ($cfg['view_type'] == 'table') {
        $sql = "SELECT
                CASE
                WHEN f.from_id = ". cmsCore::c('user')->id ."
                THEN f.to_id
                WHEN f.to_id = ". cmsCore::c('user')->id ."
                THEN f.from_id
                END AS user_id, u.login, u.nickname, u.is_deleted, p.imageurl
                FROM cms_user_friends f
                INNER JOIN cms_online o ON o.user_id = CASE WHEN f.from_id = ". cmsCore::c('user')->id ." THEN f.to_id WHEN f.to_id = ". cmsCore::c('user')->id ." THEN f.from_id END
                LEFT JOIN cms_users u ON u.id = o.user_id
                LEFT JOIN cms_user_profiles p ON p.user_id = u.id
                WHERE (from_id = ". cmsCore::c('user')->id ." OR to_id = ". cmsCore::c('user')->id .") AND is_accepted =1 LIMIT ". $cfg['limit'];
    } else {
        $sql = "SELECT
                CASE
                WHEN f.from_id = ". cmsCore::c('user')->id ."
                THEN f.to_id
                WHEN f.to_id = ". cmsCore::c('user')->id ."
                THEN f.from_id
                END AS user_id, u.login, u.nickname
                FROM cms_user_friends f
                INNER JOIN cms_online o ON o.user_id = CASE WHEN f.from_id = ". cmsCore::c('user')->id ." THEN f.to_id WHEN f.to_id = ". cmsCore::c('user')->id ." THEN f.from_id END
                LEFT JOIN cms_users u ON u.id = o.user_id
                WHERE (from_id = ". cmsCore::c('user')->id ." OR to_id = ". cmsCore::c('user')->id .") AND is_accepted =1 LIMIT ". $cfg['limit'];
    }

    $result = cmsCore::c('db')->query($sql) ;
    $total  = cmsCore::c('db')->num_rows($result);

    if ($total) {
        $friends = array();
        while ($friend = cmsCore::c('db')->fetch_assoc($result)) {
            $friend['avatar'] = ($cfg['view_type'] == 'table') ? cmsUser::getUserAvatarUrl($friend['user_id'], 'small', $friend['imageurl'], $friend['is_deleted']) : false;
            $friend['user_link'] = cmsUser::getProfileLink($friend['login'], $friend['nickname']);
            $friends[$friend['user_id']] = $friend;
        }
    }

    cmsPage::initTemplate('modules', $cfg['tpl'])->
        assign('friends', $friends)->
        assign('total', $total)->
        assign('cfg', $cfg)->
        display();

    return true;
}