public function postIndex() { // update blocks AdminLog::new_log('Updated Site-wide Content'); $versionId = PageVersion::add_new(0)->version_id; Block::submit(0, $versionId); $this->addAlert('success', 'Site-wide Content Updated'); return \redirect()->route('coaster.admin.blocks'); }
public function postEdit($pageId) { $existingPage = Page::find($pageId); if (!$existingPage) { return 'Page not found'; } $publish = false; $publishing = (bool) config('coaster::admin.publishing'); $canPublish = Auth::action('pages.version-publish', ['page_id' => $pageId]); if ($publishing && $existingPage->link == 0) { // check if publish if (Request::input('publish') != '' && $canPublish) { $publish = true; // check if there were requests to publish the version being edited $overwriting_page_version = PageVersion::where('version_id', '=', Request::input('versionFrom'))->where('page_id', '=', $pageId)->first(); $requests = PagePublishRequests::where('page_version_id', '=', $overwriting_page_version->id)->where('status', '=', 'awaiting')->get(); if (!$requests->isEmpty()) { foreach ($requests as $request) { $request->status = 'approved'; $request->mod_id = Auth::user()->id; $request->save(); } } } } elseif (!$publishing || $existingPage->link == 1 && $canPublish) { $publish = true; } $page_info = Request::input('page_info') ?: []; $page_info_lang = Request::input('page_info_lang') ?: []; $page_groups = Request::input('page_groups') ?: []; $page_info_other = Request::input('page_info_other') ?: []; // run if duplicate button was hit if (Request::input('duplicate') == 1) { if ($existingPage->canDuplicate()) { if ($duplicatePage = $existingPage->saveDuplicateFromPostData($page_info, $page_info_lang, $page_groups, $page_info_other)) { Repeater::setDuplicate(); Block::submit($duplicatePage->id, 1, $publish); return \redirect()->route('coaster.admin.pages.edit', ['pageId' => $duplicatePage->id]); } else { $this->addAlert('danger', 'Duplication failed'); return $this->getEdit($pageId); } } else { return abort(403, 'Action not permitted'); } } $version = PageVersion::add_new($pageId); // save page info if ($existingPage->savePostData($version, $page_info, $page_info_lang, $page_groups, $page_info_other)) { AdminLog::new_log('Updated page \'' . $existingPage->pageLang()->name . '\' (Page ID ' . $existingPage->id . ')'); } else { $this->addAlert('warning', '"Page Info" not updated (check tab for errors)'); } // update blocks Block::submit($pageId, $version->version_id, $publish); $this->addAlert('success', 'Page Content Updated'); if ($publish) { if (Request::input('publish_request') != '') { PagePublishRequests::add($pageId, $version->version_id, Request::input('request_note')); } $version->publish(); } // display page edit form return $this->getEdit($pageId, $version->version_id); }