Example #1
0
 public function __construct()
 {
     $this->inDB = cmsDatabase::getInstance();
     $this->config = cmsCore::getInstance()->loadComponentConfig('photos');
     cmsCore::loadLib('karma');
     cmsCore::loadLanguage('components/photos');
 }
Example #2
0
function f_banners(&$text)
{
    $phrase = 'БАННЕР';
    if (mb_strpos($text, $phrase) === false) {
        return true;
    }
    if (!cmsCore::getInstance()->isComponentEnable('banners')) {
        return true;
    }
    $regex = '/{(' . $phrase . '=)\\s*(.*?)}/i';
    $matches = array();
    preg_match_all($regex, $text, $matches, PREG_SET_ORDER);
    if (!$matches) {
        return true;
    }
    cmsCore::loadModel('banners');
    foreach ($matches as $elm) {
        $elm[0] = str_replace('{', '', $elm[0]);
        $elm[0] = str_replace('}', '', $elm[0]);
        mb_parse_str($elm[0], $args);
        $position = @$args[$phrase];
        if ($position) {
            $output = cms_model_banners::getBannerHTML($position);
        } else {
            $output = '';
        }
        $text = str_replace('{' . $phrase . '=' . $position . '}', $output, $text);
    }
    return true;
}
Example #3
0
function subscribes(){

    $inCore = cmsCore::getInstance();
    $inUser = cmsUser::getInstance();

    $do = $inCore->do;

//========================================================================================================================//
//========================================================================================================================//
    if ($do=='view'){

        $subscribe  = cmsCore::request('subscribe', 'int', 0);
        $target     = cmsCore::request('target', 'str', '');
        $target_id  = cmsCore::request('target_id', 'int', 0);

        if (!$target_id || !$target){
            cmsCore::error404();
        }

        if ($inUser->id){
            cmsUser::subscribe($inUser->id,  $target, $target_id, $subscribe);
        }

        if(cmsCore::isAjax()){
            cmsCore::jsonOutput(array('subscribe'=>$subscribe));
        } else {
            cmsCore::redirectBack();
        }

    }

}
Example #4
0
function install_package()
{
    $core = cmsCore::getInstance();
    $remove_table_indexes = array('tags' => array('tag'));
    $add_table_indexes = array('tags_bind' => array('target_controller' => array('target_controller', 'target_subject', 'tag_id')));
    $add_unique_table_indexes = array('tags' => array('tag' => array('tag', 'frequency'), 'frequency' => array('frequency', 'tag')));
    // удаляем ненужные индексы
    foreach ($remove_table_indexes as $table => $ri) {
        foreach ($ri as $index_name) {
            $core->db->dropIndex($table, $index_name);
        }
    }
    // добавляем нужные
    foreach ($add_table_indexes as $table => $indexes) {
        foreach ($indexes as $index_name => $fields) {
            $core->db->addIndex($table, $fields, $index_name);
        }
    }
    // добавляем нужные уникальные
    foreach ($add_unique_table_indexes as $table => $indexes) {
        foreach ($indexes as $index_name => $fields) {
            $core->db->addIndex($table, $fields, $index_name, 'UNIQUE');
        }
    }
}
Example #5
0
 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);
 }
Example #6
0
 public function __construct() {
     $this->config = cmsCore::getInstance()->loadComponentConfig('sitemap');
     
     $this->getComponentsWithSupportSitemap();
     
     include_once(PATH .'/components/sitemap/sitemap.class.php');
 }
function upgrade_component_calendar()
{
    $inCore = cmsCore::getInstance();
    $inDB = cmsDatabase::getInstance();
    $inDB->query("ALTER TABLE  `cms_events` ADD  `hide` INT NOT NULL ;");
    return true;
}
Example #8
0
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 __construct()
 {
     $this->inDB = cmsDatabase::getInstance();
     $inCore = cmsCore::getInstance();
     $cfg = $inCore->loadComponentConfig('pogoda');
     $this->city_id = $cfg['city_id'];
 }
