public function savePOD() { $numFila = 1; $csv = new csv(); $file = Input::file('csvfile'); //controlar que no sea vacio !!!!! if (empty($file)) { $msgEmpty = "No se ha seleccionado ningún archivo *.csv"; return View::make('admin.pod')->with(compact('msgEmpty')); } $f = fopen($file, "r"); while (($fila = fgetcsv($f, 0, ';', '"')) !== false) { //$content es un array donde cada posición almacena los valores de las columnas del csv $result = array(); $columnIdLugar = $csv->getNumColumnIdLugar(); $id_lugar = $fila[$columnIdLugar]; $datosfila = $csv->filterFila($fila); //nos quedamos con las columnas que hay que guardar en la Base de Datos. if ($this->existeLugar($id_lugar)) { //Conjunto de espacios a reservas: si el espacio tiene puestos, $recursos contiene cada uno de ellos. $recursos = Recurso::where('id_lugar', '=', $id_lugar)->get(); //Comprueba si el csv tiene solapamientos if ($this->existeSolapamientocsv($datosfila, $file, $numFila)) { $this->warningSolapesCSV[$numFila] = $datosfila; } elseif ($this->existeSolapamientodb($datosfila, $numFila, $recursos)) { $this->warningSolapesDB[$numFila] = $datosfila; } else { //identificador único de la serie de eventos do { $evento_id = md5(microtime()); } while (Evento::where('evento_id', '=', $evento_id)->count() > 0); foreach ($recursos as $recurso) { $this->save($datosfila, $numFila, $recurso, $evento_id); } $this->success[$numFila] = $datosfila; } } else { $this->warningNoLugar[$numFila] = $datosfila; } $numFila++; } //$fila = fgetcsv($f,0,';','"'); fclose($f); //$errores = $csv->getErroresLugar(); //return View::make('admin.test')->with(compact('fila')); return View::make('admin.pod')->with(array('events' => $this->success, 'noexistelugar' => $this->warningNoLugar, 'solapesdb' => $this->warningSolapesDB, 'solapescsv' => $this->warningSolapesCSV)); }