public function destroy(Request $request, $station_id, $aerometric_id) { $station = \App\Station::findOrFail($station_id); if (!$request->user()->isAdmin() && $station->user_id != $request->user()->id) { return abort(403); } $aerometric = \App\Aerometric::findOrFail($aerometric_id); $aerometric->delete(); return redirect()->to('backend/stations/' . $station->id . '/aerometrics'); }
/** * @param $station_id * @return mixed */ public function genre($station_id) { return Station::findOrFail($station_id)->genre; }
public function postImport(Request $request, $id) { $station = \App\Station::findOrFail($id); if (!$request->user()->isAdmin() && $station->user_id != $request->user()->id) { return abort(403); } $this->validate($request, ['file' => 'required|mimes:txt|max:5000']); $file = request()->file('file'); $contents = file_get_contents($file->getPathname()); $data = []; if ($file->getClientOriginalExtension() == 'csv') { $lines = explode("\r\n", $contents); $array = array_map("str_getcsv", $lines); $header = array_shift($array); foreach ($array as $v) { $data[] = array_combine($header, $v); } } else { if ($file->getClientOriginalExtension() == 'json') { $data = json_decode($contents, true); } } foreach ($data as $d) { $aerometric = new \App\Aerometric(); $aerometric->station_id = $station->id; foreach (array_keys(config('aerometrics.properties')) as $property) { $aerometric->{$property} = array_get($d, $property, '0.0'); } $aerometric->created_at = $aerometric->updated_at = array_get($d, 'created_at', new \DateTime('now')); $aerometric->save(); } return redirect('backend/stations/' . $station->id); }