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'),
]);
}
}