ACL()->get_granted_base()); $dql = 'SELECT f FROM Entities\Feed f WHERE f.base_id IS NULL '; if (count($base_ids) > 0) { $dql .= ' OR f.base_id IN (' . implode(', ', $base_ids) . ') '; } $dql .= ' OR f.public = true ORDER BY f.updated_on DESC'; $query = $this->_em->createQuery($dql); $feeds = $query->getResult(); return $feeds; } public function findAllPublic() { $dql = 'SELECT f FROM Entities\Feed f WHERE f.public = true ORDER BY f.updated_on DESC'; $query = $this->_em->createQuery($dql); $feeds = $query->getResult(); return $feeds; } public function loadWithUser(Application $app, \User_Adapter $user, $id) { $feed = $this->find($id); if ($feed) { $coll = $feed->getCollection($app); if ($feed->isPublic() || $coll === null || in_array($coll->get_base_id(), array_keys($user->ACL()->get_granted_base()))) { return $feed; } } return null; } public function findByIdArray(array $feed_id) { $dql = 'SELECT f FROM Entities\Feed f ORDER BY f.created_on DESC WHERE f.id IN (' . implode(",", $feed_id) . ')'; $query = $this->_em->createQuery($dql); $feeds = $query->getResult(); return $feeds; } }