mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-09-24 06:13:18 -04:00
78 lines
2.8 KiB
PHP
78 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace Modules\HomePageSwitcher\Http\Controllers;
|
|
|
|
use Illuminate\Contracts\Support\Renderable;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Routing\Controller;
|
|
use Brian2694\Toastr\Facades\Toastr;
|
|
use Modules\HomePageSwitcher\Http\Requests\SaveRequest;
|
|
use Modules\FrontendCMS\Entities\DynamicPage;
|
|
use \Modules\GeneralSetting\Repositories\GeneralSettingRepository;
|
|
use Modules\UserActivityLog\Traits\LogActivity;
|
|
use Modules\HomePageSwitcher\Services\AugmentationService;
|
|
use Modules\PageBuilderPlus\Entities\GJSPage;
|
|
|
|
class HomePageSwitcherController extends Controller
|
|
{
|
|
protected $dynamicPage;
|
|
protected $generalSettingRepository;
|
|
public function __construct(DynamicPage $dynamicPage, GeneralSettingRepository $generalSettingRepository)
|
|
{
|
|
$this->middleware('maintenance_mode');
|
|
$this->dynamicPage = $dynamicPage;
|
|
$this->generalSettingRepository = new $generalSettingRepository;
|
|
}
|
|
|
|
/**
|
|
* Display a listing of the resource.
|
|
* @return Renderable
|
|
*/
|
|
public function index()
|
|
{
|
|
try{
|
|
|
|
new AugmentationService();
|
|
if (isModuleActive('PageBuilderPlus')) {
|
|
$pages_list = GJSPage::orderBy('title')->get();
|
|
$generalSetting = $this->generalSettingRepository->all();
|
|
$homepage = $generalSetting->homepage;
|
|
$homepage_redirect = $generalSetting->homepage_redirect;
|
|
$homepage_type = $generalSetting->homepage_type;
|
|
return view('homepageswitcher::index',compact('pages_list','homepage','homepage_redirect','homepage_type'));
|
|
}
|
|
else {
|
|
$pages_list = $this->dynamicPage->select(['slug','title'])->where('is_page_builder',1)->orderBy('title')->get();
|
|
$homepage_slug = $this->generalSettingRepository->all()->homepage_slug;
|
|
return view('homepageswitcher::index',compact('pages_list','homepage_slug'));
|
|
}
|
|
|
|
|
|
}catch(Exception $e){
|
|
Toastr::error($e->getMessage(), 'Error!!');
|
|
return response()->json(['error' => $e->getMessage()],503);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
* @param Request $request
|
|
* @param int $id
|
|
* @return Renderable
|
|
*/
|
|
public function save(SaveRequest $request)
|
|
{
|
|
try {
|
|
$this->generalSettingRepository->update($request->except("_token"));
|
|
LogActivity::successLog('Home Page updated.');
|
|
Toastr::success(__('Homepage has been updated successfully'), __('common.success'));
|
|
return back();
|
|
} catch (\Exception $e) {
|
|
LogActivity::errorLog($e->getMessage());
|
|
Toastr::error(__('common.operation_failed'));
|
|
return back();
|
|
}
|
|
}
|
|
|
|
}
|