/** * 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"); } }
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())); }