/** * @param QueryBuilder $queryBuilder */ public function adaptQueryBuilder(QueryBuilder $queryBuilder) { $queryBuilder->andWhere('b.folder = :folder')->setParameter('folder', $this->folder->getId())->andWhere('b.deleted = 0')->orderBy('b.updatedAt', 'DESC'); if ($this->request->get('_route') == 'KunstmaanMediaBundle_chooser_show_folder') { $type = $this->request->query->get('type'); if ($type) { switch ($type) { case 'file': $queryBuilder->andWhere('b.location = :location')->setParameter('location', 'local'); break; case 'image': $queryBuilder->andWhere('b.contentType LIKE :ctype')->setParameter('ctype', '%image%'); break; case RemoteAudioHandler::TYPE: $queryBuilder->andWhere('b.contentType = :ctype')->setParameter('ctype', RemoteAudioHandler::CONTENT_TYPE); break; case RemoteSlideHandler::TYPE: $queryBuilder->andWhere('b.contentType = :ctype')->setParameter('ctype', RemoteSlideHandler::CONTENT_TYPE); break; case RemoteVideoHandler::TYPE: $queryBuilder->andWhere('b.contentType = :ctype')->setParameter('ctype', RemoteVideoHandler::CONTENT_TYPE); break; } } } }