/** * Return user badges. They can be obtained by group ID. * * <code> * $keys = array( * 'user_id' => 1, * 'group_id' => 2 * ); * * $userBadges = new Gamification\User\Badge\Badges(\JFactory::getDbo()); * $userBadges->load($options); * * $badges = $userBadges->getBadges(); * </code> * * @param $groupId * * @return array */ public function getBadges($groupId = 0) { $results = array(); foreach ($this->items as $item) { $badge = new Badge($this->db); $badge->bind($item); $badgeGroupId = (int) $badge->getGroupId(); $results[$badgeGroupId][] = $badge; } return ($groupId > 0 and array_key_exists($groupId, $results)) ? (array) $results[$groupId] : (array) $results; }