/**
  * Inserta un nuevo pincho
  * 
  *
  * @param Pincho $pincho pincho con los datos que se desean insertar
  * @param int $idEstablecimiento identificador del establecimiento al que pertenece el pincho
  * @throws PDOException si existe un error con la base de datos
  * @throws Exception si se inserta mas de una tupla en la base de datos
  * @return boolean. Devuelve true (1) si se ha producido la insercion, false (0) en caso contrario
  */
 public function insertarPincho($pincho, $idEstablecimiento)
 {
     $rutaFoto = "images/" . $idEstablecimiento . ".jpg";
     $stmt = $this->db->prepare("INSERT INTO pincho(nombre, precio, foto, establecimiento_idestablecimiento) values (?,?,?,?)");
     $stmt->execute(array($pincho->getNombre(), $pincho->getPrecio(), $rutaFoto, $idEstablecimiento));
     $count = $stmt->rowCount();
     switch ($count) {
         case 0:
             return false;
             break;
         case 1:
             //Creo la ruta de la foto obteniendo la id que acaba de asignarsele al pincho
             return true;
             break;
         default:
             //throw new Exception ( "Error al realizar la insercion en la BD" );
             return false;
             break;
     }
 }
 public function register()
 {
     $currentuser = $this->view->getVariable("currentusername");
     $establecimiento = $this->establecimientoMapper->findById($currentuser);
     $concursos = $this->concursoMapper->findConcurso("pinchosOurense");
     $this->view->setVariable("concursos", $concursos);
     $pincho = $this->pincho->findByEstablecimiento($establecimiento);
     if ($pincho != NULL) {
         $this->view->setFlash(sprintf("Ya hay un pincho registrado."));
         $this->view->render("concursos", "index");
     } else {
         if (isset($_POST["nombre"])) {
             $pinc = new Pincho();
             $pinc->setNombre($_POST["nombre"]);
             if (isset($_POST["celiaco"])) {
                 $pinc->setCeliaco(1);
             } else {
                 $pinc->setCeliaco(0);
             }
             if (isset($_FILES['img'])) {
                 $fichero = $_FILES['img']['name'];
                 $ext = strrchr($fichero, '.');
                 $ruta = 'imagenes/pincho_' . $pinc->getNombre() . $ext;
                 if (move_uploaded_file($_FILES['img']['tmp_name'], $ruta)) {
                     $pinc->setImagen($pinc->getNombre() . $ext);
                 }
             }
             $pinc->setDescripcion($_POST["descripcion"]);
             $pinc->setValidado(0);
             $pinc->setEstablecimiento($currentuser);
             $pinc->setConcurso("pinchosOurense");
             try {
                 $this->establecimientoMapper->savePincho($pinc);
                 $pincho = $this->pincho->findByEstablecimiento($establecimiento);
                 if (isset($_POST["ingredientesSelected"])) {
                     $ingredientesPOST = $_POST["ingredientesSelected"];
                     $ingredientesNew = array_unique($ingredientesPOST, SORT_STRING);
                     foreach ($ingredientesNew as $ingrediente) {
                         if (!empty($ingrediente)) {
                             $this->ingredienteMapper->insert($pincho, $ingrediente);
                         }
                     }
                 }
                 $this->view->setFlash("Pincho " . $pinc->getNombre() . " registrado.");
             } catch (ValidationException $ex) {
                 $errors = $ex->getErrors();
                 $this->view->setVariable("errors", $errors);
             }
         }
         $this->view->setVariable("pincho", $pinc);
         $this->view->render("concursos", "index");
     }
 }
Example #3
0
 public function modPincho(Pincho $pincho)
 {
     $stmt = $this->db->prepare("UPDATE pincho set nombre=?, descripcion=?, celiaco=?, imagen=? where id_pincho=?");
     $stmt->execute(array($pincho->getNombre(), $pincho->getDescripcion(), $pincho->isCeliaco(), $pincho->getImagen(), $pincho->getId()));
 }