public function votar()
 {
     $pinchoMapper = new Pinchomapper();
     $votacionMapper = new Votacionmapper();
     // Se recupera la id del usuario
     $id = $_SESSION['id'];
     // Se recuperan los codigos del formulario
     $codigo1 = $_POST['inputVoto1'];
     $codigo2 = $_POST['inputVoto2'];
     $codigo3 = $_POST['inputVoto3'];
     // Se recuperan las ids de los pinchos correspondientes a esos codigos
     $idpincho1 = $pinchoMapper->recuperaPinchodeCodigo($codigo1);
     $idpincho2 = $pinchoMapper->recuperaPinchodeCodigo($codigo2);
     $idpincho3 = $pinchoMapper->recuperaPinchodeCodigo($codigo3);
     // Se vota por los pinchos
     $operacionCorrecta = $votacionMapper->insertarTripleVotacionPopular($id, $idpincho1, $codigo1, 1, $idpincho2, $codigo2, 0, $idpincho3, $codigo3, 0);
     if ($operacionCorrecta) {
         $mensajes[] = "<strong>Votacion correcta.</strong> Gracias!";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=juradopopular&action=index");
     } else {
         $mensajes[] = "<strong>Error!</strong> no se ha podido votar";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=juradopopular&action=index");
     }
 }
예제 #2
0
 public function home()
 {
     $pinchoMapper = new Pinchomapper();
     $juradoprofesionalmapper = new Juradoprofesionalmapper();
     $establecimientomapper = new Establecimientomapper();
     $establecimientos = $establecimientomapper->recuperarConfirmados();
     $pinchos = $pinchoMapper->recuperarPinchosAsociados($establecimientos);
     $jurados = $juradoprofesionalmapper->recuperarTodosLosJurados();
     require_once 'views/pages/home.php';
 }
 public function index()
 {
     // Cargar las variables necesarias desde el modelo
     $votacionMapper = new Votacionmapper();
     $pinchoMapper = new Pinchomapper();
     // Se recupera la id del usuario
     $id = $_SESSION['id'];
     // Recuperamos todos los pinchos asignados al jurado profesional actual
     $pinchosAsignados = $votacionMapper->recuperarPinchosAsignadosJuradoProfesional($id);
     // Recuperamos todos los establecimientos asociados a esos pinchos
     $establecimientosAsignados = $pinchoMapper->recuperarEstablecimientosAsociados($pinchosAsignados);
     require_once 'views/juradoprofesional/index.php';
 }
 public function generarCodigos()
 {
     $pinchoMapper = new Pinchomapper();
     $idEstablecimiento = $_SESSION['id'];
     // Se recupera la id del pincho asociado al establecimento
     $idPincho = $pinchoMapper->recuperarIdPinchoAsociado($idEstablecimiento);
     // Se intenta crear 100 nuevos codigos
     $operacionCorrecta = $pinchoMapper->crearNCodigos($idPincho, 100);
     if ($operacionCorrecta) {
         $mensajes[] = "Se han generado <strong>100</strong> nuevos codigos!";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=establecimiento&action=index");
     } else {
         $mensajes[] = "<strong>Error!</strong> No se han podido generar nuevos codigos";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=establecimiento&action=index");
     }
 }
 public function validarRegistroEstablecimientos()
 {
     $establecimientoMapper = new Establecimientomapper();
     $pinchoMapper = new Pinchomapper();
     // Datos del establecimiento [AÑADIR TODAS LAS VALIDACIONES]
     $login = $_POST['inputLoginNuevoEstablecimiento'];
     $pass = $_POST['inputPasswordNuevoEstablecimiento'];
     $passCifrada = md5($pass);
     $nombre = $_POST['inputNombreNuevoEstablecimiento'];
     $direccion = $_POST['inputDireccionNuevoEstablecimiento'];
     $localizacion = $_POST['inputLocalizacionNuevoEstablecimiento'];
     $descripcion = $_POST['inputDescripcionNuevoEstablecimiento'];
     // Datos del pincho
     $nombrePincho = $_POST['inputNombreNuevoPincho'];
     $precioPincho = $_POST['inputPrecioNuevoPincho'];
     // Se crea el establecimiento y se inserta en la base de datos
     $establecimiento = new Establecimiento("", $nombre, $direccion, $localizacion, 0, $descripcion, $login, $passCifrada);
     if ($establecimientoMapper->creaEstablecimiento($establecimiento, "1", "1")) {
         // Recuperar id del establecimiento
         $idEstablecimiento = $establecimientoMapper->recuperarIdEstablecimiento($login);
         // Obtencion de la foto desde el formulario
         $destinoFoto = "images/" . $idEstablecimiento . ".jpg";
         $nombreFoto = $_FILES["inputFotoNuevoPincho"]["tmp_name"];
         move_uploaded_file($nombreFoto, $destinoFoto);
         // Se crea el pincho y se inserta en la base de datos
         $pincho = new Pincho("", $nombrePincho, $precioPincho);
         if ($pinchoMapper->insertarPincho($pincho, $idEstablecimiento)) {
             $mensajes[] = "<strong>Establecimiento</strong> registrado. Espere en unos dias y vea si ha sido confirmado para el concurso";
             $_SESSION['mensajes'] = $mensajes;
         } else {
             $mensajes[] = "<strong>Error!</strong> Por favor cambie el nombre de su pincho";
             $_SESSION['mensajes'] = $mensajes;
         }
     } else {
         $mensajes[] = "<strong>Error!</strong> Por favor cambie el nombre y login de su establecimiento";
         $_SESSION['mensajes'] = $mensajes;
     }
     header("Location: ?controller=pages&action=home");
 }
