Вход Регистрация
Файл: components/content/frontend.php
Строк: 595
<?php
/******************************************************************************/
//                                                                            //
//                             InstantCMS v1.10                               //
//                        http://www.instantcms.ru/                           //
//                                                                            //
//                   written by InstantCMS Team, 2007-2012                    //
//                produced by InstantSoft, (www.instantsoft.ru)               //
//                                                                            //
//                        LICENSED BY GNU/GPL v2                              //
//                                                                            //
/******************************************************************************/
if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }

function 
content(){

    
$inCore cmsCore::getInstance();
    
$inPage cmsPage::getInstance();
    
$inDB   cmsDatabase::getInstance();
    
$inUser cmsUser::getInstance();

    
cmsCore::loadModel('content');
    
$model = new cms_model_content();

    
define('IS_BILLING'$inCore->isComponentInstalled('billing'));
    if (
IS_BILLING) { cmsCore::loadClass('billing'); }

    global 
$_LANG;

    
$id cmsCore::request('id''int'0);
    
$do $inCore->do;

    
$seolink cmsCore::strClear(urldecode(cmsCore::request('seolink''html''')));

    
$page cmsCore::request('page''int'1);

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

    
$cat $inDB->getNsCategory('cms_category'$seolink);

    
// если не найдена категория и мы не на главной, 404
    
if (!$cat && $inCore->menuId() !== 1) { cmsCore::error404(); }

    
// Плагины
    
$cat cmsCore::callEvent('GET_CONTENT_CAT'$cat);

    
// Неопубликованные показываем только админам
    
if (!$cat['published'] && !$inUser->is_admin) { cmsCore::error404(); }

    
// Проверяем доступ к категории
    
if(!$inCore->checkUserAccess('category'$cat['id']) ){

        
cmsCore::addSessionMessage($_LANG['NO_PERM_FOR_VIEW_TEXT'].'<br>'.$_LANG['NO_PERM_FOR_VIEW_RULES'], 'error');
        
cmsCore::redirect('/content');

    }

    
// если не корень категорий
    
if($cat['NSLevel'] > 0){
        
$inPage->setTitle($cat['title']);
        
$pagetitle $cat['title'];
        
$showdate  $cat['showdate'];
        
$showcomm  $cat['showcomm'];
        
$inPage->addHead('<link rel="alternate" type="application/rss+xml" title="'.htmlspecialchars($cat['title']).'" href="'.HOST.'/rss/content/'.$cat['id'].'/feed.rss">');
    }

    
// Если корневая категория
    
if ($cat['NSLevel'] == 0){
        
$inPage->setTitle($_LANG['CATALOG_ARTICLES']);
        
$pagetitle $_LANG['CATALOG_ARTICLES'];
        
$showdate  1;
        
$showcomm  1;
    }

    
// Получаем дерево категорий
    
$path_list $inDB->getNsCategoryPath('cms_category'$cat['NSLeft'], $cat['NSRight'], 'id, title, NSLevel, seolink, url');

    if (
$path_list){

        foreach(
$path_list as $pcat){

            if(!
$inCore->checkUserAccess('category'$pcat['id'])){
                
cmsCore::addSessionMessage($_LANG['NO_PERM_FOR_VIEW_TEXT'].'<br>'.$_LANG['NO_PERM_FOR_VIEW_RULES'], 'error');
                
cmsCore::redirect('/content');
            }

            
$inPage->addPathway($pcat['title'], $model->getCategoryURL(null$pcat['seolink']));

        }

    }

    
// Получаем подкатегории
    
$subcats_list $model->getSubCats($cat['id']);

    
// Привязанный фотоальбом
    
$cat_photos $model->getCatPhotoAlbum($cat['photoalbum']);

    
// Получаем статьи
    // Редактор/администратор
    
$is_editor = (($cat['modgrp_id'] == $inUser->group_id  && cmsUser::isUserCan('content/autoadd')) || $inUser->is_admin);

    
// Условия
    
$model->whereCatIs($cat['id']);

    
// Общее количество статей
    
$total $model->getArticlesCount($is_editor);

    
// Сортировка и разбивка на страницы
    
$inDB->orderBy($cat['orderby'], $cat['orderto']);
    
$inDB->limitPage($page$model->config['perpage']);

    
// Получаем статьи
    
$content_list $total ?
                    
$model->getArticlesList(!$is_editor) :
                    array(); 
$inDB->resetConditions();

    
$pagebar  cmsPage::getPagebar($total$page$model->config['perpage'], $model->getCategoryURL(null$cat['seolink'], 0true));

    
$template = ($cat['tpl'] ? $cat['tpl'] : 'com_content_view.tpl');

    
$smarty $inCore->initSmarty('components'$template);
    
$smarty->assign('cat'$cat);
    
$smarty->assign('is_homepage', (bool)($inCore->menuId()==1));
    
$smarty->assign('showdate'$showdate);
    
$smarty->assign('showcomm'$showcomm);
    
$smarty->assign('pagetitle'$pagetitle);
    
$smarty->assign('subcats'$subcats_list);
    
$smarty->assign('cat_photos'$cat_photos);
    
$smarty->assign('articles'$content_list);
    
$smarty->assign('pagebar'$pagebar);
    
$smarty->display($template);

}
///////////////////////////////////// READ ARTICLE ////////////////////////////////////////////////////////////////////////////////
if ($do=='read'){

    
// Получаем статью
    
$article $model->getArticle($seolink);
    if (!
$article) { cmsCore::error404(); }

    
$article cmsCore::callEvent('GET_ARTICLE'$article);

    if (
$inUser->id) {
        
$is_admin      $inUser->is_admin;
        
$is_author     $inUser->id == $article['user_id'];
        
$is_author_del cmsUser::isUserCan('content/delete');
        
$is_editor     = ($article['modgrp_id'] == $inUser->group_id && cmsUser::isUserCan('content/autoadd'));
    }

    
// если статья не опубликована или дата публикации позже, 404
    
if ((!$article['published'] || strtotime($article['pubdate']) > time()) && !$is_admin && !$is_editor && !$is_author) { cmsCore::error404(); }

    if(!
$inCore->checkUserAccess('material'$article['id'])){
        
cmsCore::addSessionMessage($_LANG['NO_PERM_FOR_VIEW_TEXT'].'<br>'.$_LANG['NO_PERM_FOR_VIEW_RULES'], 'error');
        
cmsCore::redirect($model->getCategoryURL(null$article['catseolink']));
    }

    
// увеличиваем кол-во просмотров
    
if(@!$is_author){
        
$inDB->setFlag('cms_content'$article['id'], 'hits'$article['hits']+1);
    }

    
// Картинка статьи
    
$article['image'] = (file_exists(PATH.'/images/photos/medium/article'.$article['id'].'.jpg') ? 'article'.$article['id'].'.jpg' '');
    
// Заголовок страницы
    
$article['pagetitle'] = $article['pagetitle'] ? $article['pagetitle'] : $article['title'];
    
// Тело статьи в зависимости от настроек
    
$article['content'] = $model->config['readdesc'] ? $article['description'].$article['content'] : $article['content'];
    
// Дата публикации
    
$article['pubdate'] = cmsCore::dateformat($article['pubdate']);
    
// Шаблон статьи
    
$article['tpl'] = $article['tpl'] ? $article['tpl'] : 'com_content_read.tpl';

    
$inPage->setTitle($article['pagetitle']);

    
// Получаем дерево категорий
    
$path_list $article['showpath'] ?
                        
$inDB->getNsCategoryPath('cms_category'$article['leftkey'], $article['rightkey'], 'id, title, NSLevel, seolink, url') :
                        array();

    if (
$path_list){

        foreach(
$path_list as $pcat){

            if(!
$inCore->checkUserAccess('category'$pcat['id'])){
                
cmsCore::addSessionMessage($_LANG['NO_PERM_FOR_VIEW_TEXT'].'<br>'.$_LANG['NO_PERM_FOR_VIEW_RULES'], 'error');
                
cmsCore::redirect('/content');
            }

            
$inPage->addPathway($pcat['title'], $model->getCategoryURL(null$pcat['seolink']));

        }

    }

    
$inPage->addPathway($article['title']);

    
// Мета теги KEYWORDS и DESCRIPTION
    
if ($article['meta_keys']){
        
$inPage->setKeywords($article['meta_keys']);
    } else {
        if (
mb_strlen($article['content'])>30){
            
$inPage->setKeywords(cmsCore::getKeywords(cmsCore::strClear($article['content'])));
        }
    }
    if (
mb_strlen($article['meta_desc'])){
        
$inPage->setDescription($article['meta_desc']);
    }

    
// Выполняем фильтры
    
$article['content'] = cmsCore::processFilters($article['content']);

    
// Разбивка статей на страницы
    
foreach($GLOBALS['pt'] as $num=>$page_title){
        
$pt_pages[$num]['title'] = $page_title;
        
$pt_pages[$num]['url']   = $model->getArticleURL(null$article['seolink'], $num+1);
    }

    
// Рейтинг статьи
    
if($model->config['rating'] && $article['canrate']){

        
$inPage->addHeadJS('core/js/karma.js');
        
$karma cmsKarma('content'$article['id']);
        
$karma_points cmsKarmaFormatSmall($karma['points']);
        
$btns cmsKarmaButtonsText('content'$article['id'], $karma['points'], $is_author);

    }

    
$smarty $inCore->initSmarty('components'$article['tpl']);
    
$smarty->assign('article'$article);
    
$smarty->assign('cfg'$model->config);
    
$smarty->assign('page'$page);
    
$smarty->assign('is_pages'sizeof($GLOBALS['pt']));
    
$smarty->assign('pt_pages', @$pt_pages);
    
$smarty->assign('is_admin'$is_admin);
    
$smarty->assign('is_editor'$is_editor);
    
$smarty->assign('is_author'$is_author);
    
$smarty->assign('is_author_del'$is_author_del);
    
$smarty->assign('tagbar'cmsTagBar('content'$article['id']));
    
$smarty->assign('karma_points', @$karma_points);
    
$smarty->assign('karma_votes', @$karma['votes']);
    
$smarty->assign('karma_buttons', @$btns);
    
$smarty->display($article['tpl']);

    
// Комментарии статьи
    
if($article['published'] && $article['comments'] && $inCore->isComponentInstalled('comments')){
        
cmsCore::includeComments();
        
comments('article'$article['id']);
    }

}
///////////////////////////////////// ADD ARTICLE //////////////////////////////////////////////////////////////////////////////////
if ($do=='addarticle' || $do=='editarticle'){

    
$is_add      cmsUser::isUserCan('content/add');     // может добавлять статьи
    
$is_auto_add cmsUser::isUserCan('content/autoadd'); // добавлять статьи без модерации

    
if (!$is_add && !$is_auto_add){ cmsCore::error404(); }

    
// Для редактирования получаем статью и проверяем доступ
    
if ($do=='editarticle'){

        
// Получаем статью
        
$item $model->getArticle($id);
        if (!
$item) { cmsCore::error404(); }

        
$pubcats = array();

        
// доступ к редактированию админам, авторам и редакторам
        
if(!$inUser->is_admin &&
                (
$item['user_id'] != $inUser->id) &&
                !(
$item['modgrp_id'] == $inUser->group_id && cmsUser::isUserCan('content/autoadd'))){
            
cmsCore::error404();
        }

    }

    
// Для добавления проверяем не вводили ли мы данные ранее
    
if ($do=='addarticle'){

        
$item cmsUser::sessionGet('article');
        if (
$item) { cmsUser::sessionDel('article'); }

        
// Категории, в которые разрешено публиковать
        
$pubcats $model->getPublicCats();
        if(!
$pubcats) { cmsCore::addSessionMessage($_LANG['ADD_ARTICLE_ERR_CAT'], 'error'); cmsCore::redirectBack(); }

    }

    
// не было запроса на сохранение, показываем форму
    
if (!cmsCore::inRequest('add_mod')){

        
$dynamic_cost false;

        
// Если добавляем статью
        
if ($do=='addarticle'){

            
$pagetitle $_LANG['ADD_ARTICLE'];

            
$inPage->setTitle($pagetitle);
            
$inPage->addPathway($_LANG['USERS'], '/'.str_replace('/'''cmsUser::PROFILE_LINK_PREFIX));
            
$inPage->addPathway($inUser->nicknamecmsUser::getProfileURL($inUser->login));
            
$inPage->addPathway($_LANG['MY_ARTICLES'], '/content/my.html');
            
$inPage->addPathway($pagetitle);

            
// поддержка биллинга
            
if (IS_BILLING){
                
$action cmsBilling::getAction('content''add_content');
                foreach(
$pubcats as $p=>$pubcat){
                    if (
$pubcat['cost']){
                        
$dynamic_cost true;
                    } else {
                        
$pubcats[$p]['cost'] = $action['point_cost'][$inUser->group_id];
                    }
                }
                
cmsBilling::checkBalance('content''add_content'$dynamic_cost);
            }

        }

        
// Если редактируем статью
        
if ($do=='editarticle'){

            
$pagetitle $_LANG['EDIT_ARTICLE'];

            
$inPage->setTitle($pagetitle);
            
$inPage->addPathway($_LANG['USERS'], '/'.str_replace('/'''cmsUser::PROFILE_LINK_PREFIX));
            if(
$item['user_id'] != $inUser->id){
                
$user $inDB->get_fields('cms_users'"id='{$item['user_id']}'"'login, nickname');
                
$inPage->addPathway($user['nickname'], cmsUser::getProfileURL($user['login']));
            } else {
                
$inPage->addPathway($inUser->nicknamecmsUser::getProfileURL($inUser->login));
            }
            
$inPage->addPathway($_LANG['MY_ARTICLES'], '/content/my.html');
            
$inPage->addPathway($pagetitle);

            
$item['tags']  = cmsTagLine('content'$item['id'], false);
            
$item['image'] = (file_exists(PATH.'/images/photos/small/article'.$item['id'].'.jpg') ? 'article'.$item['id'].'.jpg' '');

            if (!
$is_auto_add){
                
cmsCore::addSessionMessage($_LANG['ATTENTION'].': '.$_LANG['EDIT_ARTICLE_PREMODER'], 'info');
            }

        }

        
$inPage->initAutocomplete();
        
$autocomplete_js $inPage->getAutocompleteJS('tagsearch''tags');

        
$item cmsCore::callEvent('PRE_EDIT_ARTICLE', (@$item $item : array()));

        
$smarty $inCore->initSmarty('components''com_content_edit.tpl');
        
$smarty->assign('mod'$item);
        
$smarty->assign('do'$do);
        
$smarty->assign('cfg'$model->config);
        
$smarty->assign('pubcats'$pubcats);
        
$smarty->assign('pagetitle'$pagetitle);
        
$smarty->assign('is_admin'$inUser->is_admin);
        
$smarty->assign('is_billing'IS_BILLING);
        
$smarty->assign('dynamic_cost'$dynamic_cost);
        
$smarty->assign('autocomplete_js'$autocomplete_js);
        
$smarty->display('com_content_edit.tpl');

    }

    
// Пришел запрос на сохранение статьи
    
if (cmsCore::inRequest('add_mod')){

        
$errors false;

        
$article['category_id']  = cmsCore::request('category_id''int'1);
        
$article['user_id']      = $item['user_id'] ? $item['user_id'] : $inUser->id;
        
$article['title']        = cmsCore::request('title''str''');
        
$article['tags']         = cmsCore::request('tags''str''');

        
$article['description']  = cmsCore::request('description''html''');
        
$article['content']      = cmsCore::request('content''html''');
        
$article['description']  = cmsCore::badTagClear($article['description']);
        
$article['content']      = cmsCore::badTagClear($article['content']);
        
$article['description']  = $inDB->escape_string($article['description']);
        
$article['content']      = $inDB->escape_string($article['content']);

        
$article['published']    = $is_auto_add 0;
        if (
$do=='editarticle'){
           
$article['published'] = ($item['published'] == 0) ? $item['published'] : $article['published'];
        }
        
$article['pubdate']      = $do=='editarticle' $item['pubdate'] : date('Y-m-d H:i');
        
$article['enddate']      = $do=='editarticle' $item['enddate'] : $article['pubdate'];
        
$article['is_end']       = $do=='editarticle' $item['is_end'] : 0;
        
$article['showtitle']    = $do=='editarticle' $item['showtitle'] : 1;

        
$article['meta_desc']    = $do=='addarticle' mb_strtolower($article['title']) : $inDB->escape_string($item['meta_desc']);
        
$article['meta_keys']    = $do=='addarticle' $inCore->getKeywords($article['content']) : $inDB->escape_string($item['meta_keys']);

        
$article['showdate']     = $do=='editarticle' $item['showdate'] : 1;
        
$article['showlatest']   = $do=='editarticle' $item['showlatest'] : 1;
        
$article['showpath']     = $do=='editarticle' $item['showpath'] : 1;
        
$article['comments']     = $do=='editarticle' $item['comments'] : 1;
        
$article['canrate']      = $do=='editarticle' $item['canrate'] : 1;
        
$article['pagetitle']    = '';
        if (
$do=='editarticle'){
           
$article['tpl']       = $item['tpl'];
        }

        if (
mb_strlen($article['title'])<2){ cmsCore::addSessionMessage($_LANG['REQ_TITLE'], 'error'); $errors true; }
        if (
mb_strlen($article['content'])<10){ cmsCore::addSessionMessage($_LANG['REQ_CONTENT'], 'error'); $errors true; }

        if(
$errors) {

            
// При добавлении статьи при ошибках сохраняем введенные поля
            
if ($do=='addarticle'){
                
cmsUser::sessionPut('article'$article);
            }

            
$inCore->redirectBack();
        }

        
$article cmsCore::callEvent('AFTER_EDIT_ARTICLE'$article);

        
// добавление статьи
        
if ($do=='addarticle'){
            
$article_id $model->addArticle($article);
        }

        
// загрузка фото
        
$file 'article'.(@$article_id $article_id $item['id']).'.jpg';

        if (
cmsCore::request('delete_image''int'0)){
            @
unlink(PATH."/images/photos/small/$file");
            @
unlink(PATH."/images/photos/medium/$file");
        }

        
// Загружаем класс загрузки фото
        
cmsCore::loadClass('upload_photo');
        
$inUploadPhoto cmsUploadPhoto::getInstance();
        
// Выставляем конфигурационные параметры
        
$inUploadPhoto->upload_dir    PATH.'/images/photos/';
        
$inUploadPhoto->small_size_w  $model->config['img_small_w'];
        
$inUploadPhoto->medium_size_w $model->config['img_big_w'];
        
$inUploadPhoto->thumbsqr      $model->config['img_sqr'];
        
$inUploadPhoto->is_watermark  $model->config['watermark'];
        
$inUploadPhoto->input_name    'picture';
        
$inUploadPhoto->filename      $file;
        
// Процесс загрузки фото
        
$inUploadPhoto->uploadPhoto();

        
// операции после добавления/редактирования статьи
        // добавление статьи
        
if ($do=='addarticle'){

            
// Получаем добавленную статью
            
$article $model->getArticle($article_id);

            if (!
$article['published']){

                
cmsCore::addSessionMessage($_LANG['ARTICLE_PREMODER_TEXT'], 'info');

                
// отсылаем уведомление администраторам
                
$link '<a href="'.$model->getArticleURL(null$article['seolink']).'">'.$article['title'].'</a>';
                
$message str_replace('%user%'cmsUser::getProfileLink($inUser->login$inUser->nickname), $_LANG['MSG_ARTICLE_SUBMIT']);
                
$message str_replace('%link%'$link$message);

                
cmsUser::sendMessageToGroup(USER_UPDATERcmsUser::getAdminGroups(), $message);

            } else {

                
//регистрируем событие
                
cmsActions::log('add_article', array(
                    
'object' => $article['title'],
                    
'object_url' =>  $model->getArticleURL(null$article['seolink']),
                    
'object_id' =>  $article['id'],
                    
'target' => $article['cat_title'],
                    
'target_url' => $model->getCategoryURL(null$article['catseolink']),
                    
'target_id' =>  $article['category_id'],
                    
'description' => ''
                
));

                if (
IS_BILLING){
                    
$category_cost $article['cost']==='' false : (int)$article['cost'];
                    
cmsBilling::process('content''add_content'$category_cost);
                }

                
cmsUser::checkAwards($inUser->id);

            }

            
cmsCore::addSessionMessage($_LANG['ARTICLE_SAVE'], 'info');

            
cmsCore::redirect('/my.html');

        }

        
// Редактирование статьи
        
if ($do=='editarticle'){

            
$model->updateArticle($item['id'], $articletrue);

            
cmsActions::updateLog('add_article', array('object' => $article['title']), $item['id']);

            if (!
$article['published']){

                
$link '<a href="'.$model->getArticleURL(null$item['seolink']).'">'.$article['title'].'</a>';
                
$message str_replace('%user%'cmsUser::getProfileLink($inUser->login$inUser->nickname), $_LANG['MSG_ARTICLE_EDITED']);
                
$message str_replace('%link%'$link$message);

                
cmsUser::sendMessageToGroup(USER_UPDATERcmsUser::getAdminGroups(), $message);

            }

            
$mess $article['published'] ? $_LANG['ARTICLE_SAVE'] : $_LANG['ARTICLE_SAVE'].' '.$_LANG['ARTICLE_PREMODER_TEXT'];
            
cmsCore::addSessionMessage($mess'info');

            
cmsCore::redirect($model->getArticleURL(null$item['seolink']));

        }

    }
}
///////////////////////// PUBLISH ARTICLE /////////////////////////////////////////////////////////////////////////////
if ($do == 'publisharticle'){

    if (!
$inUser->id){ cmsCore::error404(); }

    
$article $model->getArticle($id);
    if (!
$article) { cmsCore::error404(); }

    
// Редактор с правами на добавление без модерации или администраторы могут публиковать
    
if (!(($article['modgrp_id'] == $inUser->group_id) && cmsUser::isUserCan('content/autoadd')) && !$inUser->is_admin) { cmsCore::error404(); }

    
$inDB->setFlag('cms_content'$article['id'], 'published'1);

    
cmsCore::callEvent('ADD_ARTICLE_DONE'$article);

    if (
IS_BILLING){
        
$author $inDB->get_fields('cms_users'"id='{$article['user_id']}'"'*');
        
$category_cost $article['cost']==='' false : (int)$article['cost'];
        
cmsBilling::process('content''add_content'$category_cost$author);
    }

    
//регистрируем событие
    
cmsActions::log('add_article', array(
           
'object' => $article['title'],
           
'user_id' => $article['user_id'],
           
'object_url' =>  $model->getArticleURL(null$article['seolink']),
           
'object_id' =>  $article['id'],
           
'target' => $article['cat_title'],
           
'target_url' => $model->getCategoryURL(null$article['catseolink']),
           
'target_id' =>  $article['cat_id'],
           
'description' => ''
    
));

    
$link '<a href="'.$model->getArticleURL(null$article['seolink']).'">'.$article['title'].'</a>';
    
$message str_replace('%link%'$link$_LANG['MSG_ARTICLE_ACCEPTED']);
    
cmsUser::sendMessage(USER_UPDATER$article['user_id'], $message);

    
cmsUser::checkAwards($article['user_id']);

    
cmsCore::redirectBack();

}
///////////////////////////////////// DELETE ARTICLE ///////////////////////////////////////////////////////////////////////////////////
if ($do=='deletearticle'){

    if (!
$inUser->id){ cmsCore::error404(); }

    
$article $model->getArticle($id);
    if (!
$article) { cmsCore::error404(); }

    
// права доступа
    
$is_author cmsUser::isUserCan('content/delete') && ($article['user_id'] == $inUser->id);
    
$is_editor = ($article['modgrp_id'] == $inUser->group_id) && cmsUser::isUserCan('content/autoadd');

    if (!
$is_author && !$is_editor && !$inUser->is_admin) { cmsCore::error404(); }

    if (!
cmsCore::inRequest('goadd')){

        
$inPage->setTitle($_LANG['ARTICLE_REMOVAL']);
        
$inPage->addPathway($_LANG['ARTICLE_REMOVAL']);

        
$confirm['title']              = $_LANG['ARTICLE_REMOVAL'];
        
$confirm['text']               = $_LANG['ARTICLE_REMOVAL_TEXT'].' <a href="'.$model->getArticleURL(null$article['seolink']).'">'.$article['title'].'</a>?';
        
$confirm['action']             = $_SERVER['REQUEST_URI'];
        
$confirm['yes_button']         = array();
        
$confirm['yes_button']['type'] = 'submit';
        
$confirm['yes_button']['name'] = 'goadd';
        
$smarty $inCore->initSmarty('components''action_confirm.tpl');
        
$smarty->assign('confirm'$confirm);
        
$smarty->display('action_confirm.tpl');

    } else {

        
$model->deleteArticle($article['id']);

        if (
$_SERVER['HTTP_REFERER'] == '/my.html' ) {

            
cmsCore::addSessionMessage($_LANG['ARTICLE_DELETED'], 'info');
            
cmsCore::redirectBack();

        } else {

            
// если удалили как администратор или редактор и мы не авторы статьи, отсылаем сообщение автору
            
if (($is_editor || $inUser->is_admin) && $article['user_id'] != $inUser->id){

                
$link '<a href="'.$model->getArticleURL(null$article['seolink']).'">'.$article['title'].'</a>';
                
$message str_replace('%link%'$link, ($article['published'] ? $_LANG['MSG_ARTICLE_DELETED'] : $_LANG['MSG_ARTICLE_REJECTED']));
                
cmsUser::sendMessage(USER_UPDATER$article['user_id'], $message);

            } else {
                
cmsCore::addSessionMessage($_LANG['ARTICLE_DELETED'], 'info');
            }

            
cmsCore::redirect($model->getCategoryURL(null$article['catseolink']));

        }

    }

}
///////////////////////////////////// MY ARTICLES ///////////////////////////////////////////////////////////////////////////////////
if ($do=='my'){

    if (!
cmsUser::isUserCan('content/add')){ cmsCore::error404(); }

    
$inPage->setTitle($_LANG['MY_ARTICLES']);
    
$inPage->addPathway($_LANG['USERS'], '/'.str_replace('/'''cmsUser::PROFILE_LINK_PREFIX));
    
$inPage->addPathway($inUser->nicknamecmsUser::getProfileURL($inUser->login));
    
$inPage->addPathway($_LANG['MY_ARTICLES']);

    
$perpage 15;

    
// Условия
    
$model->whereUserIs($inUser->id);

    
// Общее количество статей
    
$total $model->getArticlesCount(false);

    
// Сортировка и разбивка на страницы
    
$inDB->orderBy('con.pubdate''DESC');
    
$inDB->limitPage($page$perpage);

    
// Получаем статьи
    
$content_list $total ?
                    
$model->getArticlesList(false) :
                    array(); 
$inDB->resetConditions();

    
$smarty $inCore->initSmarty('components''com_content_my.tpl');
    
$smarty->assign('articles'$content_list);
    
$smarty->assign('total'$total);
    
$smarty->assign('user_can_delete'cmsUser::isUserCan('content/delete'));
    
$smarty->assign('pagebar'cmsPage::getPagebar($total$page$perpage'/content/my%page%.html'));
    
$smarty->display('com_content_my.tpl');

}
///////////////////////////////////// BEST ARTICLES ///////////////////////////////////////////////////////////////////////////////////
if ($do=='best'){

    
$inPage->setTitle($_LANG['ARTICLES_RATING']);
    
$inPage->addPathway($_LANG['ARTICLES_RATING']);

    
// Только статьи, за которые можно голосовать
    
$inDB->where("con.canrate = 1");

    
// Сортировка и разбивка на страницы
    
$inDB->orderBy('con.rating''DESC');
    
$inDB->limitPage(130);

    
// Получаем статьи
    
$content_list $model->getArticlesList();

    
$smarty $inCore->initSmarty('components''com_content_rating.tpl');
    
$smarty->assign('articles'$content_list);
    
$smarty->display('com_content_rating.tpl');

}

//function
?>
Онлайн: 1
Реклама