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]; }
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]; }