Exemplo n.º 1
0
 public function publish(Page $c)
 {
     $this->stripEmptyPageTypeComposerControls($c);
     $parent = Page::getByID($c->getPageDraftTargetParentPageID());
     if ($c->isPageDraft()) {
         // this is still a draft, which means it has never been properly published.
         // so we need to move it, check its permissions, etc...
         Section::registerPage($c);
         $c->move($parent);
         if (!$parent->overrideTemplatePermissions()) {
             // that means the permissions of pages added beneath here inherit from page type permissions
             // this is a very poorly named method. Template actually used to mean Type.
             // so this means we need to set the permissions of this current page to inherit from page types.
             $c->inheritPermissionsFromDefaults();
         }
         $c->activate();
     } else {
         $c->rescanCollectionPath();
     }
     $u = new User();
     $v = CollectionVersion::get($c, 'RECENT');
     $pkr = new ApprovePagePageWorkflowRequest();
     $pkr->setRequestedPage($c);
     $pkr->setRequestedVersionID($v->getVersionID());
     $pkr->setRequesterUserID($u->getUserID());
     $pkr->trigger();
     $u->unloadCollectionEdit($c);
     CacheLocal::flush();
     $ev = new Event($c);
     $ev->setPageType($this);
     $ev->setUser($u);
     \Events::dispatch('on_page_type_publish', $ev);
 }
Exemplo n.º 2
0
 public function publish(Page $c)
 {
     $this->stripEmptyPageTypeComposerControls($c);
     $parent = Page::getByID($c->getPageDraftTargetParentPageID());
     $c->move($parent);
     $u = new User();
     $v = CollectionVersion::get($c, 'RECENT');
     $pkr = new ApprovePagePageWorkflowRequest();
     $pkr->setRequestedPage($c);
     $pkr->setRequestedVersionID($v->getVersionID());
     $pkr->setRequesterUserID($u->getUserID());
     $pkr->trigger();
     $c->activate();
     $u->unloadCollectionEdit($c);
     CacheLocal::flush();
     $ev = new Event($c);
     $ev->setPageType($this);
     $ev->setUser($u);
     \Events::dispatch('on_page_type_publish', $ev);
 }