Exemple #1
0
 /**
  * Adds the order to the document.
  *
  * @param AbstractMappingEvent $event
  */
 public function handleHydrate(AbstractMappingEvent $event)
 {
     if (false == $this->supports($event->getDocument())) {
         return;
     }
     $node = $event->getNode();
     $order = $node->getPropertyValueWithDefault($this->encoder->systemName(self::FIELD), null);
     $event->getAccessor()->set('suluOrder', $order);
 }
Exemple #2
0
 /**
  * Returns QueryBuilder with basic select and where statements.
  *
  * @param string $locale
  * @param string[] $locales
  * @param UserInterface $user
  *
  * @return QueryBuilder
  */
 private function getQueryBuilder($locale, $locales, UserInterface $user = null)
 {
     $queryBuilder = new QueryBuilder($this->qomFactory);
     $queryBuilder->select('node', 'jcr:uuid', 'uuid')->addSelect('node', $this->propertyEncoder->localizedContentName('nodeType', $locale), 'nodeType')->addSelect('node', $this->propertyEncoder->localizedContentName('internal_link', $locale), 'internalLink')->addSelect('node', $this->propertyEncoder->localizedContentName('state', $locale), 'state')->addSelect('node', $this->propertyEncoder->localizedContentName('shadow-on', $locale), 'shadowOn')->addSelect('node', $this->propertyEncoder->localizedContentName('shadow-base', $locale), 'shadowBase')->addSelect('node', $this->propertyEncoder->localizedContentName('shadow-base', $locale), 'shadowBase')->addSelect('node', $this->propertyEncoder->systemName('order'), 'order')->from($this->qomFactory->selector('node', 'nt:unstructured'))->orderBy($this->qomFactory->propertyValue('node', 'sulu:order'));
     $this->appendSingleMapping($queryBuilder, 'template', $locales);
     $this->appendSingleMapping($queryBuilder, 'shadow-on', $locales);
     if (null !== $user) {
         foreach ($user->getRoleObjects() as $role) {
             $queryBuilder->addSelect('node', sprintf('sec:%s', 'role-' . $role->getId()), $role->getIdentifier());
         }
     }
     return $queryBuilder;
 }