Ignore:
Timestamp:
07/28/10 10:35:12 (22 months ago)
Author:
fuze
Message:

Модуль популярные статьи: добавлен выбор категории

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/fuze/modules/mod_bestcontent/module.php

    r181 r236  
    2323                        return; 
    2424                } 
     25                if (!isset($cfg['subs'])) { $cfg['subs'] = 1; } 
    2526                $today = date("Y-m-d H:i:s"); 
     27                if ($cfg['cat_id'] != '-1') { 
     28                        if (!$cfg['subs']){ 
     29                                //âûáèðàåì èç êàòåãîðèè 
     30                                $catsql = ' AND c.category_id = '.$cfg['cat_id']; 
     31                        } else { 
     32                                //âûáèðàåì èç êàòåãîðèè è ïîäêàòåãîðèé 
     33                                $rootcat = $inDB->get_fields('cms_category', 'id='.$cfg['cat_id'], 'NSLeft, NSRight'); 
     34                                $catsql = "AND (c.category_id = cat.id AND cat.NSLeft >= {$rootcat['NSLeft']} AND cat.NSRight <= {$rootcat['NSRight']})"; 
     35                        }                
     36                } else { $catsql = 'AND c.category_id = cat.id'; }  
     37 
    2638 
    2739                $sql = "SELECT c.*, c.pubdate as fpubdate,  
    2840                        IFNULL(r.total_rating, 0) as points, 
    2941                                                u.nickname as author, u.login as author_login 
    30                                 FROM cms_users u, cms_content c 
     42                                FROM cms_category cat, cms_users u, cms_content c 
    3143                                LEFT JOIN cms_ratings_total r ON r.item_id=c.id AND r.target='content' 
    3244                                WHERE c.published = 1 AND c.user_id = u.id AND c.canrate = 1 
    3345                AND (c.is_end=0 OR (c.is_end=1 AND c.enddate >= '$today' AND c.pubdate <= '$today'))  
     46                                ".$catsql." 
    3447                                GROUP BY r.item_id 
    3548                                ORDER BY points DESC"; 
     
    3750                $sql .= "\n" . "LIMIT ".$cfg['shownum']; 
    3851         
    39                 $result = $inDB->query($sql) or die('<pre>'.$sql.'</pre>'.mysql_error()); 
     52                $result = $inDB->query($sql); 
    4053                 
    4154                if ($inDB->num_rows($result)){ 
Note: See TracChangeset for help on using the changeset viewer.