コード例 #1
0
ファイル: PinchoController.php プロジェクト: agonbar/pinchOS
 /**
  *
  * 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>";
     }
 }