예제 #6
0
 /**
  * Recupera un vector de establecimientos relacionados con el vector de pinchos que se le introduce
  *
  * @param $arrayPinchos Vector con las id de los poinchos
  * @throws PDOException si existe un error con la base de datos
  * @return $establecimientos Aray con los establecimientos recuperados
  */
 public function recuperarEstablecimientosAsociados($arrayPinchos)
 {
     $pinchoMap = new Pinchomapper();
     $cont = 0;
     $establecimientos = array();
     foreach ($arrayPinchos as $pincho) {
         $idPincho = $pincho->getId();
         $establecimiento = $pinchoMap->recuperarEstablecimientoAsociado($idPincho);
         if ($establecimiento != null) {
             $establecimientos[$cont++] = $establecimiento;
         }
     }
     return $establecimientos;
 }
 /**
  * Recupera los codigos de un establecimiento a traves de su id
  *
  * @param Integer $idEstablecimiento El id del establecimiento del que se quieren recuperar los codigos
  * @throws PDOException si existe un error con la base de datos
  * @return $codigos Devuelve los codigos asociados al establecimiento. Devuelve null si se ha producido un error.
  */
 public function recuperarCodigosEstablecimiento($idEstablecimiento)
 {
     $pinchoMapper = new Pinchomapper();
     $codigoMapper = new Codigomapper();
     $idPincho = $pinchoMapper->recuperarIdPinchoAsociado($idEstablecimiento);
     return $codigoMapper->recuperarCodigos($idPincho);
 }
예제 #8
0
 /**
  * Recupera todos los pinchos asignados a un juradoProfesional que aun no han sido votados
  *
  * @param $idJuradoProfesional La id del juradoPopular al que se le han asignado los pinchos
  *
  * @throws PDOException si existe error con la base de datos
  * @return $pinchos El array de pinchos asignados al juradoProfesional cuya id es $idJuradoProfesional
  */
 public function recuperarPinchosAsignadosJuradoProfesional($idJuradoProfesional)
 {
     $pinchoMapper = new Pinchomapper();
     $stmt = $this->db->prepare("SELECT pincho_idpincho FROM votacionprofesional WHERE juradoprofesional_idjuradoprofesional=? AND notavotoprofesional IS NULL");
     $stmt->execute(array($idJuradoProfesional));
     $idPinchosRecuperados = $stmt->fetchAll();
     $pinchos = array();
     foreach ($idPinchosRecuperados as $idPincho) {
         $pinchos[] = $pinchoMapper->recuperarPincho($idPincho[0]);
     }
     return $pinchos;
 }
 /**
  * Recupera todos los pinchos asociados a un ingrediente
  *
  * @param $idIngrediente id del ingrediente del que van a recuperarse los pinchos en los que aparece
  * @throws PDOException si existe error con la base de datos
  * @return $pinchos El array de pinchos recuperados de la base de datos
  */
 public function recuperarPinchosConIngrediente($idIngrediente)
 {
     $mapPinchos = new Pinchomapper();
     $stmt = $this->db->prepare("SELECT pincho_idpincho FROM pincho_has_ingrediente WHERE ingrediente_idingrediente=?");
     $stmt->execute(array($idIngrediente));
     $idPinchosRecuperados = $stmt->fetchAll();
     $pinchos = array();
     //Linea añadida para mejorar el funcionamiento de recuperarPinchosConAlergeno() ya que hay muchos ingredientes que
     //no están en ningún pincho
     if ($idPinchosRecuperados == NULL) {
         return NULL;
     }
     foreach ($idPinchosRecuperados as $idPincho) {
         $pinchos[] = $mapPinchos->recuperarPincho($idPincho[0]);
     }
     //print_r($pinchos[]);
     return $pinchos;
 }
 /**
  * Asigna cada pincho confirmado a 3 jurados profesionales
  * 
  * @throws PDOException si existe un error con la base de datos
  * @return Boolean Devuelve true si los pinchos se han repartidos
  */
 public function asignarPinchosJurados()
 {
     $establecimientoMapper = new Establecimientomapper();
     $pinchoMapper = new Pinchomapper();
     $juradoProfesionalMap = new Juradoprofesionalmapper();
     $concursoMapper = new Concursomapper();
     $establecimientosConfirmados = $establecimientoMapper->recuperarConfirmados();
     $pinchosConfirmados = $pinchoMapper->recuperarPinchosAsociados($establecimientosConfirmados);
     $jurados = $juradoProfesionalMap->recuperarTodosLosJurados();
     $numJurados = count($jurados);
     $i = 0;
     foreach ($pinchosConfirmados as $pincho) {
         // Se asigna cada pincho a tres jurados
         for ($j = 0; $j < 3; $j++) {
             $jurado = $jurados[$i];
             $juradoProfesionalMap->asignarPincho($jurado, $pincho);
             $i++;
             if ($i >= $numJurados) {
                 $i = 0;
             }
         }
     }
     $concursoMapper->asignacionesCompletadas(1);
 }
예제 #11
0
 public function elegirFinalistas()
 {
     $pinchoMapper = new Pinchomapper();
     $numeroFinalistas = 5;
     $pinchoMapper->calcularFinalistas(5);
     $mensajes[] = "Finalistas <strong> calculados</strong>";
     $_SESSION['mensajes'] = $mensajes;
     header("Location: ?controller=admin&action=index");
 }