Files
core/modules/StaticPages/Http/Controllers/Admin/CreateNewStaticPage.php
T

60 lines
1.8 KiB
PHP

<?php
namespace Modules\StaticPages\Http\Controllers\Admin;
use App\Enumerations\ContentStatuses;
use App\Models\Content;
use Illuminate\Support\Facades\Event;
use Modules\StaticPages\Http\Requests\CreateNewStaticPageRequest;
class CreateNewStaticPage extends Controller
{
/**
* Display form for new static page
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function getNew()
{
$statuses = ContentStatuses::getWithTranslations();
// we do not want to create deleted page
unset($statuses[Content::STATUS_DELETED]);
// render view
return view('staticpages::admin.new', [
'contentStatuses' => $statuses,
'selectedStatus' => Content::STATUS_DRAFT
]);
}
/**
* Save new static page
*
* @param CreateNewStaticPageRequest $request
*
* @return \Illuminate\Http\RedirectResponse
*/
public function postNew(CreateNewStaticPageRequest $request)
{
$page = new Content();
$page->user_id = \Auth::user()->id;
$page->title = $request->title;
$page->url = $request->url;
$page->published_from = $request->publishedFrom;
$page->published_to = $request->publishedTo;
$page->meta_keywords = $request->meta_description;
$page->meta_description = $request->meta_description;
$page->content = $request->pageContent;
$page->status = $request->status;
$page->module_handler = config('staticpages.handler');
$page->save();
Event::fire(new \Modules\StaticPages\Events\CreateNewStaticPage($page));
return redirect()
->route('staticpage.new')
->with('success', trans('staticpages::admin.successfullyCreated'));
}
}