mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-09-28 18:13:06 -04:00
122 lines
3.0 KiB
PHP
122 lines
3.0 KiB
PHP
<?php
|
|
|
|
namespace Modules\LaraBuilder\Http\Controllers;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Cache;
|
|
use Modules\LaraBuilder\Entities\Page;
|
|
use Modules\LaraBuilder\Facades\PageSettings;
|
|
|
|
class PageController extends Controller
|
|
{
|
|
/**
|
|
* Display a listing of the pages.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function index(Request $request)
|
|
{
|
|
$edit = false;
|
|
$pages = Page::when($request->input('search'), fn ($q) => $q->where('name', 'like', '%'.$request->input('search').'%'))->orderBy('id', $request->input('sort') ?? 'asc')->paginate($request->input('per_page') ?? 10);
|
|
|
|
$pagesList = view('larabuilder::components.pages-list', compact('pages'))->render();
|
|
|
|
$per_page_opt = perPageOpt();
|
|
|
|
if ($request->ajax()) {
|
|
return response()->json(['success' => true, 'html' => $pagesList]);
|
|
}
|
|
|
|
return view('larabuilder::pages', compact('pagesList', 'per_page_opt', 'edit'));
|
|
}
|
|
|
|
/**
|
|
* Show the form for creating/edit a page.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function create(Request $request)
|
|
{
|
|
$edit = false;
|
|
|
|
$page = [];
|
|
|
|
$pages = Page::paginate(10);
|
|
$per_page_opt = perPageOpt();
|
|
if ($request->ajax()) {
|
|
return response()->json(['success' => true, 'html' => view('larabuilder::components.update-page', compact('edit', 'page'))->render()]);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Store a newly created page.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function store(Request $request)
|
|
{
|
|
if (isDemoSite()) {
|
|
return response()->json(['success' => 'demo']);
|
|
}
|
|
|
|
return PageSettings::storePage($request);
|
|
}
|
|
|
|
/**
|
|
* Display the specified resource.
|
|
*
|
|
* @param int $id
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function show($id)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Show the form for editing the page.
|
|
*
|
|
* @param int $id
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function edit(Request $request, $id)
|
|
{
|
|
$edit = true;
|
|
|
|
$page = Page::findOrFail($id);
|
|
|
|
if ($request->ajax()) {
|
|
return response()->json(['success' => true, 'status' => $page->status, 'html' => view('larabuilder::components.update-page', compact('edit', 'page'))->render()]);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
*
|
|
* @param int $id
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function update(Request $request, $id)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Remove the specified resource from storage.
|
|
*
|
|
* @param int $id
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function destroy($id)
|
|
{
|
|
if (isDemoSite()) {
|
|
return response()->json(['success' => 'demo']);
|
|
}
|
|
Page::find($id)->delete();
|
|
Cache::forget('pagebuilder__pageData_'.$id);
|
|
|
|
return response()->json(['success' => true]);
|
|
}
|
|
}
|