2021-10-09 11:24:41 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
|
|
|
|
use App\Enums\BreedingPageType;
|
|
|
|
|
use App\Enums\GeneralConfigType;
|
2022-03-14 14:09:43 +00:00
|
|
|
use App\Enums\InputType;
|
2021-10-09 11:24:41 +02:00
|
|
|
use App\Models\BreedingPage;
|
|
|
|
|
use Illuminate\Support\Facades\View;
|
|
|
|
|
|
|
|
|
|
class BreedingPageController extends Controller
|
|
|
|
|
{
|
|
|
|
|
public function __construct()
|
|
|
|
|
{
|
|
|
|
|
$generalConfig = app()->view->getShared()['GeneralConfigGlobal'] ?? null;
|
|
|
|
|
if ($generalConfig) {
|
|
|
|
|
View::share('generalConfig', $generalConfig
|
|
|
|
|
->where('type', GeneralConfigType::breedingPage())
|
|
|
|
|
->first());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function index()
|
|
|
|
|
{
|
|
|
|
|
return view('front.breeding-page.index');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function list(BreedingPageType $pagesType)
|
|
|
|
|
{
|
2021-10-22 11:07:30 +02:00
|
|
|
$pages = BreedingPage::where('type', $pagesType)->whereStatus(true)->get();
|
2022-03-14 14:09:43 +00:00
|
|
|
$generalConfig = app()->view->getShared()['GeneralConfigGlobal'] ?? null;
|
|
|
|
|
$generalConfig = $generalConfig ? $generalConfig->where('type', GeneralConfigType::breedingPage())->first() : null;
|
|
|
|
|
$breederPageTypes = collect($generalConfig->data)->filter(function($v, $key) {
|
|
|
|
|
return strpos($key, 'breeding_page_') === 0 and isset($v['type']) and $v['inputType']['value'] === InputType::string()->value;
|
|
|
|
|
});
|
|
|
|
|
$array = [];
|
|
|
|
|
|
|
|
|
|
foreach($breederPageTypes as $key => $pageType){
|
|
|
|
|
$array[$pageType['type']['value']] = $generalConfig->data[str_replace('_text', '_img2', $key)];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$bannerUrl = $array[$pagesType->value]["value"];
|
|
|
|
|
|
|
|
|
|
return view('front.breeding-page.list', compact('pages', 'pagesType', 'bannerUrl'));
|
2021-10-09 11:24:41 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassAfterLastUsed
|
|
|
|
|
public function show(BreedingPageType $pagesType, BreedingPage $page)
|
|
|
|
|
{
|
2022-03-14 14:09:43 +00:00
|
|
|
$generalConfig = app()->view->getShared()['GeneralConfigGlobal'] ?? null;
|
|
|
|
|
$generalConfig = $generalConfig ? $generalConfig->where('type', GeneralConfigType::breedingPage())->first() : null;
|
|
|
|
|
$breederPageTypes = collect($generalConfig->data)->filter(function($v, $key) {
|
|
|
|
|
return strpos($key, 'breeding_page_') === 0 and isset($v['type']) and $v['inputType']['value'] === InputType::string()->value;
|
|
|
|
|
});
|
|
|
|
|
$array = [];
|
|
|
|
|
|
|
|
|
|
foreach($breederPageTypes as $key => $pageType){
|
|
|
|
|
$array[$pageType['type']['value']] = $generalConfig->data[str_replace('_text', '_img2', $key)];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$bannerUrl = $array[$pagesType->value]["value"];
|
|
|
|
|
|
|
|
|
|
return view('front.breeding-page.show', compact('page', 'pagesType', 'bannerUrl'));
|
2021-10-09 11:24:41 +02:00
|
|
|
}
|
|
|
|
|
}
|