Esempio n. 1
0
 protected function reparentChildren()
 {
     $children = PageFacade::findByParentId($this->page->getId());
     $newParent = PageFacade::find($this->options['reparentChildrenTo']);
     foreach ($children as $child) {
         $child->setParent($newParent);
         PageFacade::save($child);
     }
 }
 public function handle()
 {
     $url = $this->location !== null ? $this->location : URLHelper::fromTitle($this->prefix, $this->page->getTitle());
     $this->page->setPrimaryUri($url);
     $page = PageFacade::save($this->page);
     $url = URLFacade::create($url, $this->page->getId(), true);
     Bus::dispatch(new MakeURLPrimary($url));
     return $url;
 }
Esempio n. 3
0
 /**
  * @param Request $request
  * @param Page    $page
  */
 public function update(Request $request, Page $page)
 {
     $this->auth($page);
     $enabled = $request->input('enabled') === '1';
     PageFacade::recurse($page, function (Page $p) use($enabled) {
         $p->setAclEnabled($enabled);
         PageFacade::save($p);
     });
 }
Esempio n. 4
0
 public function handle(PageEvent $event)
 {
     $page = $event->getPage();
     $title = $event->getNewTitle();
     if ($title !== Page::DEFAULT_TITLE && empty($page->getInternalName())) {
         $slug = Str::slug($title);
         $unique = Str::unique($slug, function ($name) {
             return PageFacade::internalNameExists($name) === false;
         });
         $page->setInternalName($unique);
         PageFacade::save($page);
     }
 }
Esempio n. 5
0
 protected function deleteChildren()
 {
     if (!$this->childrenShouldBeMoved()) {
         Bus::dispatch(new DeletePageChildren($this->page));
     } else {
         $children = PageFacade::findByParentId($this->page->getId());
         $newParent = PageFacade::find($this->options['reparentChildrenTo']);
         foreach ($children as $child) {
             $child->setParent($newParent);
             PageFacade::save($child);
         }
     }
 }
 public function handle()
 {
     DB::transaction(function () {
         foreach ($this->sequences as $sequence => $pageId) {
             $page = PageFacade::find($pageId);
             // Only update the sequence of pages which are children of this page.
             if ($this->parent->isParentOf($page)) {
                 $page->setSequence($sequence);
                 PageFacade::save($page);
             }
         }
     });
 }
Esempio n. 7
0
 public function visibility()
 {
     parent::visibility();
     $wasVisible = $this->page->isVisible();
     $this->page->setVisibleAtAnyTime($this->request->input('visible') == 1);
     if ($this->page->isVisibleAtAnyTime()) {
         $visibleTo = $this->request->input('toggle_visible_to') == 1 ? new DateTime($this->request->input('visible_to')) : null;
         $this->page->setVisibleFrom(new DateTime($this->request->input('visible_from')))->setVisibleTo($visibleTo);
     }
     Page::save($this->page);
     if (!$wasVisible && $this->page->isVisible()) {
         Event::fire(new PageWasMadeVisible($this->page, Auth::getPerson()));
     }
     return (int) $this->page->isVisible();
 }
Esempio n. 8
0
 /**
  * Save the page visibility settings.
  *
  * @param Request $request
  * @param Page    $page
  *
  * @return int
  */
 public function postVisibility(Request $request, Page $page)
 {
     $this->authorize('publish', $page);
     $wasVisible = $page->isVisible();
     $page->setVisibleAtAnyTime($request->input('visible'));
     if ($page->isVisibleAtAnyTime()) {
         $visibleFrom = $request->input('visible_from') > 0 ? new DateTime($request->input('visible_from')) : null;
         $visibleTo = $request->has('toggle_visible_to') ? new DateTime($request->input('visible_to')) : null;
         $page->setVisibleFrom($visibleFrom)->setVisibleTo($visibleTo);
     }
     PageFacade::save($page);
     if (!$wasVisible && $page->isVisible()) {
         Event::fire(new Events\PageWasMadeVisible($page, auth()->user()));
     }
     return (int) $page->isVisible();
 }