Example #10
0
function mod_menu($mod, $cfg)
{
    $inCore = cmsCore::getInstance();
    $inUser = cmsUser::getInstance();
    $menuid = $inCore->menuId();
    $full_menu = $inCore->getMenuStruct();
    $current_uri = '/' . $inCore->getUri();
    if (!isset($cfg['menu'])) {
        $menu = 'mainmenu';
    } else {
        $menu = $cfg['menu'];
    }
    if (!isset($cfg['show_home'])) {
        $cfg['show_home'] = 1;
    }
    if (!isset($cfg['is_sub_menu'])) {
        $cfg['is_sub_menu'] = 0;
    }
    // текущий пункт меню
    $currentmenu = isset($full_menu[$menuid]) ? $full_menu[$menuid] : array();
    // результирующий массив меню
    $items = array();
    // id корня меню если обычный вывод меню, $menuid если режим подменю
    if ($cfg['is_sub_menu']) {
        // в подменю не должно быть ссылки на главную
        $cfg['show_home'] = 0;
        // на главной или нет активного пункта меню
        if ($menuid == 1 || !$currentmenu) {
            return false;
        }
        foreach ($full_menu as $item) {
            if ($item['NSLeft'] > $currentmenu['NSLeft'] && $item['NSRight'] < $currentmenu['NSRight'] && in_array($menu, $item['menu']) && ($item['is_lax'] || cmsCore::checkContentAccess($item['access_list'], false)) && $item['published']) {
                $item['link'] = cmsUser::stringReplaceUserProperties($item['link']);
                $item['title'] = cmsUser::stringReplaceUserProperties($item['title'], true);
                $items[] = $item;
                // массивы для сортировки
                $nsl[] = $item['NSLeft'];
                $ord[] = $item['ordering'];
            }
        }
    } else {
        foreach ($full_menu as $item) {
            if (in_array($menu, $item['menu']) && ($item['is_lax'] || cmsCore::checkContentAccess($item['access_list'], false)) && $item['published']) {
                $item['link'] = cmsUser::stringReplaceUserProperties($item['link']);
                $item['title'] = cmsUser::stringReplaceUserProperties($item['title'], true);
                $items[] = $item;
                // массивы для сортировки
                $nsl[] = $item['NSLeft'];
                $ord[] = $item['ordering'];
            }
        }
    }
    if (!$items) {
        return false;
    }
    // сортируем массив
    array_multisort($nsl, SORT_ASC, $ord, SORT_ASC, $items);
    cmsPage::initTemplate('modules', $cfg['tpl'])->assign('menuid', $menuid)->assign('currentmenu', $currentmenu)->assign('current_uri', $current_uri)->assign('menu', $menu)->assign('items', $items)->assign('last_level', 0)->assign('user_id', $inUser->id)->assign('is_admin', $inUser->is_admin)->assign('cfg', $cfg)->display($cfg['tpl']);
    return true;
}
Example #11
0
 public function execute($event, $user)
 {
     parent::execute();
     $inCore = cmsCore::getInstance();
     $inUser = cmsUser::getInstance();
     $inCore->loadModel('usermaps');
     $model = new cms_model_usermaps();
     $catalogs = array();
     $user_id = $user['id'];
     $limit = $this->config['Количество объектов'];
     $steep = $this->config['Квадрат поиска в метрах'];
     $have_point = $model->getUserPlace($user_id);
     if ($have_point) {
         $points = $model->getArround($have_point['id']);
     }
     ob_start();
     if ($have_point and $inUser->id == $user_id) {
         $smarty = $this->inCore->initSmarty('plugins', 'p_places_sosedi.tpl');
         $smarty->assign('total', count($points));
         $smarty->assign('points', $points);
         $smarty->display('p_places_sosedi.tpl');
     }
     $html = ob_get_clean();
     return $html;
 }
Example #12
0
function polls()
{
    $model = new cms_model_polls();
    global $_LANG;
    $do = cmsCore::getInstance()->do;
    //========================================================================================================================//
    //========================================================================================================================//
    if ($do == 'view') {
        $answer = cmsCore::request('answer', 'str', '');
        $poll_id = cmsCore::request('poll_id', 'int');
        if (!$answer || !$poll_id) {
            if (cmsCore::isAjax()) {
                cmsCore::jsonOutput(array('error' => true, 'text' => $_LANG['SELECT_THE_OPTION']));
            } else {
                cmsCore::error404();
            }
        }
        $poll = $model->getPoll($poll_id);
        if (!$poll) {
            cmsCore::jsonOutput(array('error' => true, 'text' => ''));
        }
        if ($model->isUserVoted($poll_id)) {
            cmsCore::jsonOutput(array('error' => true, 'text' => ''));
        }
        if (!cmsUser::checkCsrfToken()) {
            cmsCore::halt();
        }
        $model->votePoll($poll, $answer);
        cmsCore::jsonOutput(array('error' => false, 'text' => $_LANG['VOTE_ACCEPTED']));
    }
}
function mod_pogoda_current($mod, $cfg)
{
    $inCore = cmsCore::getInstance();
    //Загрузка настроек компонента
    $component = $inCore->loadComponentConfig('pogoda');
    $component["name_en"] = $component["name_en"] ? $component["name_en"] . '_' : '';
    // Проверяем включен ли компонент и установлен ли city_id
    if (!$component['component_enabled'] || !$component['city_id']) {
        return false;
    }
    cmsCore::loadModel('pogoda');
    $model = new cms_model_pogoda();
    $model->setTable('current');
    $dbWeather = $model->getWeather();
    $xml = simplexml_load_string($dbWeather["xml"]);
    if (!$xml) {
        return true;
    }
    $current = array();
    $current["temperature"] = round($xml->temperature["value"]) . ' &#176;C';
    $current["weather"]["value"] = $xml->weather["value"];
    $current["weather"]["icon"] = $xml->weather["icon"];
    cmsPage::initTemplate('modules', $cfg['tpl'])->assign('current', $current)->display($cfg['tpl']);
    return true;
}
Example #14
0
 public function __construct()
 {
     cmsCore::loadClass('page');
     $this->inCore = cmsCore::getInstance();
     $this->inDB = cmsDatabase::getInstance();
     $this->inPage = cmsPage::getInstance();
 }
