function __construct() { $this->inDB = cmsDatabase::getInstance(); $inCore = cmsCore::getInstance(); $cfg = $inCore->loadComponentConfig('pogoda'); $this->city_id = $cfg['city_id']; }
function mod_category($mod, $cfg) { $inDB = cmsDatabase::getInstance(); cmsCore::loadModel('content'); $model = new cms_model_content(); if (!isset($cfg['category_id'])) { $cfg['category_id'] = 0; } if (!isset($cfg['show_subcats'])) { $cfg['show_subcats'] = 1; } if (!isset($cfg['expand_all'])) { $cfg['expand_all'] = 1; } $rootcat = $inDB->getNsCategory('cms_category', $cfg['category_id']); if (!$rootcat) { return false; } $subcats_list = $model->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($cfg['tpl']); return true; }
public function __construct() { cmsCore::loadClass('page'); $this->inCore = cmsCore::getInstance(); $this->inDB = cmsDatabase::getInstance(); $this->inPage = cmsPage::getInstance(); }
function mod_whoonline($module_id, $cfg) { $inDB = cmsDatabase::getInstance(); if (!isset($cfg['color_admin'])) { $cfg['color_admin'] = '#FF0000'; } if (!isset($cfg['color_editor'])) { $cfg['color_editor'] = '#009900'; } $online_count = cmsUser::getOnlineCount(); $users = array(); $today_users = array(); if ($online_count['users']) { $sql = "SELECT\n o.user_id as id,\n u.login,\n u.nickname,\n p.gender as gender\n FROM cms_online o\n LEFT JOIN cms_users u ON u.id = o.user_id\n LEFT JOIN cms_user_profiles p ON p.user_id = u.id\n WHERE u.is_locked = 0 AND u.is_deleted = 0\n GROUP BY o.user_id"; $result = $inDB->query($sql); $users = getUsersArray($result, $cfg, $inDB); } if ($cfg['show_today']) { $today = date("Y-m-d"); $sql = "SELECT u.id as id, u.nickname as nickname, u.login as login, p.gender as gender\n FROM cms_users u\n LEFT JOIN cms_user_profiles p ON p.user_id = u.id\n WHERE u.is_locked = 0 AND u.is_deleted = 0 AND DATE_FORMAT(u.logdate, '%Y-%m-%d')='{$today}'\n ORDER BY u.logdate DESC"; $result = $inDB->query($sql); if ($inDB->num_rows($result)) { $today_users = getUsersArray($result, $cfg, $inDB); } } cmsPage::initTemplate('modules', 'mod_whoonline')->assign('cfg', $cfg)->assign('users', $users)->assign('guests', $online_count['guests'])->assign('today_users', $today_users)->display('mod_whoonline.tpl'); return true; }
function mod_bestcontent($mod, $cfg) { $inDB = cmsDatabase::getInstance(); cmsCore::loadModel('content'); $model = new cms_model_content(); if (!isset($cfg['shownum'])) { $cfg['shownum'] = 5; } if (!isset($cfg['subs'])) { $cfg['subs'] = 1; } if (!isset($cfg['cat_id'])) { $cfg['cat_id'] = 1; } $inDB->where("con.canrate = 1"); if ($cfg['cat_id']) { if (!$cfg['subs']) { //выбираем из категории $model->whereCatIs($cfg['cat_id']); } else { //выбираем из категории и подкатегорий $rootcat = $inDB->getNsCategory('cms_category', $cfg['cat_id']); if (!$rootcat) { return false; } $model->whereThisAndNestedCats($rootcat['NSLeft'], $rootcat['NSRight']); } } $inDB->orderBy('con.rating', 'DESC'); $inDB->limitPage(1, $cfg['shownum']); $content_list = $model->getArticlesList(); cmsPage::initTemplate('modules', $cfg['tpl'])->assign('articles', $content_list)->assign('cfg', $cfg)->display($cfg['tpl']); return true; }
function __construct(){ $this->inDB = cmsDatabase::getInstance(); $this->inCore = cmsCore::getInstance(); $this->config = $this->inCore->loadComponentConfig('users'); cmsCore::loadLanguage('components/users'); cmsCore::loadClass('form'); }
function mod_dt_newsslider($module_id, $cfg) { $inDB = cmsDatabase::getInstance(); cmsCore::loadModel('content'); $model = new cms_model_content(); if (!isset($cfg['cat_id'])) { $cfg['cat_id'] = 1; } if ($cfg['cat_id']) { if (!$cfg['subs']) { $model->whereCatIs($cfg['cat_id']); } else { $rootcat = $inDB->getNsCategory('cms_category', $cfg['cat_id']); if (!$rootcat) { return false; } $model->whereThisAndNestedCats($rootcat['NSLeft'], $rootcat['NSRight']); } } $inDB->orderBy('con.ordering', 'ASC'); $inDB->limit($cfg['newscount']); $slider_list = $model->getArticlesList(); if (!$slider_list) { return false; } cmsPage::initTemplate('modules', 'mod_dt_newsslider')->assign('slider', $slider_list)->assign('cfg', $cfg)->assign('module_id', $module_id)->display('mod_dt_newsslider.tpl'); return true; }
function mod_cart($module_id, $cfg) { $inDB = cmsDatabase::getInstance(); $inUser = cmsUser::getInstance(); cmsCore::includeFile('components/catalog/includes/shopcore.php'); $sid = session_id(); $items = array(); $total_summ = 0; $user_sql = $inUser->id ? "c.user_id='{$inUser->id}'" : "c.session_id='{$sid}'"; $sql = "SELECT i.title, i.price, i.category_id, i.id, c.itemscount\n FROM cms_uc_cart c\n INNER JOIN cms_uc_items i ON i.id = c.item_id\n WHERE {$user_sql}"; $result = $inDB->query($sql); $items_count = $inDB->num_rows($result); if ($items_count) { while ($con = $inDB->fetch_assoc($result)) { $price = shopDiscountPrice($con['id'], $con['category_id'], $con['price']); $totalcost = $con['itemscount'] * $price; $total_summ += $totalcost; $con['price'] = number_format($price, 2, '.', ' '); $con['totalcost'] = number_format($totalcost, 2, '.', ' '); $items[] = $con; } } cmsPage::initTemplate('modules', 'mod_cart')->assign('cfg', $cfg)->assign('items_count', $items_count)->assign('total_summ', number_format($total_summ, 2, '.', ' '))->assign('items', $items)->display('mod_cart.tpl'); return true; }
function mod_calendar_eventview($module_id) { $inCore = cmsCore::getInstance(); $inUser = cmsUser::getInstance(); $DB = cmsDatabase::getInstance(); $cfg = $inCore->loadComponentConfig('calendar'); if ($inUser->id != 0 and $cfg['calendar_module'] == "user") { //Запрос к БД $sql = "\r\n\tSELECT cms_events.* ,\r\n\tcms_events_category.tx,\r\n\tcms_events_category.bg\r\n\tFROM cms_events \r\n\tLEFT JOIN cms_events_signup ON cms_events.id=cms_events_signup.event_id \r\n\tLEFT JOIN cms_events_category ON cms_events.category_id = cms_events_category.id\r\n\tWHERE \r\n\tcms_events.start_time > " . time() . " AND \r\n\tcms_events.author_id = " . $inUser->id . " OR \r\n\tcms_events_signup.user_id = " . $inUser->id . " AND \r\n\tcms_events.author_id <> " . $inUser->id . " AND \r\n\tcms_events.start_time > " . time() . " \r\n\tGROUP BY cms_events.id ORDER BY cms_events.start_time ASC LIMIT " . $cfg['calendar_module_count']; } else { $sql = "SELECT cms_events.*,\r\n\t cms_events_category.tx,\r\n\t cms_events_category.bg\r\n\t FROM cms_events\r\n\t LEFT JOIN cms_events_category ON cms_events.category_id = cms_events_category.id\t \r\n\t WHERE cms_events.`type` = 'public' \r\n\t AND cms_events.start_time > " . time() . " \r\n\t ORDER BY cms_events.start_time ASC LIMIT " . $cfg['calendar_module_count']; } $result = $DB->query($sql); if ($DB->error()) { return false; } $events = array(); while ($event = $DB->fetch_assoc($result)) { if ($event['author_id'] == $inUser->id) { $event['time'] == ""; } if ($event['category_id'] == 0) { $event['bg'] = '#C3BCB9'; $event['tx'] = '#000000'; } $events[] = $event; } $smarty = $inCore->initSmarty('modules', 'mod_calendar_eventview.tpl'); $smarty->assign('events', $events); $smarty->display('mod_calendar_eventview.tpl'); return true; }
function mod_clubs($module_id, $cfg) { $inDB = cmsDatabase::getInstance(); if (!isset($cfg['count'])) { $cfg['count'] = 5; } if (!isset($cfg['type'])) { $cfg['type'] = 'id'; } if (!isset($cfg['vip_on_top'])) { $cfg['vip_on_top'] = 1; } cmsCore::loadModel('clubs'); $model = new cms_model_clubs(); if ($cfg['vip_on_top']) { $inDB->orderBy('is_vip', 'DESC, c.' . $cfg['type'] . ' DESC'); } else { $inDB->orderBy('c.' . $cfg['type'], 'DESC'); } $inDB->limit($cfg['count']); $clubs = $model->getClubs(); if (!$clubs) { return false; } cmsPage::initTemplate('modules', 'mod_clubs')->assign('clubs', $clubs)->display('mod_clubs.tpl'); return true; }
function upgrade_component_calendar() { $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); $inDB->query("ALTER TABLE `cms_events` ADD `hide` INT NOT NULL ;"); return true; }
function search_blogs($query, $look) { $inDB = cmsDatabase::getInstance(); $searchModel = cms_model_search::initModel(); 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\n\t\t\tFROM cms_blog_posts con\n\t\t\tINNER JOIN cms_blogs cat ON cat.id = con.blog_id AND cat.allow_who = 'all' AND cat.owner = 'user'\n\t\t\tWHERE MATCH(con.title, con.content) AGAINST ('{$query}' IN BOOLEAN MODE) AND con.published = 1 LIMIT 100"; $result = $inDB->query($sql); if ($inDB->num_rows($result)) { cmsCore::loadLanguage('components/blogs'); cmsCore::loadModel('blogs'); $model = new cms_model_blogs(); while ($item = $inDB->fetch_assoc($result)) { $result_array = array(); $result_array['link'] = $model->getPostURL($item['bloglink'], $item['seolink']); $result_array['place'] = $_LANG['BLOG'] . ' «' . $item['cat_title'] . '»'; $result_array['placelink'] = $model->getBlogURL($item['bloglink']); $result_array['description'] = $searchModel->getProposalWithSearchWord($item['content_html']); $result_array['title'] = $item['title']; $result_array['pubdate'] = $item['pubdate']; $result_array['session_id'] = session_id(); $searchModel->addResult($result_array); } } return; }
public function __construct() { $this->inDB = cmsDatabase::getInstance(); $this->config = cmsCore::getInstance()->loadComponentConfig('clubs'); cmsCore::loadLanguage('components/clubs'); cmsCore::loadLib('karma'); }
function mod_actions(array $mod, $cfg) { $inDB = cmsDatabase::getInstance(); $inActions = cmsActions::getInstance(); global $_LANG; if (!isset($cfg['show_target'])) { $cfg['show_target'] = 1; } if (!isset($cfg['limit'])) { $cfg['limit'] = 15; } if (!isset($cfg['show_link'])) { $cfg['show_link'] = 1; } if (!isset($cfg['action_types'])) { echo $_LANG['MODULE_NOT_CONFIGURED']; return true; } if (!$cfg['show_target']) { $inActions->showTargets(false); } $inActions->onlySelectedTypes($cfg['action_types']); $inDB->limitIs($cfg['limit']); $actions = $inActions->getActionsLog(); if (!$actions) { return false; } cmsPage::initTemplate('modules', $cfg['tpl'])->assign('actions', $actions)->assign('cfg', $cfg)->assign('user_id', cmsUser::getInstance()->id)->display($cfg['tpl']); return true; }
function mod_user_friend($mod, $cfg) { $inDB = cmsDatabase::getInstance(); $inUser = cmsUser::getInstance(); if (!$inUser->id) { return false; } if ($cfg['view_type'] == 'table') { $sql = "SELECT\r\n CASE\r\n WHEN f.from_id = {$inUser->id}\r\n THEN f.to_id\r\n WHEN f.to_id = {$inUser->id}\r\n THEN f.from_id\r\n END AS user_id, u.login, u.nickname, u.is_deleted, p.imageurl\r\n FROM cms_user_friends f\r\n INNER JOIN cms_online o ON o.user_id = CASE WHEN f.from_id = {$inUser->id} THEN f.to_id WHEN f.to_id = {$inUser->id} THEN f.from_id END\r\n LEFT JOIN cms_users u ON u.id = o.user_id\r\n LEFT JOIN cms_user_profiles p ON p.user_id = u.id\r\n WHERE (from_id = {$inUser->id} OR to_id = {$inUser->id}) AND is_accepted =1 LIMIT " . $cfg['limit']; } else { $sql = "SELECT\r\n CASE\r\n WHEN f.from_id = {$inUser->id}\r\n THEN f.to_id\r\n WHEN f.to_id = {$inUser->id}\r\n THEN f.from_id\r\n END AS user_id, u.login, u.nickname\r\n FROM cms_user_friends f\r\n INNER JOIN cms_online o ON o.user_id = CASE WHEN f.from_id = {$inUser->id} THEN f.to_id WHEN f.to_id = {$inUser->id} THEN f.from_id END\r\n LEFT JOIN cms_users u ON u.id = o.user_id\r\n WHERE (from_id = {$inUser->id} OR to_id = {$inUser->id}) AND is_accepted =1 LIMIT " . $cfg['limit']; } $result = $inDB->query($sql); $total = $inDB->num_rows($result); if ($total) { $friends = array(); while ($friend = $inDB->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($cfg['tpl']); return true; }
function mod_latest_faq($module_id, $cfg) { $inDB = cmsDatabase::getInstance(); if (!isset($cfg['newscount'])) { $cfg['newscount'] = 2; } if (!isset($cfg['cat_id'])) { $cfg['cat_id'] = 0; } if (!isset($cfg['maxlen'])) { $cfg['maxlen'] = 120; } if ($cfg['cat_id']) { $catsql = 'AND category_id = ' . $cfg['cat_id']; } else { $catsql = ''; } $sql = "SELECT *\n FROM cms_faq_quests\n WHERE published = 1 " . $catsql . "\n ORDER BY pubdate DESC\n LIMIT " . $cfg['newscount']; $result = $inDB->query($sql); $faq = array(); if ($inDB->num_rows($result)) { while ($con = $inDB->fetch_assoc($result)) { $con['date'] = cmsCore::dateFormat($con['pubdate']); $con['href'] = '/faq/quest' . $con['id'] . '.html'; $faq[] = $con; } } cmsPage::initTemplate('modules', 'mod_latest_faq')->assign('faq', $faq)->assign('cfg', $cfg)->display('mod_latest_faq.tpl'); return true; }
function mod_forum($mod, $cfg) { $inDB = cmsDatabase::getInstance(); $default_cfg = array('shownum' => 4, 'cat_id' => 0, 'forum_id' => 0, 'subs' => 0, 'show_hidden' => 0, 'show_pinned' => 0, 'showtext' => 1, 'showforum' => 0, 'order' => 'pubdate'); $cfg = array_merge($default_cfg, $cfg); cmsCore::loadModel('forum'); $model = new cms_model_forum(); $inDB->addJoin('INNER JOIN cms_forums f ON f.id = t.forum_id'); $inDB->addSelect('f.title as forum_title'); if ($cfg['cat_id']) { $model->whereForumCatIs($cfg['cat_id']); } if ($cfg['forum_id']) { if ($cfg['subs']) { $forum = $model->getForum($cfg['forum_id']); if (!$forum) { return false; } $model->whereThisAndNestedForum($forum['NSLeft'], $forum['NSRight']); } else { $model->whereForumIs($cfg['forum_id']); } } if (!$cfg['show_hidden']) { $model->wherePublicThreads(); } if ($cfg['show_pinned']) { $model->wherePinnedThreads(); } $inDB->orderBy('t.' . $cfg['order'], 'DESC'); $inDB->limit($cfg['shownum']); $threads = $model->getThreads(); cmsPage::initTemplate('modules', $cfg['tpl'])->assign('threads', $threads)->assign('cfg', $cfg)->display($cfg['tpl']); return true; }
public function __construct($labels = array()) { $this->inDB = cmsDatabase::getInstance(); $this->config = cmsCore::getInstance()->loadComponentConfig('comments'); cmsCore::loadLanguage('components/comments'); $this->labels = array_merge(self::getDefaultLabels(), $labels); }
function mod_blogs($module_id, $cfg) { $inDB = cmsDatabase::getInstance(); $default_cfg = array('sort' => 'pubdate', 'owner' => 'user', 'shownum' => 5, 'minrate' => 0, 'blog_id' => 0, 'showrss' => 1); $cfg = array_merge($default_cfg, $cfg); cmsCore::loadClass('blog'); $inBlog = cmsBlogs::getInstance(); $inBlog->owner = $cfg['owner']; if ($cfg['owner'] == 'club') { cmsCore::loadModel('clubs'); $model = new cms_model_clubs(); $inDB->addSelect('b.user_id as bloglink'); } else { cmsCore::loadModel('blogs'); $model = new cms_model_blogs(); } // получаем аватары владельцев $inDB->addSelect('up.imageurl'); $inDB->addJoin('LEFT JOIN cms_user_profiles up ON up.user_id = u.id'); $inBlog->whereOnlyPublic(); if ($cfg['minrate']) { $inBlog->ratingGreaterThan($cfg['minrate']); } if ($cfg['blog_id']) { $inBlog->whereBlogIs($cfg['blog_id']); } $inDB->orderBy('p.' . $cfg['sort'], 'DESC'); $inDB->limit($cfg['shownum']); $posts = $inBlog->getPosts(false, $model); if (!$posts) { return false; } cmsPage::initTemplate('modules', 'mod_blogs')->assign('posts', $posts)->assign('cfg', $cfg)->display('mod_blogs.tpl'); return true; }
function rss_blogs($item_id, $cfg) { if (!cmsCore::getInstance()->isComponentEnable('blogs')) { return false; } $inDB = cmsDatabase::getInstance(); global $_LANG; cmsCore::loadModel('blogs'); $model = new cms_model_blogs(); cmsCore::loadClass('blog'); $inBlog = cmsBlogs::getInstance(); $inBlog->owner = 'user'; $channel = array(); $items = array(); // Формируем канал if ($item_id) { $blog = $inBlog->getBlog($item_id); if (!$blog) { return false; } //Если доступа к блогу нет, возвращаемся if (!cmsUser::checkUserContentAccess($blog['allow_who'], $blog['user_id'])) { return false; } $inBlog->whereBlogIs($blog['id']); $channel['title'] = $blog['title']; $channel['description'] = $_LANG['NEW_POSTS_IN_BLOGS']; $channel['link'] = HOST . $model->getBlogURL($blog['seolink']); } else { $channel['title'] = $_LANG['NEW_POSTS_IN_BLOGS']; $channel['description'] = $_LANG['NEW_POSTS_IN_BLOGS']; $channel['link'] = HOST .'/blogs'; } // В RSS всегда только публичные посты $inBlog->whereOnlyPublic(); $inDB->orderBy('p.pubdate', 'DESC'); $inDB->limit($cfg['maxitems']); $posts = $inBlog->getPosts(false, $model, true); if ($posts) { foreach($posts as $post){ $post['link'] = HOST . $post['url']; $post['description'] = mb_substr(strip_tags($post['content_html']), 0, 350). '...'; $post['comments'] = $post['link'].'#c'; $post['category'] = $post['blog_title']; $items[] = $post; } } return array('channel' => $channel, 'items' => $items); }
function rss_forum($item_id, $cfg){ $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); if(!$inCore->isComponentEnable('forum')) { return false; } global $_LANG; $channel = array(); if ($item_id){ $cat = $inDB->get_fields('cms_forums', "id='$item_id'", 'id, title, description, NSLeft, NSRight'); if(!$cat){ return; } $catsql = "AND cat.NSLeft >= {$cat['NSLeft']} AND cat.NSRight <= {$cat['NSRight']}"; $channel['title'] = $cat['title'] ; $channel['description'] = $cat['description']; $channel['link'] = HOST . '/forum/' . $item_id; } else { $catsql = ''; $channel['title'] = $_LANG['LAST_THREADS']; $channel['description'] = $_LANG['LAST_THREADS']; $channel['link'] = HOST . '/forum'; } //ITEMS $sql = "SELECT c.*, cat.title as category FROM cms_forum_threads c INNER JOIN cms_forums cat ON cat.id = c.forum_id WHERE c.is_hidden = 0 $catsql ORDER by c.pubdate DESC LIMIT {$cfg['maxitems']}"; $rs = $inDB->query($sql); $items = array(); if ($inDB->num_rows($rs)){ $forumcfg = $inCore->loadComponentConfig('forum'); while ($item = $inDB->fetch_assoc($rs)){ $id = $item['id']; $item['title'] .= ' '.$item['post_count']; $pages = ceil($item['post_count'] / $forumcfg['pp_thread']); $items[$id] = $item; $items[$id]['link'] = HOST . '/forum/thread'.$id.'-'.$pages.'.html'; $items[$id]['category'] = $item['category']; } } $rssdata = array(); $rssdata['channel'] = $channel; $rssdata['items'] = $items; return $rssdata; }
function rss_board($item_id, $cfg){ if(!cmsCore::getInstance()->isComponentEnable('board')) { return false; } $inDB = cmsDatabase::getInstance(); cmsCore::loadModel('board'); $model = new cms_model_board(); global $_LANG; $channel = array(); $items = array(); if ($item_id && preg_match('/^([0-9]+)$/ui', $item_id)) { $cat = $model->getCategory($item_id); if(!$cat) { return false; } $model->whereCatIs($cat['id']); $channel['title'] = $cat['title']; $channel['description'] = preg_replace ("'&([a-z]{2,5});'iu", '', $cat['description']); $channel['link'] = HOST.'/board/'.$cat['id']; } else { $channel['title'] = $_LANG['BOARD']; $channel['description'] = $_LANG['BOARD']; $channel['link'] = HOST; } $inDB->orderBy('pubdate', 'DESC'); $inDB->limit($cfg['maxitems']); $advs = $model->getAdverts(false, false, false, true); if($advs){ foreach($advs as $item){ $item['link'] = HOST.'/board/read'.$item['id'].'.html'; $item['comments'] = $item['link'].'#c'; $item['category'] = $item['cat_title']; $item['description'] = mb_substr(strip_tags($item['content']), 0, 250). '...'; $image_file = PATH.'/images/board/small/'.$item['file']; $image_url = HOST.'/images/board/small/'.$item['file']; $item['image'] = file_exists($image_file) ? $image_url : ''; $item['size'] = round(filesize($image_file)); $items[] = $item; } } return array('channel' => $channel, 'items' => $items); }
function upgrade_component_calendar() { $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); include PATH . '/includes/dbimport.inc.php'; dbRunSQL(PATH . '/components/calendar/update.sql', $inConf->db_prefix); return true; }
public function importPackageDump($file) { if (!file_exists($file)) { return false; } $db = cmsDatabase::getInstance(); return $db->importDump($file); }
public function __construct() { cmsCore::loadClass('page'); $this->inCore = cmsCore::getInstance(); $this->inDB = cmsDatabase::getInstance(); $this->inPage = cmsPage::getInstance(); $this->config = array_merge($this->config, $this->inCore->loadPluginConfig(get_called_class())); }
function __construct() { $this->inDB = cmsDatabase::getInstance(); $this->inCore = cmsCore::getInstance(); $this->inPage = cmsPage::getInstance(); $this->inUser = cmsUser::getInstance(); $this->root = $_SERVER['DOCUMENT_ROOT']; }
function rss_catalog($item_id, $cfg){ if(!cmsCore::getInstance()->isComponentEnable('catalog')) { return false; } $inDB = cmsDatabase::getInstance(); global $_LANG; $channel = array(); $items = array(); //CHANNEL if ($item_id){ $cat = $inDB->get_fields('cms_uc_cats', "id='$item_id'", 'id, title, description, NSLeft, NSRight'); $catsql = "AND cat.NSLeft >= {$cat['NSLeft']} AND cat.NSRight <= {$cat['NSRight']}"; $channel['title'] = $cat['title'] ; $channel['description'] = $cat['description']; $channel['link'] = HOST . '/catalog/' . $item_id; } else { $catsql = ''; $channel['title'] = $_LANG['NEW_RECORDS']; $channel['description'] = $_LANG['NEW_RECORDS']; $channel['link'] = HOST . '/catalog'; } //ITEMS $sql = "SELECT c.*, cat.title as category FROM cms_uc_items c, cms_uc_cats cat WHERE c.published=1 AND c.category_id = cat.id $catsql ORDER by c.pubdate DESC LIMIT {$cfg['maxitems']}"; $rs = $inDB->query($sql) or die('RSS building error!'); $items = array(); if ($inDB->num_rows($rs)){ while ($item = $inDB->fetch_assoc($rs)){ $id = $item['id']; $items[$id] = $item; $items[$id]['link'] = HOST . '/catalog/item'.$id.'.html'; $items[$id]['comments'] = $items[$id]['link'].'#c'; $items[$id]['category'] = $item['category']; $image_file = PATH.'/images/catalog/medium/'. $item['imageurl']; $image_url = HOST . '/images/catalog/medium/'. $item['imageurl']; $items[$id]['image'] = file_exists($image_file) ? $image_url : ''; $items[$id]['size'] = $items[$id]['image'] ? round(filesize($image_file)) : 0; } } return array('channel' => $channel, 'items' => $items); }
function rss_comments($item_id, $cfg) { if (!cmsCore::getInstance()->isComponentEnable('comments')) { return false; } $inDB = cmsDatabase::getInstance(); global $_LANG; cmsCore::loadModel('comments'); $model = new cms_model_comments(); $channel = array(); $items = array(); if ($item_id) { // Выделяем назначение и id назначения $target_array = explode('-', $item_id); $target_str = $target_array[0]; $target_id = (int) $target_array[1]; $target = $inDB->get_fields('cms_comment_targets', "target='{$target_str}'", '*'); if (!$target) { return false; } if (cmsCore::loadModel($target['component'])) { $model_class = 'cms_model_' . $target['component']; if (class_exists($model_class)) { $target_model = new $model_class(); } } if (!isset($target_model)) { return false; } $target_data = $target_model->getCommentTarget($target_str, $target_id); if (!$target_data) { return false; } $model->whereTargetIs($target_str, $target_id); $channel['title'] = $target_data['title']; $channel['description'] = $target['title']; $channel['link'] = HOST . $target_data['link']; } else { $channel['title'] = $_LANG['COMMENTS_ON_SITE']; $channel['description'] = $_LANG['COMMENTS_ON_SITE']; $channel['link'] = HOST . '/comments'; } $model->whereIsShow(); $inDB->orderBy('c.pubdate', 'DESC'); $inDB->limit($cfg['maxitems']); $comments = $model->getComments(true, false, true); if ($comments) { foreach ($comments as $comment) { $comment['title'] = $comment['content']; $comment['link'] = HOST . $comment['target_link'] . '#c' . $comment['id']; $comment['comments'] = HOST . $comment['target_link'] . '#c' . $comment['id']; $comment['category'] = $target_data['title']; $items[] = $comment; } } return array('channel' => $channel, 'items' => $items); }
function upgrade_component_usermaps() { $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); $inConf = cmsConfig::getInstance(); include $_SERVER['DOCUMENT_ROOT'] . '/includes/dbimport.inc.php'; dbRunSQL($_SERVER['DOCUMENT_ROOT'] . '/components/usermaps/update.sql', $inConf->db_prefix); return true; }
/** * Обработка событий * @param string $event * @param array $user * @return html */ public function execute($event, $user) { parent::execute(); $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); $inUser = cmsUser::getInstance(); $inCore->loadModel('notes'); $model = new cms_model_notes(); $select_tag = 0; $page = 1; $t = ""; $color = ""; $cfg = $inCore->loadComponentConfig('notes'); if (!isset($id)) { $login = $inCore->request('login', 'str', ''); $login = urldecode($login); $id = $inDB->get_field('cms_users', "login='******' ORDER BY is_deleted ASC", 'id'); } $myprofile = $inUser->id == $id; if (!$myprofile) { return; } ob_start(); /////////////////////////////// if (!isset($cfg['perpage'])) { $cfg['perpage'] = 10; } $posts_list = $model->getAllPosts($page, $cfg['perpage'], $select_tag, $t, $color); if ($posts_list) { foreach ($posts_list as $post) { $post['datetime'] = $inCore->dateFormat($post['datetime'], 1, 0, 1); if (!empty($post['type'])) { $sql = "select * from `cms_notes_color` where `id`='" . $post['color'] . "';"; $result = $inDB->query($sql); if ($inDB->num_rows($result)) { $color = $inDB->fetch_assoc($result); $post['status'] = "<a href='/notes/" . $post['type'] . "/" . $post['color'] . "/' style='background: " . $color['color'] . ";border-radius: 3px;color: " . $color['font_color'] . ";display: inline-block;height: 19px;margin: 5px 3px 2px 2px;outline: #FFFFFF 0px;padding: 1px 4px;text-decoration: none;text-indent: 0px;vertical-align: middle;white-space: nowrap;'>" . $post['type'] . "</a>"; } else { $post['status'] = "<a href='/notes/" . $post['type'] . "/' style='background: #E6E6E6;border:1px solid #e1e1e1;padding:5px;border-radius: 8px;border-radius: 3px;color:#333333;text-shadow: #FFFFFF 1px 1px 0px;display: inline-block;height: 19px;margin: 5px 3px 2px 2px;outline: #FFFFFF 0px;padding: 1px 4px;text-decoration: none;text-indent: 0px;vertical-align: middle;white-space: nowrap;cursor:pointer;'>" . $post['type'] . "</a>"; } } $posts[] = $post; } } $smarty = $inCore->initSmarty('plugins', 'p_usernotes.tpl'); $smarty->assign('is_posts', (bool) sizeof($posts_list)); $smarty->assign('mark', $model->getMarks()); $smarty->assign('pagetitle', "Ваши минизаписки"); if ($posts) { $smarty->assign('posts', $posts); } $smarty->display('p_usernotes.tpl'); /////////////////////////////// $html = ob_get_clean(); return $html; }