Example #1
0
 protected function loadSharedBlocks($blocks)
 {
     // Load shared blocks
     foreach ($blocks as $block) {
         if ($this->draft) {
             $this->blockManager->setDraftVersionFilter(false);
         }
         if ($block instanceof PointerBlock && $block->getReference()) {
             $iterator = new \RecursiveIteratorIterator(new RecursiveBlockIterator(array($block->getReference())), \RecursiveIteratorIterator::SELF_FIRST);
             foreach ($iterator as $included) {
                 if ($this->draft) {
                     $reverted = $this->blockManager->revertToDraft($included);
                     if ($reverted) {
                         $blocks[] = $reverted;
                     }
                 } else {
                     $blocks[] = $included;
                 }
             }
         }
         $this->blockManager->setDraftVersionFilter(true);
     }
     return $blocks;
 }