92 lines
2.3 KiB
PHP
92 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Tla;
|
|
use Illuminate\Http\Request;
|
|
|
|
class TlaController extends Controller
|
|
{
|
|
public function store(Request $request): RedirectResponse
|
|
{
|
|
$request->validate([
|
|
'title' => 'required',
|
|
'body' => 'required',
|
|
]);
|
|
|
|
$tla = new Tla($requestData);
|
|
|
|
$tla->save();
|
|
|
|
return redirect()->route('admin')->with('success', 'Record added!');
|
|
} //
|
|
|
|
public function destroy(Tla $tla): RedirectResponse
|
|
{
|
|
$tla->delete();
|
|
|
|
return redirect()->route('admin')->with('success', 'Record deleted');
|
|
}
|
|
|
|
public function fetch_tla(Request $request, ?string $language = 'en')
|
|
{
|
|
$allowedLanguages = array('hu', 'en');
|
|
|
|
if ( !in_array($language, $allowedLanguages) ) $language = 'en';
|
|
|
|
$tla = Tla::where('used', date("Y-m-d"))
|
|
->where('language', $language)
|
|
->first();
|
|
|
|
if ( is_null($tla) ) {
|
|
$tla = Tla::where('language', $language)
|
|
->where('used', NULL)
|
|
->inRandomOrder()
|
|
->first();
|
|
|
|
$tla->used = date("Y-m-d");
|
|
$tla->save();
|
|
}
|
|
|
|
return response()->json([
|
|
'hint' => $tla->hint,
|
|
'guesses' => $request->session()->get('guesses', NULL)
|
|
]);
|
|
}
|
|
|
|
public function check_tla(Request $request, ?string $language = 'en')
|
|
{
|
|
$request->validate([
|
|
'guess' => 'required',
|
|
]);
|
|
|
|
$guess = $request->all()['guess'];
|
|
|
|
$guess_array = explode(' ', $guess);
|
|
|
|
if ( $request->session()->get('guesses-'.$language, NULL) == NULL ) $request->session()->put('guesses-'.$language, [$guess]);
|
|
else $request->session()->push('guesses-'.$language, $guess);
|
|
|
|
$guesses = $request->session()->get('guesses-'.$language, NULL);
|
|
|
|
|
|
return $request;
|
|
}
|
|
|
|
public function update(Request $request, Tla $tla): RedirectResponse
|
|
{
|
|
$request->validate([
|
|
'title' => 'required',
|
|
'body' => 'required',
|
|
]);
|
|
|
|
$requestData = $request->all();
|
|
|
|
$tla->update($requestData);
|
|
|
|
$tla->save();
|
|
|
|
return redirect()->route('admin')->with('success', 'Record updated!');
|
|
}
|
|
}
|