Пример #1
0
 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();
     }
 }