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(); }
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 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; }
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; }
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); }
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 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; }
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(); }
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 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; }
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()); } }
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; }
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 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; }
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'; }
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; }
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>'; }
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(); } } }
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; }
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; }
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(); }
/** * Показывает файл шаблона * параметр $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); }
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; }
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; }
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_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; }