Example #1
0
 public function handle()
 {
     $attrs = [];
     if ($this->parent) {
         $attrs += ['parent_id' => $this->parent->getId(), 'visible_in_nav' => $this->parent->childrenAreVisibleInNav(), 'visible_in_nav_cms' => $this->parent->childrenAreVisibleInCmsNav(), 'children_visible_in_nav' => $this->parent->childrenAreVisibleInNav(), 'children_visible_in_nav_cms' => $this->parent->childrenAreVisibleInCmsNav(), 'enable_acl' => $this->parent->aclEnabled()];
     }
     $page = PageFacade::create($attrs);
     $page->addVersion(['template_id' => $this->parent ? $this->parent->getDefaultChildTemplateId() : null, 'title' => $this->title, 'embargoed_until' => time()]);
     if ($this->parent) {
         $groupIds = $this->parent->getAclGroupIds();
         foreach ($groupIds as $groupId) {
             $page->addAclGroupId($groupId);
         }
     }
     Event::fire(new PageWasCreated($page, $this->parent));
     return $page;
 }