/** * Update the specified resource in storage. * * @param $request; * @param int $id * @return Response */ public function update($id, SettingsRequest $request) { $settings = Settings::findOrFail($id); $fields = $request->except(['audioFileA', 'audioFileB']); if ($request->hasFile('audioFileA')) { preg_match_all('#\\.([A-Za-z0-9]+)$#', $request->file('audioFileA')->getClientOriginalName(), $maches); $ext = $maches[1][0]; $filePath = Auth::user()->id . "_audioFileA." . $ext; $request->file('audioFileA')->move(public_path() . '/audio/', $filePath); $fields['audioFileA'] = '/audio/' . $filePath; $audioId = Auth::user()->id . "_audioFileB"; $mtt = new \App\ACME\Helpers\MttAPI(); $res = $mtt->setCallBackPrompt($filePath); $settings->setAttribute('audioFileA', '/audio/' . $filePath); $settings->setAttribute('audioIdA', $audioId); } if ($request->hasFile('audioFileB')) { preg_match_all('#\\.([A-Za-z0-9]+)$#', $request->file('audioFileB')->getClientOriginalName(), $maches); $ext = $maches[1][0]; $audioId = Auth::user()->id . "_audioFileB."; $filePath = Auth::user()->id . "_audioFileB." . $ext; $request->file('audioFileB')->move(public_path() . '/audio/', $filePath); $fields['audioFileB'] = '/audio/' . $filePath; $audioId = Auth::user()->id . "_audioFileB"; $mtt = new \App\ACME\Helpers\MttAPI(); $res = $mtt->setCallBackPrompt($filePath); $settings->setAttribute('audioFileB', '/audio/' . $filePath); $settings->setAttribute('audioIdB', $audioId); } if ($request->has('delAudioA')) { unlink(public_path() . $settings->audioFileA); $settings->setAttribute('audioFileA', null); $settings->setAttribute('audioIdA', null); } if ($request->has('delAudioB')) { unlink(public_path() . $settings->audioFileB); $settings->setAttribute('audioFileB', null); $settings->setAttribute('audioIdB', null); } if ($settings->update($fields)) { flash()->success('Заданы настройки для сайта: ' . $settings->client->title); return redirect()->back(); } return \Redirect::back()->withInput($request); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { $settings = FormSetting::where('client_id', '=', $id); $settings->delete(); Client::destroy($id); return redirect('callback/client'); }