HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/ai.naniguide.com/app/Http/Controllers/Admin/SystemTemplateController.php
<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class SystemTemplateController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        if ($request->user()->admin->getPermission('layout_read') == 'no') {
            return $this->notAuthorized();
        }

        //
        $pricingPageSystemTemplate = \App\Model\SystemTemplate::where('alias', 'pricing_page')->first();

        return view('admin.system_templates.index', [
            'pricingPageSystemTemplate' => $pricingPageSystemTemplate,
        ]);
    }

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function listing(Request $request)
    {
        if ($request->user()->admin->getPermission('layout_read') == 'no') {
            return $this->notAuthorized();
        }

        $systemTemplates = \App\Model\SystemTemplate::search($request)->orderBy('system_templates.id', 'asc')->paginate($request->per_page);

        return view('admin.system_templates._list', [
            'systemTemplates' => $systemTemplates,
        ]);
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param int $id
     *
     * @return \Illuminate\Http\Response
     */
    public function edit(Request $request, $id)
    {
        // Generate info
        $user = $request->user();
        $systemTemplate = \App\Model\SystemTemplate::findByUid($id);

        // authorize
        if (\Gate::denies('update', $systemTemplate)) {
            return $this->notAuthorized();
        }

        return view('admin.system_templates.edit', [
            'systemTemplate' => $systemTemplate,
            'template' => $systemTemplate->template,
            'templates' => collect([]),
        ]);
    }

    public function save(Request $request, $id)
    {
        // Generate info
        $user = $request->user();
        $systemTemplate = \App\Model\SystemTemplate::findByUid($id);

        // authorize
        if (\Gate::denies('update', $systemTemplate)) {
            return $this->notAuthorized();
        }

        //
        $validator = $systemTemplate->template->updateContent($request->json, $request->content);

        //
        if ($validator->fails()) {
            return response()->json($validator->errors(), 400);
        }

        //
        return response()->json([
            'status' => 'success',
        ]);
    }

    public function pricingPageBuilder(Request $request)
    {
        $pricingPageSystemTemplate = \App\Model\SystemTemplate::getPricingPageSystemTemplate();
        $pricingListCollection = \App\Model\SystemTemplate::getPricingListCollection();

        return view('admin.system_templates.pricingPageBuilder', [
            'pricingPageSystemTemplate' => $pricingPageSystemTemplate,
            'template' => $pricingPageSystemTemplate->template,
            'pricingListJson' => json_encode($pricingListCollection),
        ]);
    }
}