<?php namespace App\Http\Controllers\Webprofile\Backend; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Repositories\Webprofile\DesignRepository; use Crypt; class LayoutController extends Controller { private $repo; public function __construct(DesignRepository $repo) { $this->repo = $repo; } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $layouts = $this->repo->get(); $data = [ 'layouts' => $layouts, ]; return view('webprofile.backend.design.index', $data)->withTitle(trans('feature.layout')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return redirect()->route('layouts.index'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $data = $request->except('_token'); array_key_exists('title_show', $data) ? $data['title_show'] = 1 : $data['title_show'] = 0; $this->repo->store($data); return redirect()->route('layouts.index'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $data = [ 'position' => $id, ]; return view('webprofile.backend.design.create', $data)->withTitle(trans('label.create') . ' ' . trans('feature.' . $id)); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $layout = $this->repo->findId(Crypt::decrypt($id)); $data = [ 'data' => $layout, ]; return view('webprofile.backend.design.edit', $data)->withTitle(trans('label.edit') . ' ' . trans('feature.' . $layout->name_design)); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $data = $request->except(['_token', 'id']); array_key_exists('title_show', $data) ? $data['title_show'] = 1 : $data['title_show'] = 0; $layout = $this->repo->findId($id); $edit = $this->repo->update($data, $layout); return redirect()->route('layouts.index'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $data = $this->repo->findId(Crypt::decrypt($id)); $this->repo->destroy($data); return redirect()->route('layouts.index'); } }