/** * Gets asccessible image QueryBuilder * @param Album $album * @param type $user * @return \Doctrine\ORM\QueryBuilder */ public function getAccessibleImagesBuilder(Album $album, $user = null) { $qb = $this->createQueryBuilder('i')->where('i.album = :album')->setParameter('album', $album->getId())->orderBy('i.takenAt', 'asc')->addOrderBy('i.uploadedAt', 'asc'); if (!$user) { $qb->andWhere('i.private = false'); } return $qb; }
/** * Gets Album images Tags using filters * @param integer $year * @param array $use_tags * @param UserInterface $user * @return array */ public function getFilteredAlbumImagesTags(Album $album, $user, array $filters) { $qb = $this->createQueryBuilder('t')->select('t')->innerJoin('t.images', 'i')->groupBy('t.name')->orderBy('t.name'); $qb->andWhere('i.album = :album')->setParameter('album', $album->getId()); if (is_numeric($filters['year'])) { $qb->andWhere($qb->expr()->eq('i.year', $filters['year'])); } if (!$user instanceof UserInterface) { $qb->andWhere('i.private = false'); } return $qb->getQuery()->execute(); }
protected function list_common_procedures(Album $album) { $query_builder = $this->em->getRepository('RodgerGalleryBundle:Image')->createQueryBuilder('i')->where('i.album = :album')->orderBy('i.uploadedAt', 'desc')->setParameter('album', $album->getId()); $paginator = $this->get('knp_paginator'); /** @var \Knp\Bundle\PaginatorBundle\Pagination\SlidingPagination $pagination */ $pagination = $paginator->paginate($query_builder, $this->getRequest()->get('page', 1), 20); $this->pagination = $pagination; $ids = array(); foreach ($this->pagination->getItems() as $img) { $ids[] = $img->getId(); } $this->validating_object = new ValidateHelpers\BulkImages($query_builder->andWhere($query_builder->expr()->in('i.id', count($ids) ? $ids : array(0))), $this->em, $this->container); $this->bulk_form = $this->createForm(new Forms\BulkImages(), $this->validating_object); }
protected function addResult(Album $album, $dir) { $new_dirname = preg_replace("#\\/" . $album->getSlug() . "\$#", "/" . $album->getId(), $dir->getRealpath()); $this->result[] = array('old' => $dir->getRealpath(), 'new' => $new_dirname); }