osb/app/Http/Controllers/AdminHomeController.php

75 lines
1.9 KiB
PHP
Raw Normal View History

2018-07-31 04:11:00 +00:00
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
2018-08-07 04:26:33 +00:00
use Illuminate\Support\Facades\Log;
use Illuminate\Http\UploadedFile;
2018-07-31 04:11:00 +00:00
use App\Models\SiteDetails;
class AdminHomeController extends Controller
{
public function setup()
{
return view('a.setup');
}
public function setup_update(Request $request)
{
$request->validate([
'site_name' => 'required|string|max:255',
'site_email' => 'required|string|email|max:255',
'site_address1' => 'required|string|max:255',
'site_address2' => 'nullable|string|max:255',
'site_city' => 'required|string|max:64',
'site_state' => 'required|string|max:32',
'site_postcode' => 'required|string|max:8',
'site_phone' => 'nullable|regex:/[0-9 ]+/|min:6|max:12',
'site_fax' => 'nullable|regex:/[0-9 ]+/|min:6|max:12',
]);
// If we are more input that sample data, reject the update.
if (config('SITE_SETUP')->allowed_keys(array_keys($request->except('_token'))))
return redirect()->back()
->withInput()
->withErrors('Invalid configuration - values not expected.');
foreach ($request->except('_token') as $key => $value)
{
if (! $value) {
SiteDetails::where('site_id',config('SITE_SETUP')->id)->where('key',$key)->delete();
} else {
try {
2018-08-07 04:26:33 +00:00
if ($key == 'site_logo' AND $value instanceof UploadedFile)
{
$path = $value->storePubliclyAs('site/'.config('SITE_SETUP')->id,$value->getClientOriginalName());
SiteDetails::updateOrCreate([
'site_id'=>config('SITE_SETUP')->id,
'key'=>$key,
],[
'value'=>$path,
]);
} else {
// Update or create our config record.
SiteDetails::updateOrCreate([
'site_id'=>config('SITE_SETUP')->id,
'key'=>$key,
],[
'value'=>$value,
]);
}
2018-07-31 04:11:00 +00:00
} catch (\Exception $e) {
2018-08-07 04:26:33 +00:00
Log::debug($e->getMessage(),['k'=>$key,'v'=>$value]);
2018-07-31 04:11:00 +00:00
}
}
}
return redirect()->back()
->with('success','Setup Updated!');;
}
}