mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
huge Laravel 10 upgrade
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace JoeDixon\Translation\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use JoeDixon\Translation\Drivers\Translation;
|
||||
use JoeDixon\Translation\Http\Requests\LanguageRequest;
|
||||
|
||||
class LanguageController extends Controller
|
||||
{
|
||||
private $translation;
|
||||
|
||||
public function __construct(Translation $translation)
|
||||
{
|
||||
$this->translation = $translation;
|
||||
}
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
$languages = $this->translation->allLanguages();
|
||||
|
||||
return view('translation::languages.index', compact('languages'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('translation::languages.create');
|
||||
}
|
||||
|
||||
public function store(LanguageRequest $request)
|
||||
{
|
||||
$this->translation->addLanguage($request->locale, $request->name);
|
||||
|
||||
return redirect()
|
||||
->route('languages.index')
|
||||
->with('success', __('translation::translation.language_added'));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace JoeDixon\Translation\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Str;
|
||||
use JoeDixon\Translation\Drivers\Translation;
|
||||
use JoeDixon\Translation\Http\Requests\TranslationRequest;
|
||||
|
||||
class LanguageTranslationController extends Controller
|
||||
{
|
||||
private $translation;
|
||||
|
||||
public function __construct(Translation $translation)
|
||||
{
|
||||
$this->translation = $translation;
|
||||
}
|
||||
|
||||
public function index(Request $request, $language)
|
||||
{
|
||||
// dd($this->translation->getSingleTranslationsFor('en'));
|
||||
if ($request->has('language') && $request->get('language') !== $language) {
|
||||
return redirect()
|
||||
->route('languages.translations.index', ['language' => $request->get('language'), 'group' => $request->get('group'), 'filter' => $request->get('filter')]);
|
||||
}
|
||||
|
||||
$languages = $this->translation->allLanguages();
|
||||
$groups = $this->translation->getGroupsFor(config('app.locale'))->merge('single');
|
||||
$translations = $this->translation->filterTranslationsFor($language, $request->get('filter'));
|
||||
|
||||
if ($request->has('group') && $request->get('group')) {
|
||||
if ($request->get('group') === 'single') {
|
||||
$translations = $translations->get('single');
|
||||
$translations = new Collection(['single' => $translations]);
|
||||
} else {
|
||||
$translations = $translations->get('group')->filter(function ($values, $group) use ($request) {
|
||||
return $group === $request->get('group');
|
||||
});
|
||||
|
||||
$translations = new Collection(['group' => $translations]);
|
||||
}
|
||||
}
|
||||
|
||||
return view('translation::languages.translations.index', compact('language', 'languages', 'groups', 'translations'));
|
||||
}
|
||||
|
||||
public function create(Request $request, $language)
|
||||
{
|
||||
return view('translation::languages.translations.create', compact('language'));
|
||||
}
|
||||
|
||||
public function store(TranslationRequest $request, $language)
|
||||
{
|
||||
$isGroupTranslation = $request->filled('group');
|
||||
|
||||
$this->translation->add($request, $language, $isGroupTranslation);
|
||||
|
||||
return redirect()
|
||||
->route('languages.translations.index', $language)
|
||||
->with('success', __('translation::translation.translation_added'));
|
||||
}
|
||||
|
||||
public function update(Request $request, $language)
|
||||
{
|
||||
$isGroupTranslation = ! Str::contains($request->get('group'), 'single');
|
||||
|
||||
$this->translation->add($request, $language, $isGroupTranslation);
|
||||
|
||||
return ['success' => true];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace JoeDixon\Translation\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use JoeDixon\Translation\Rules\LanguageNotExists;
|
||||
|
||||
class LanguageRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'name' => 'nullable|string',
|
||||
'locale' => ['required', new LanguageNotExists],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace JoeDixon\Translation\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class TranslationRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'key' => 'required',
|
||||
'value' => 'required',
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user