/** * * Funcion que da de alta un pincho solo si el usuario que realiza esta accion * es un participante. Si el participante ya introdujo un pincho y está * confirmado no permite el alta de otro. Además realiza las comprobaciones * necesarias de los datos introducidos. * @access public * */ public function altaPincho() { $pinchotemp = new Pincho(); $codvototemp = new CodVoto(); $currentuser = $_SESSION["currentuser"]; if ($currentuser->getTipoU() == "P") { //commprueba que el usuario esta logeado if (isset($_POST["nombrePi"])) { if (!$pinchotemp->pinchoExistsAct($currentuser->getEmailU())) { //compueba si este participante ya metio algun pincho $ruta = "./resources/img/pinchos/"; //ruta carpeta donde queremos copiar las imagenes $idpincho = $pinchotemp->generarIdPi($currentuser->getEmailU()); //devuelve el id del pinchos $fotoPiSize = $_FILES['fotoPi']['size']; $fotoPi = $ruta . $_FILES['fotoPi']['name']; $fotoPiTemp = $_FILES['fotoPi']['tmp_name']; $fotoPi = $ruta . $_FILES['fotoPi']['name']; if (strlen($fotoPi) >= 45) { $fotoPi = substr($fotoPi, 0, 40) . '.jpg'; } move_uploaded_file($fotoPiTemp, $fotoPi); //pasa la foto de la carpeta temporal a la del servidor web //$fotoPiSize="2"; $pinchotemp->setFotoPi($fotoPi, $fotoPiSize); $pinchotemp->setNumVotosPopPi("0"); //inicializa a 0 el numero de votos dados por el JPopular $pinchotemp->setnumvotosProfPi("0"); //inicializa a 0 el numero de votos dados por el JProfesional $pinchotemp->setEstadoPi("0"); //inicializa a true el estado del pincho $pinchotemp->setNumVotePi("4"); //indica el numero de codigos de votos $pinchotemp->setIdPi($idpincho); $pinchotemp->setNombrePi($_POST["nombrePi"]); $pinchotemp->setPrecioPi($_POST["precioPi"]); $pinchotemp->setIngredientesPi($_POST["ingredientesPi"]); $pinchotemp->setCocineroPi($_POST["cocineroPi"]); $pinchotemp->setParticipanteEmail($currentuser->getEmailU()); try { //Hace todas las coprobaciones a la informacion introducida por el usuario $pinchotemp->checkInfoIfNullPi(); $pinchotemp->checkInfoPi(); $pinchotemp->savePi(); $codvototemp->generateCodVote($idpincho); //los codigos de votos de un pincho deben crearse DESPUES que el pincho //mensaje de confirmación y redirige al metodo consultarPincho del controlador PinchoController echo "<script> alert('Pincho registrado correctamente'); </script>"; echo "<script>window.location.replace('index.php?controller=pincho&action=listadoPincho');</script>"; } catch (ValidationException $ex) { $errors = $ex->getErrors(); $this->view->setVariable("errors", $errors); $this->view->render("vistas", "altaPincho"); //te muestra el formulario la primera vez } // Guarda el valor de la variable $pincho en la variable pincho accesible desde la vista } else { //si ya habia un pincho creado por ese participante echo "<script> alert('Ya has creado un pincho'); </script>"; echo "<script>window.location.replace('index.php?controller=pincho&action=listadoPincho');</script>"; } } else { $this->view->render("vistas", "altaPincho"); //te muestra el formulario la primera vez } } else { echo "<script> alert('NO eres un Participante, NO puedes dar de alta un pincho'); </script>"; echo "<script>window.location.replace('index.php?controller=pincho&action=listadoPincho');</script>"; } }