Вход Регистрация
Файл: components/blogs/model.php
Строк: 104
<?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'); }

class 
cms_model_blogs{

    public function 
__construct(){
        
$this->inDB cmsDatabase::getInstance();
        
$this->config cmsCore::getInstance()->loadComponentConfig('blogs');
    }

/* ==================================================================================================== */
/* ==================================================================================================== */

    
public static function getDefaultConfig() {

        
$cfg = array (
              
'perpage' => 10,
              
'perpage_blog' => 15,
              
'update_date' => 0,
              
'update_seo_link' => 0,
              
'min_karma_private' => 0,
              
'min_karma_public' => 5,
              
'min_karma' => 1,
              
'list_min_rating' => 0,
              
'watermark' => 1,
              
'img_on' => 1,
              
'update_seo_link_blog' => 0
            
);

        return 
$cfg;

    }

/* ==================================================================================================== */
/* ==================================================================================================== */

   //
   // этот метод вызывается компонентом comments при создании нового комментария
   // метод обновляет количество комментариев для поста и для блога в целом
   //
   
public function updateCommentsCount($target$target_id) {

        if (
$target != 'blog') { return false; }

        
cmsCore::loadClass('blog');

        return 
cmsBlogs::updateCommentsCount($target$target_id);

    }

/* ==================================================================================================== */
/* ==================================================================================================== */

   //
   // этот метод вызывается компонентом comments при создании нового комментария
   // метод должен вернуть массив содержащий ссылку и заголовок поста, к которому
   // добавляется комментарий
   //
   
public function getCommentTarget($target$target_id) {

        
$result = array();

        switch(
$target){

            case 
'blog'$sql "SELECT p.title as title,
                                        p.seolink as seolink,
                                        b.seolink as bloglink
                                 FROM cms_blog_posts p
                                 LEFT JOIN cms_blogs b ON b.id = p.blog_id
                                 WHERE p.id = '
{$target_id}' LIMIT 1";
 
                         
$res $this->inDB->query($sql);
                         if (!
$this->inDB->num_rows($res)){ return false; }
                         
$post $this->inDB->fetch_assoc($res);
                         
$result['link']  = $this->getPostURL($post['bloglink'], $post['seolink']);
                         
$result['title'] = $post['title'];
                         break;

        }

        return (
$result $result false);

    }

/* ==================================================================================================== */
/* ==================================================================================================== */
   //
   // этот метод вызывается компонентом comments при создании нового комментария
   // метод должен вернуть 0 или 1
   //
   
public function getVisibility($target$target_id) {

        
$is_hidden 0;

        switch(
$target){

            case 
'blog'
                        
// получаем массив поста
                        
$post $this->inDB->get_fields('cms_blog_posts'"id='$target_id'"'blog_id, allow_who, published');
                        if(
$post['allow_who'] != 'all' || !$post['published']) { $is_hidden 1; }
                        
// получаем массив блога
                        
$blog $this->inDB->get_fields('cms_blogs'"id='{$post['blog_id']}'"'allow_who');
                        if(
$blog['allow_who'] != 'all') { $is_hidden 1; }
                        break;

        }

        return 
$is_hidden;

    }
/* ==================================================================================================== */
/* ==================================================================================================== */

    // 
    // этот метод является хуком и вызывается при изменении рейтинга объекта blogpost
    // см. таблицу cms_rating_targets
    //
    
public function updateRatingHook($target$item_id$points) {

        if (
$target != 'blogpost' || !$item_id || abs($points)!=1) { return false; }

        
$sql "UPDATE cms_blogs b, cms_blog_posts p
                SET b.rating = b.rating + (
{$points}), p.rating = p.rating + ({$points})
                WHERE p.blog_id = b.id AND p.id = 
{$item_id}";

        
$this->inDB->query($sql);

        return 
true;

    }

/* ==================================================================================================== */
/* ==================================================================================================== */

    
public static function getPostURL($bloglink$seolink){

        return 
'/blogs/'.$bloglink.'/'.$seolink.'.html';

    }

/* ==================================================================================================== */
/* ==================================================================================================== */

    
public static function getBlogURL($bloglink$page=1$cat_id=0){

        
$cat_section  = ($cat_id >'/cat-'.$cat_id   '');
        
$page_section = ($page   >'/page-'.$page    '');

        return 
'/blogs/'.$bloglink.$cat_section.$page_section;

    }

/* ==================================================================================================== */
/* ==================================================================================================== */

}
Онлайн: 2
Реклама