protected function fetchMaxChildTreeID(Node $myNode, TagDef $treeOriginTagDef, TagPartial $treeOriginPartial, $parentTreeID = '') { $nq = new NodeQuery(); $nq->setParameter('Status.all', true); $nq->setParameter('TreeID.childOf', $parentTreeID); $nq->setParameter('Elements.in', $myNode->getNodeRef()->getElement()->getSlug()); if ($treeOriginTagDef->Direction == 'out') { $nq->setParameter('OutTags.exist', $treeOriginPartial->toString()); } else { $nq->setParameter('InTags.exist', $treeOriginPartial->toString()); } $nq->setOrderBy('TreeID', 'DESC'); $nq->setLimit(1); $result = $this->NodeFindAllDAO->findAll($nq, true)->getResult(); if (!empty($result)) { $lastNodeTreeID = $result['TreeID']; // if on the same level, return blank, in order to append as first child if (strcmp($lastNodeTreeID, $parentTreeID) === 0) { // error_log('No children, same level'); return ''; } else { if (empty($parentTreeID)) { return substr($lastNodeTreeID, 0, 4); } } // error_log('Last TreeID = '.$lastNodeTreeID); return $lastNodeTreeID; } return ''; }
public function tagGalleryPhotos() { $galleryNodeRef = $this->NodeRefService->parseFromString('media-gallery:test-gallery'); $interval = 25; $offset = 0; $nq = new NodeQuery(); $nq->setParameter('Elements.in', 'image'); $nq->setParameter('NodeRefs.only', true); $nq->setOrderBy('ActiveDate', 'DESC'); $nq->setLimit($interval); $nq->setOffset($offset); $nq = $this->NodeService->findAll($nq, true); $nodes = $nq->getResults(); while (count($nodes) > 0) { foreach ($nodes as $node) { $tag = new Tag($node->getElement()->getSlug(), $node->getSlug(), '#media-gallery-items'); try { $this->NodeService->addOutTag($galleryNodeRef, $tag); echo $node->Slug . "\n"; } catch (Exception $e) { echo $node->Slug . " error: " . $e->getMessage() . "\n"; } } $offset = $offset + $interval; unset($nodes); $nq->setLimit($interval); $nq->setOffset($offset); $nq->clearResults(); $nq = $this->NodeService->findAll($nq, true); $nodes = $nq->getResults(); } }