예제 #1
0
 public static function getCategories($p = '0', $ord = 'ord')
 {
     if (!self::$_categories) {
         self::$_categories = array();
     }
     if (isset(self::$_categories[$p . '_' . $ord])) {
         return self::$_categories[$p . '_' . $ord];
     }
     if ($p) {
         $pub = 'WHERE c.published=1 ';
     } else {
         $pub = '';
     }
     if ($ord == 'name') {
         $order = 'c.name';
     } else {
         $order = 'c.ordering';
     }
     $db = JFactory::getDBO();
     $query = "SELECT c.*, cc.name as parent_name,IFNULL(i.items_count,0) items_count FROM #__djcf_categories c " . "LEFT JOIN #__djcf_categories cc ON c.parent_id=cc.id " . "LEFT JOIN (SELECT i.cat_id, count(i.id) as items_count " . "FROM #__djcf_items i WHERE i.published=1 AND i.date_exp > NOW() GROUP BY i.cat_id) i ON i.cat_id=c.id " . $pub . "ORDER BY c.parent_id, " . $order;
     $db->setQuery($query);
     $allcategories = $db->loadObjectList('id');
     foreach ($allcategories as $cat) {
         if (!$cat->alias) {
             $cat->alias = DJClassifiedsSEO::getAliasName($cat->name);
         }
     }
     //echo '<pre>';print_r($db);print_r($allcategories);die();
     self::$_categories[$p . '_' . $ord] = $allcategories;
     return self::$_categories[$p . '_' . $ord];
 }
예제 #2
0
 public static function getCategories($p = '0', $ord = 'ord')
 {
     $user = JFactory::getUser();
     if (!self::$_categories) {
         self::$_categories = array();
     }
     if (isset(self::$_categories[$p . '_' . $ord])) {
         return self::$_categories[$p . '_' . $ord];
     }
     if ($p) {
         $pub = 'WHERE c.published=1 ';
         $groups_acl = implode(',', $user->getAuthorisedViewLevels());
         $access_view = " AND c.access_view IN (" . $groups_acl . ") ";
     } else {
         $pub = '';
         $access_view = '';
     }
     if ($ord == 'name') {
         $order = 'c.name';
     } else {
         $order = 'c.ordering';
     }
     $db = JFactory::getDBO();
     $date_now = date("Y-m-d H:i:s");
     $query = "SELECT c.*, cc.name as parent_name,IFNULL(i.items_count,0) items_count FROM #__djcf_categories c " . "LEFT JOIN #__djcf_categories cc ON c.parent_id=cc.id " . "LEFT JOIN (SELECT i.cat_id, count(i.id) as items_count " . "FROM #__djcf_items i WHERE i.published=1 AND i.date_exp > '" . $date_now . "' GROUP BY i.cat_id) i ON i.cat_id=c.id " . $pub . $access_view . "ORDER BY c.parent_id, " . $order;
     $db->setQuery($query);
     $allcategories = $db->loadObjectList('id');
     foreach ($allcategories as $cat) {
         if (!$cat->alias) {
             $cat->alias = DJClassifiedsSEO::getAliasName($cat->name);
         }
     }
     //echo '<pre>';print_r($db);print_r($allcategories);die();
     self::$_categories[$p . '_' . $ord] = $allcategories;
     return self::$_categories[$p . '_' . $ord];
 }