findCollectionSet() public method

Finds a collection set starting by given ID and depth.
public findCollectionSet ( integer $depth, array $filter = [], Sulu\Bundle\MediaBundle\Entity\CollectionInterface $collection = null, array $sortBy = [], Sulu\Component\Security\Authentication\UserInterface $user = null, integer $permission = null ) : Collection[]
$depth integer
$filter array
$collection Sulu\Bundle\MediaBundle\Entity\CollectionInterface
$sortBy array
$user Sulu\Component\Security\Authentication\UserInterface The user for which the additional access control should be checked
$permission integer The permission mask the user requires, if it is passed for the access control check
return Collection[]
Example #1
0
 /**
  * {@inheritdoc}
  */
 public function getTree($locale, $offset, $limit, $search, $depth = 0, $sortBy = [])
 {
     /** @var Paginator $collectionSet */
     $collectionSet = $this->collectionRepository->findCollectionSet($depth, ['offset' => $offset, 'limit' => $limit, 'search' => $search, 'locale' => $locale], null, $sortBy);
     $collections = [];
     /** @var CollectionEntity[] $entities */
     $entities = iterator_to_array($collectionSet);
     foreach ($entities as $entity) {
         if ($entity->getParent() === null) {
             $collections[] = $this->getApiEntity($entity, $locale, $entities);
         }
     }
     $this->count = $collectionSet->count();
     return $collections;
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 public function getTree($locale, $offset, $limit, $search, $depth = 0, $sortBy = [], $systemCollections = true)
 {
     $filter = ['offset' => $offset, 'limit' => $limit, 'search' => $search, 'locale' => $locale, 'systemCollections' => $systemCollections];
     /** @var CollectionEntity[] $entities */
     $entities = $this->collectionRepository->findCollectionSet($depth, $filter, null, $sortBy, $this->getCurrentUser(), $this->permissions[PermissionTypes::VIEW]);
     $collections = [];
     foreach ($entities as $entity) {
         if ($entity->getParent() === null) {
             $collections[] = $this->getApiEntity($entity, $locale, $entities);
         }
     }
     unset($filter['limit']);
     unset($filter['offset']);
     $this->count = $this->collectionRepository->count($depth, $filter);
     return $collections;
 }