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; }
/** * @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); }); }
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); } }
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); } } }); }
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(); }
/** * 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(); }