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