63 lines
1.9 KiB
PHP
63 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use const PHP_EOL;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\SiteDataRequest;
|
|
use App\Models\SiteDataItem;
|
|
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
|
|
|
class SiteDataController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$dataStrings = SiteDataItem::where('type', 'string')->get();
|
|
$dataText = SiteDataItem::where('type', 'text')->get();
|
|
|
|
$officerText = $this->officerText(siteData('officers'));
|
|
$concertEnsemblesText = $this->ensemblesText(siteData('concertEnsembles'));
|
|
$jazzEnsemblesText = $this->ensemblesText(siteData('jazzEnsembles'));
|
|
$beginnerEnsemblesText = $this->ensemblesText(siteData('beginnerEnsembles'));
|
|
|
|
return view('admin.site-data', compact(
|
|
'dataStrings',
|
|
'dataText',
|
|
'officerText',
|
|
'concertEnsemblesText',
|
|
'jazzEnsemblesText',
|
|
'beginnerEnsemblesText'
|
|
));
|
|
}
|
|
|
|
public function update(SiteDataRequest $request)
|
|
{
|
|
foreach ($request->validated() as $key => $value) {
|
|
siteData($key, $value);
|
|
}
|
|
|
|
return redirect()->route('admin.site-data.index')->with('success', 'Data updated successfully.');
|
|
}
|
|
|
|
protected function officerText(array $officerDataArray): string
|
|
{
|
|
$officerText = '';
|
|
foreach ($officerDataArray as $officer) {
|
|
$officerText .= $officer['office'].', '.$officer['name'].', '.$officer['school'].PHP_EOL;
|
|
}
|
|
|
|
return $officerText;
|
|
}
|
|
|
|
protected function ensemblesText(array $ensembleDataArray): string
|
|
{
|
|
$ensembleText = '';
|
|
foreach ($ensembleDataArray as $ensemble) {
|
|
$ensembleText .= $ensemble['name'].', '.$ensemble['chair'].', '.$ensemble['clinician'].PHP_EOL;
|
|
}
|
|
|
|
return $ensembleText;
|
|
}
|
|
}
|