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/be.naniguide.com/app/Http/Controllers/Refactor/Admin/TranslationController.php
<?php

namespace App\Http\Controllers\Refactor\Admin;

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

class TranslationController extends Controller
{
    public function index(Request $request)
    {
        $stats = [
            'total' => TranslationPhrase::count(),
        ];

        return view('refactor.pages.admin.translation.index', compact('stats'));
    }

    protected function filter(Request $request)
    {
        return TranslationPhrase::search($request->keyword);
    }

    public function phrasesList(Request $request)
    {
        $query = $this->filter($request);

        if (!empty($request->sort_order)) {
            $query = $query->orderBy($request->sort_order, $request->sort_direction ?? 'asc');
        }

        $phrases = $query->paginate($request->per_page ?? 20);

        return view('refactor.pages.admin.translation._list', compact('phrases'));
    }

    public function phrasesSave(Request $request)
    {
        foreach ($request->phrases as $key => $ja) {
            $phrase = TranslationPhrase::findByKey($key);
            if ($phrase) {
                $phrase->ja = $ja;
                $phrase->save();
            }
        }

        return response()->json([
            'status' => 'success',
            'message' => trans('refactor/admin_translation.flash.saved'),
        ]);
    }
}