public function actualizarEstablecimiento()
 {
     // Se carga el mapper
     $establecimientoMapper = new Establecimientomapper();
     // Se recupera el establecimiento
     $idEstablecimiento = $_SESSION['id'];
     $establecimiento = $establecimientoMapper->recuperarEstablecimiento($idEstablecimiento);
     // Se recuperan los datos del formulario
     $nombre = $_POST['inputNombreNuevoEstablecimiento'];
     $direccion = $_POST['inputDireccionNuevoEstablecimiento'];
     $localizacion = $_POST['inputLocalizacionNuevoEstablecimiento'];
     $descripcion = $_POST['inputDescripcionNuevoEstablecimiento'];
     // Se actualiza el objeto establecimiento
     $establecimiento->set_nombre($nombre);
     $establecimiento->set_direccion($direccion);
     $establecimiento->set_localizacion($localizacion);
     $establecimiento->set_descripcion($descripcion);
     // Se intenta actualizar en la base de datos
     $operacionCorrecta = $establecimientoMapper->modificarEstablecimiento($establecimiento);
     if ($operacionCorrecta) {
         $mensajes[] = "Se ha <strong>actualizado</strong> el establecimiento!";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=establecimiento&action=index");
     } else {
         $mensajes[] = "<strong>Error!</strong> No se han podido actualizar el establecimiento";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=establecimiento&action=index");
     }
 }
 public function validarLogin()
 {
     // Se cargan los mappers
     $juradoMapper = new Juradopopularmapper();
     $juradoprofesionalMapper = new Juradoprofesionalmapper();
     $adminMapper = new Administradormapper();
     $establecimientoMapper = new Establecimientomapper();
     // Se recuperan los valores del formulario
     $login = $_POST["inputLoginRegistrado"];
     $password = $_POST["inputPasswordRegistrado"];
     $passCifrada = md5($password);
     if ($adminMapper->validarLogin($login, $passCifrada)) {
         // Se ha logueado el admin
         session_destroy();
         session_start();
         $_SESSION['login'] = $login;
         $_SESSION['id'] = $adminMapper->recuperarIdAdministrador($login);
         $_SESSION['admin'] = "admin";
         $mensajes[] = "Bienvenido a la administracion de <strong>Clickapincho!</strong>";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=admin&action=index");
     } elseif ($juradoprofesionalMapper->validarLogin($login, $passCifrada)) {
         // Se ha logueado un jurado profesional
         session_destroy();
         session_start();
         $_SESSION['profesional'] = "profesional";
         $_SESSION['login'] = $login;
         $_SESSION['id'] = $juradoprofesionalMapper->recuperarIdProfesional($login);
         $mensajes[] = "Bienvenido a <strong>Clickapincho!</strong>";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=juradoprofesional&action=index");
     } elseif ($establecimientoMapper->validarLogin($login, $passCifrada)) {
         // Se ha logeado un establecimiento
         session_destroy();
         session_start();
         $_SESSION['establecimiento'] = "establecimiento";
         $_SESSION['login'] = $login;
         $_SESSION['id'] = $establecimientoMapper->recuperarIdEstablecimiento($login);
         $mensajes[] = "Bienvenido a <strong>Clickapincho!</strong>";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=establecimiento&action=index");
     } elseif ($juradoMapper->validarLogin($login, $passCifrada)) {
         // Se ha logeado un jurado popular
         session_destroy();
         session_start();
         $_SESSION['popular'] = "popular";
         $_SESSION['login'] = $login;
         $_SESSION['id'] = $juradoMapper->recuperarIdPopular($login);
         $mensajes[] = "Bienvenido a <strong>Clickapincho!</strong>";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=juradopopular&action=index");
     } else {
         $mensajes[] = "Login y contraseña <strong>incorrectos</strong>";
         $_SESSION['mensajes'] = $mensajes;
         header("Location: ?controller=pages&action=home");
     }
 }
 public function index()
 {
     $pinchoMapper = new Pinchomapper();
     $juradoprofesionalmapper = new Juradoprofesionalmapper();
     $establecimientomapper = new Establecimientomapper();
     $establecimientos = $establecimientomapper->recuperarConfirmados();
     $pinchos = $pinchoMapper->recuperarPinchosAsociados($establecimientos);
     $jurados = $juradoprofesionalmapper->recuperarTodosLosJurados();
     require_once 'views/juradopopular/index.php';
 }
 public function eliminarEstablecimiento()
 {
     $establecimientomapper = new Establecimientomapper();
     $idEstablecimiento = $_POST['idEstablecimiento'];
     $operacionCorrecta = $establecimientomapper->eliminarEstablecimiento($idEstablecimiento);
     if ($operacionCorrecta) {
         $mensajes[] = "Establecimiento <strong>Eliminado!</strong>";
         $_SESSION['mensajes'] = $mensajes;
     } else {
         $mensajes[] = "<strong>Error!</strong> No se ha podido eliminar el establecimiento";
         $_SESSION['mensajes'] = $mensajes;
     }
     header("Location: ?controller=admin&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");
 }
 /**
  * Recupera un establecimiento asociado a un pincho por la id del pincho
  *
  * @param $idPincho La id del pincho que se quiere recuperar el establecimiento asociado
  * @throws PDOException si existe un error con la base de datos
  * @return $Establecimiento El establecimiento recuperado de la base de datos. Devuelve null si se ha producido un error.
  */
 public function recuperarEstablecimientoAsociado($idPincho)
 {
     $stmt = $this->db->prepare("SELECT establecimiento_idestablecimiento FROM pincho WHERE idpincho=?");
     $stmt->execute(array($idPincho));
     $idEstablecimiento = $stmt->fetchAll();
     if ($idEstablecimiento != null) {
         $EstablecimientoMap = new Establecimientomapper();
         return $EstablecimientoMap->recuperarEstablecimiento($idEstablecimiento[0][0]);
     } else {
         return NULL;
     }
 }
 /**
  * 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);
 }