����JFIF��x�x����'403WebShell
403Webshell
Server IP : 78.140.185.180  /  Your IP : 18.223.125.111
Web Server : LiteSpeed
System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User : builderbox ( 1072)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/builderbox/public_html/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/builderbox/public_html/app/Http/Controllers/TemplatesController.php
<?php namespace App\Http\Controllers;

use App\Services\TemplateLoader;
use App\Services\TemplateRepository;
use Common\Core\BaseController;
use Illuminate\Contracts\Filesystem\FileNotFoundException;
use Illuminate\Http\Request;
use Illuminate\Pagination\LengthAwarePaginator;
use Str;

class TemplatesController extends BaseController
{
    /**
     * @var Request
     */
    private $request;

    /**
     * @var TemplateLoader
     */
    private $templateLoader;

    /**
     * @var TemplateRepository
     */
    private $repository;

    public function __construct(
        Request $request,
        TemplateLoader $templateLoader,
        TemplateRepository $repository
    ) {
        $this->request = $request;
        $this->repository = $repository;
        $this->templateLoader = $templateLoader;
    }

    public function index()
    {
        $this->authorize('index', 'Template');

        $templates = $this->templateLoader->loadAll();

        $perPage = $this->request->get('perPage', 15);
        $page = $this->request->get('page', 1);

        if ($this->request->get('query')) {
            $templates = $templates->filter(function ($template) {
                return Str::contains(
                    strtolower($template['name']),
                    $this->request->get('query'),
                );
            });
        }

        if ($orderBy = $this->request->get('order_by', 'updated_at')) {
            $desc = $this->request->get('order_dir', 'desc') === 'desc';
            $templates = $templates->sortBy($orderBy, SORT_REGULAR, $desc);
        }

        $pagination = new LengthAwarePaginator(
            $templates->slice($perPage * ($page - 1), $perPage)->values(),
            count($templates),
            $perPage,
            $page,
        );

        return $this->success(['pagination' => $pagination]);
    }

    public function show(string $name)
    {
        $this->authorize('show', 'Template');

        try {
            $template = $this->templateLoader->load($name);
        } catch (FileNotFoundException $exception) {
            return abort(404);
        }

        return $this->success(['template' => $template]);
    }

    public function store()
    {
        $this->authorize('store', 'Template');

        $this->validate($this->request, [
            'name' => 'required|string|min:1|max:255',
            'category' => 'required|string|min:1|max:255',
            'template' => 'required|file|mimes:zip',
            'thumbnail' => 'file|image',
        ]);

        $params = $this->request->except('template');
        $params['template'] = $this->request->file('template');
        $params['thumbnail'] = $this->request->file('thumbnail');

        if ($this->templateLoader->exists($params['name'])) {
            return $this->error('', [
                'name' => 'Template with this name already exists.',
            ]);
        }

        $this->repository->create($params);

        return $this->success([
            'template' => $this->templateLoader->load($params['name']),
        ]);
    }

    public function update(string $name)
    {
        $this->authorize('update', 'Template');

        $this->validate($this->request, [
            'name' => 'string|min:1|max:255',
            'category' => 'string|min:1|max:255',
            'template' => 'file|mimes:zip',
            'thumbnail' => 'file|image',
        ]);

        $params = $this->request->except('template');
        $params['template'] = $this->request->file('template');
        $params['thumbnail'] = $this->request->file('thumbnail');

        $this->repository->update($name, $params);

        return $this->success([
            'template' => $this->templateLoader->load($name),
        ]);
    }

    public function destroy()
    {
        $this->authorize('destroy', 'Template');

        $this->repository->delete($this->request->get('names'));

        return $this->success();
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit