$o]); } 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 { if ($key == 'site_logo' AND $value instanceof UploadedFile) { $path = $value->storeAs('site/'.config('SITE_SETUP')->id,$value->getClientOriginalName(),'public'); 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, ]); } } catch (\Exception $e) { Log::debug($e->getMessage(),['k'=>$key,'v'=>$value]); } } } return redirect()->back() ->with('success','Setup Updated!');; } }