/** * @param VisitNodeEvent $event node event to visit * * @return VisitNodeEvent */ public function onVisitNode(VisitNodeEvent $event) { $this->node = $event->getNode(); $this->builder = $event->getBuilder(); if ($this->node instanceof AbstractScalarOperatorNode && $this->isTranslatableFieldNode()) { $event->setNode($this->getAlteredQueryNode($this->getNewNodeTargetField(), $this->getAllPossibleTranslatableStrings())); } return $event; }
/** * @param VisitNodeEvent $event node event to visit * * @return VisitNodeEvent */ public function onVisitNode(VisitNodeEvent $event) { $node = $event->getNode(); if ($node instanceof EqNode && $node->getValue() == 'replaceme') { $node->setValue('My First Sprocket'); $event->setNode($node); } return $event; }
/** * @param VisitNodeEvent $event node event to visit * * @return VisitNodeEvent */ public function onVisitNode(VisitNodeEvent $event) { $node = $event->getNode(); if ($node instanceof AbstractScalarOperatorNode && $this->isExtrefField($node->getField(), $event->getContext())) { $event->setNode($this->processScalarNode($node)); } elseif ($node instanceof AbstractArrayOperatorNode && $this->isExtrefField($node->getField(), $event->getContext())) { $event->setNode($this->processArrayNode($node)); } return $event; }
/** * @param VisitNodeEvent $event node event to visit * * @return VisitNodeEvent */ public function onVisitNode(VisitNodeEvent $event) { $node = $event->getNode(); if (!$node instanceof AbstractComparisonOperatorNode) { return $event; } $fieldName = $this->getDocumentFieldName($node->getField(), $event->getContext()); if ($fieldName === false) { return $event; } $copy = clone $node; $copy->setField(strtr($fieldName, ['.0.' => '.'])); $event->setNode($copy); return $event; }