Example #15
0
 public function photomap($photo)
 {
     $inCore = cmsCore::getInstance();
     $inUser = cmsUser::getInstance();
     $type = "photo";
     if ($photo['user_id'] == $inUser->id) {
         $is_author = TRUE;
     }
     $sql = mysql_query("SELECT * FROM cms_places_events WHERE `object_id` = '" . $photo['id'] . "' AND `object_type` = '{$type}'");
     $cfg = $inCore->loadComponentConfig('usermaps');
     ob_start();
     if (mysql_num_rows($sql) == 1 or $is_author) {
         $point = mysql_fetch_assoc($sql);
         if ($point['x'] == "" or $point['y'] == "") {
             $center = $cfg['maps_center'];
             $have_point = FALSE;
         } else {
             $center = '"' . $point['x'] . '","' . $point['y'] . '"';
             $have_point = TRUE;
         }
         $smarty = $this->inCore->initSmarty('plugins', 'p_places_imagesonmap.tpl');
         $smarty->assign('is_author', $is_author);
         $smarty->assign('photo_id', $photo['id']);
         $smarty->assign('photo_type', $type);
         $smarty->assign('center', $center);
         $smarty->assign('cfg', $cfg);
         $smarty->assign('have_point', $have_point);
         $smarty->display('p_places_imagesonmap.tpl');
     }
     $html = ob_get_clean();
     return $html;
 }
Example #16
0
 public function __construct()
 {
     $this->inDB = cmsDatabase::getInstance();
     $this->config = cmsCore::getInstance()->loadComponentConfig('actions');
     cmsCore::loadClass('actions');
     cmsCore::loadLanguage('components/users');
 }
Example #17
0
 public function routeAction($action_name)
 {
     if (!is_numeric($action_name)) {
         return $action_name;
     }
     $group_id = $action_name;
     $group = $this->model->getGroup($group_id);
     if (!$group) {
         cmsCore::error404();
     }
     $core = cmsCore::getInstance();
     $user = cmsUser::getInstance();
     $this->current_params = $core->uri_params;
     $this->current_params[0] = $group;
     $membership = $this->model->getMembership($group['id'], $user->id);
     $is_member = $membership !== false;
     if ($group['is_closed'] && !$is_member && !$user->is_admin && (empty($core->uri_params[0]) || $core->uri_params[0] != 'join')) {
         return 'group_closed';
     }
     if (!$core->uri_params) {
         return 'group';
     }
     $action_name = $core->uri_params[0];
     $action_name = 'group_' . $action_name;
     return $action_name;
 }
Example #18
0
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;

}
Example #19
0
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);
}
Example #20
0
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);

}
Example #21
0
 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()));
 }
Example #22
0
 function __construct()
 {
     $this->inDB = cmsDatabase::getInstance();
     $this->inCore = cmsCore::getInstance();
     $this->inPage = cmsPage::getInstance();
     $this->inUser = cmsUser::getInstance();
     $this->root = $_SERVER['DOCUMENT_ROOT'];
 }
Example #23
0
 public function deleteQuest($id)
 {
     $inCore = cmsCore::getInstance();
     $this->inDB->query("DELETE FROM cms_armedlist_quests WHERE id={$id}");
     $inCore->deleteComments('armedlist', $id);
     cmsActions::removeObjectLog('add_quest', $id);
     return true;
 }
Example #24
0
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;
}
Example #25
0
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);

}
Example #26
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 #27
0
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;
}
Example #28
0
    public function __construct(){
        $this->config = cmsCore::getInstance()->loadComponentConfig('arhive');

        cmsCore::loadLanguage('components/arhive');
        $this->year  = cmsCore::request('y', 'int', 'all');
        $this->month = sprintf("%02d", cmsCore::request('m', 'int', 'all'));
        $this->day   = sprintf("%02d", cmsCore::request('d', 'int', 'all'));
        $this->setSqlParams();
    }
Example #29
0
 public function route($uri)
 {
     $core = cmsCore::getInstance();
     $action_name = $this->parseRoute($core->uri);
     if (!$action_name) {
         cmsCore::error404();
     }
     $this->runAction($action_name);
 }
Example #30
0
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);
}