huge Laravel 10 upgrade

This commit is contained in:
HolgerHatGarKeineNode
2023-02-19 20:13:20 +01:00
parent 5c74f77beb
commit 12847f95f6
440 changed files with 46336 additions and 682 deletions

View File

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

View File

@@ -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];
}
}

View File

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

View File

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