Example #1
0
 public function votar()
 {
     $currentuser = $_SESSION["currentuser"];
     $errors = array();
     $votoPincho1 = new Voto();
     $votoPincho2 = new Voto();
     $votoPincho3 = new Voto();
     if (isset($_POST["codigoP1"])) {
         /*Guarda los datos introducidos en el formulario en el objeto, más el
           email del usuario actual que es el que realiza la votacion*/
         $votoPincho1->setUsuarioEmailU($currentuser->getEmailU());
         $votoPincho1->setCodigoPinchoV($_POST["codigoP1"]);
         $votoPincho1->setValoracionV('1');
         $votoPincho2->setUsuarioEmailU($currentuser->getEmailU());
         $votoPincho2->setCodigoPinchoV($_POST["codigoP2"]);
         $votoPincho2->setValoracionV('0');
         $votoPincho3->setUsuarioEmailU($currentuser->getEmailU());
         $votoPincho3->setCodigoPinchoV($_POST["codigoP3"]);
         $votoPincho3->setValoracionV('0');
         /*Comprueba si los codigos introducidos son correctos y los introduce en el objeto*/
         if (!$votoPincho1->isCorrectCode()) {
             $errors["codigoP1"] = "El código introducido no pertenece a ningun pincho";
         }
         if (!$votoPincho2->isCorrectCode()) {
             $errors["codigoP2"] = "El código introducido no pertenece a ningun pincho";
         }
         if (!$votoPincho3->isCorrectCode()) {
             $errors["codigoP3"] = "El código introducido no pertenece a ningun pincho";
         }
         /*Comprueba si los codigos introducidos corresponden a pinchos diferentes*/
         if ($votoPincho1->isPinchoEquals($votoPincho2)) {
             $errors["codigoP2"] = "Los codigos 1 y 2 no pueden ser sobre el mismo pincho";
         }
         if ($votoPincho2->isPinchoEquals($votoPincho3)) {
             $errors["codigoP3"] = "Los codigos 3 y 2 no pueden ser sobre el mismo pincho";
         }
         if ($votoPincho3->isPinchoEquals($votoPincho1)) {
             $errors["codigoP3"] = "Los codigos 1 y 3 no pueden ser sobre el mismo pincho";
         }
         /*Comprueba si los codigos introducidos corresponden a pinchos diferentes*/
         if ($votoPincho1->isPinchoVotado($currentuser->getEmailU())) {
             $errors["codigoP1"] = "Este codigo pertenece a un pincho que ya has votado";
         }
         if ($votoPincho2->isPinchoVotado($currentuser->getEmailU())) {
             $errors["codigoP2"] = "Este codigo pertenece a un pincho que ya has votado";
         }
         if ($votoPincho3->isPinchoVotado($currentuser->getEmailU())) {
             $errors["codigoP3"] = "Este codigo pertenece a un pincho que ya has votado";
         }
         try {
             // comprueba si el código del pincho introducido ya forma parte de un voto anterior
             if (!$votoPincho1->votoExist() and !$votoPincho2->votoExist() and !$votoPincho3->votoExist()) {
                 //continua solo si no se ha producido ningun error
                 if (!sizeof($errors) > 0) {
                     /*Si no es asi, guarda las votaciones en la base de datos*/
                     $votoPincho1->save();
                     $votoPincho2->save();
                     $votoPincho3->save();
                     $votoPincho1->updateNumVotos();
                     //mensaje de confirmación y redirige al metodo verPerfil del controlador popularCotroller
                     echo "<script> alert('Voto registrado correctamente'); </script>";
                     echo "<script>window.location.replace('index.php?controller=popular&action=verPerfil');</script>";
                 } else {
                     $this->view->setVariable("errors", $errors);
                 }
                 /*Si ya existe en la base de datos muestra un mensaje de error*/
             } else {
                 if ($votoPincho1->votoExist()) {
                     $errors["codigoP1"] = "Este código no es válido";
                 }
                 if ($votoPincho2->votoExist()) {
                     $errors["codigoP2"] = "Este código no es válido";
                 }
                 if ($votoPincho3->votoExist()) {
                     $errors["codigoP3"] = "Este código no es válido";
                 }
                 $this->view->setVariable("errors", $errors);
             }
         } catch (ValidationException $ex) {
             $errors = $ex->getErrors();
         }
     }
     /*Permite visualizar: view/vistas/votarJPopu.php */
     $this->view->render("vistas", "votarJPopu");
 }
 public function votar()
 {
     $currentuser = $_SESSION["currentuser"];
     $errors = array();
     $votoPincho = new Voto();
     if (isset($_POST["codigoP"])) {
         //Comprueba que la valoración introducida es correcta
         $votoPincho->checkIsValidForVoto();
         /*Guarda los datos introducidos en el formulario en el objeto, más el
           email del usuario actual que es el que realiza la votacion*/
         $votoPincho->setUsuarioEmailU($currentuser->getEmailU());
         $votoPincho->setCodigoPinchoV($_POST["codigoP"]);
         $votoPincho->setValoracionV($_POST["valoracionP"]);
         /*Comprueba si el codigo introducido es correcto y lo introduce en el objeto*/
         if (!$votoPincho->isCorrectCode()) {
             $errors["codigoP"] = "El código introducido no pertenece a ningun pincho";
         }
         if ($votoPincho->isPinchoVotado($currentuser->getEmailU())) {
             $errors["codigoP"] = "Este codigo pertenece a un pincho que ya has votado";
         }
         try {
             // comprueba si el código del pincho introducido ya forma parte de un voto anterior
             if (!$votoPincho->votoExist()) {
                 //continua solo si no se ha producido ningun error
                 $concu = $this->concurso->ver_datos();
                 /*En el caso de que ya sea la fecha en la que ya se deben saber los finalistas,
                 	 apartir de ese momento el jurado profesional solamenre podra votar a los pinchos
                 	 que sean finalistas (los que esten en la tabla premiados con el valor del
                 	 atributo "ronda=1")*/
                 if ($concu->getFechaFinalistasC() <= date("Y-m-d")) {
                     if (!$votoPincho->esPinchoFinalista()) {
                         $errors["codigoP"] = "Este pincho no pertenece a la lista de finalistas";
                     }
                 }
                 if (!sizeof($errors) > 0) {
                     $votoPincho->updateNumVotosProf();
                     /*Si no es asi, guarda las votaciones en la base de datos*/
                     $votoPincho->save();
                     //mensaje de confirmación y redirige al metodo verPerfil del controlador profesionalCotroller
                     echo "<script> alert('Voto registrado correctamente'); </script>";
                     echo "<script>window.location.replace('index.php?controller=profesional&action=verPerfil');</script>";
                 } else {
                     $this->view->setVariable("errors", $errors);
                 }
                 /*Si ya existe en la base de datos muestra un mensaje de error*/
             } else {
                 $errors["codigoP"] = "Este código ya esta registrado";
                 $this->view->setVariable("errors", $errors);
             }
         } catch (ValidationException $ex) {
             $errors = $ex->getErrors();
         }
     }
     /*Permite visualizar: view/vistas/votarJPopu.php */
     $this->view->render("vistas", "votarJProf");
 }