permissionCheck('pagebuilderplus_list_pages'), 'create' => permissionCheck('pagebuilderplus_create_page'), 'edit' => permissionCheck('pagebuilderplus_edit_page'), 'delete' => permissionCheck('pagebuilderplus_delete_page'), 'design' => permissionCheck('pagebuilderplus_design_page'), 'preview' => permissionCheck('pagebuilderplus_preview_page') ]; } public function getAllPages() { $pages = GJSPage::orderBy('title')->get(); return response()->json([ 'message' => 'success', 'pages' => $pages ]); } public function getPage(Request $request) { $page = GJSPage::find($request->id); if ($page) { $data = json_decode($page->data); return response()->json([ 'message' => 'success', 'page' => $page, 'data' => $data ]); } } public function createPage(Request $request) { $page = new GJSPage(); $page->title = $request->title; $page->slug = $request->slug; if ($request->has('data')) { $page->data = json_encode($request->data); } $page->save(); return response()->json([ 'status' => 200, 'message' => 'New page has been created.' ]); } public function updatePage(Request $request) { $page = GJSPage::find($request->id); if ($page) { $page->title = $request->title; $page->slug = $request->slug; $page->update(); return response()->json([ 'status' => 200, 'message' => 'Page has been successfully updated.' ]); } } public function copyPage(Request $request) { $page = GJSPage::find($request->id); if ($page) { $npage = new GJSPage(); $npage->fill($page->toArray()); $npage->save(); return response()->json([ 'status' => 200, 'message' => 'Page has been duplicated.' ]); } } public function deletePage(Request $request) { $page = GJSPage::find($request->id); if ($page) { $page->delete(); return response()->json([ 'status' => 200, 'message' => 'Page has been successfully deleted.' ]); } } public function designPage(Request $request) { $page = GJSPage::find($request->id); if ($page) { $pageId = $page->id; } return view('pagebuilderplus::designer', compact('pageId')); } public function savePage(Request $request) { $page = GJSPage::find($request->id); if ($page) { $page->data = $request->data; $page->html = $request->html; $page->css = $request->css; $page->js = $request->js; $page->assets = $request->assets; $page->pages = $request->pages; $page->styles = $request->styles; $page->global_css = $request->global_css; $page->update(); return response()->json([ 'status' => 200, 'message' => 'Page has been saved.' ]); } } public function loadPage(Request $request) { $page = GJSPage::find($request->id); if ($page->data) { $page->data = json_decode($page->data); } return $page; } public function showPage(Request $request) { $page = GJSPage::find($request->id); if ($page) { $html = $page->html; $css = $page->css; $global_css = $page->global_css; return view('pagebuilderplus::show', compact('html', 'css', 'global_css')); } } public function displayPage(Request $request, $slug) { $page = GJSPage::where('slug', $slug)->first(); if ($page) { $html = $page->html; $css = $page->css; $global_css = $page->global_css; return view('pagebuilderplus::show', compact('html', 'css', 'global_css')); } } public function getMediaFiles($data = null){ $query = MediaManager::query(); $seller_id = getParentSellerId(); $query = $query->where('user_id', $seller_id); if(isset($data['search']) && !empty($data['search'])){ $slugs = explode(' ', $data['search']); if(isset($data['sort']) && $data['sort'] != 'newest'){ if($data['sort'] == 'oldest'){ $query = $query->orderBy('id','asc')->where(function($q) use($slugs){ foreach($slugs as $slug){ $q = $q->orWhere('orginal_name', 'LIKE', "%{$slug}%"); } return $q; }); }elseif($data['sort'] == 'smallest'){ $query = $query->orderBy('size')->where(function($q) use($slugs){ foreach($slugs as $slug){ $q = $q->orWhere('orginal_name', 'LIKE', "%{$slug}%"); } return $q; }); } elseif($data['sort'] == 'bigest'){ $query = $query->orderByDesc('size')->where(function($q) use($slugs){ foreach($slugs as $slug){ $q = $q->orWhere('orginal_name', 'LIKE', "%{$slug}%"); } return $q; }); } } $query = $query->orderByDesc('id')->where(function($q) use($slugs){ foreach($slugs as $slug){ $q = $q->orWhere('orginal_name', 'LIKE', "%{$slug}%"); } return $q; }); }else{ if(isset($data['sort']) && $data['sort'] != 'newest'){ if($data['sort'] == 'oldest'){ $query = $query->orderBy('id'); }elseif($data['sort'] == 'smallest'){ $query = $query->orderBy('size'); } elseif($data['sort'] == 'bigest'){ $query = $query->orderByDesc('size'); } } $query = $query->orderByDesc('id'); } return $query->get(); } public function getCreatorStudioVideos(Request $request) { $videos = app(CommonService::class)->getCreatorStudioVideos($request); return response()->json($videos); } public function getAllCategories(Request $request) { $categories = \Modules\StudioPlus\Entities\StudioPlusCategory::query() ->orderBy('name') ->get(); return \Modules\StudioPlus\Transformers\StudioPlusCategoryResource::collection($categories); } }