Exemple #1
0
 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));
 }