"selectSeat.php"); parent::__construct('formSelectCinemaSession', $options); $TODAY = getdate(); $this->_TODAY = "$TODAY[mday]"."-"."$TODAY[mon]"."-"."$TODAY[year]"; } protected function generaCamposFormulario($datos, $errores = array()){ $cinemas = []; $sessions = []; // Se generan los mensajes de error, si existen. $htmlErroresGlobales = self::generaListaErroresGlobales($errores); $errorCinema = self::createMensajeError($errores, 'cinemas', 'span', array('class' => 'error')); $errorFilm = self::createMensajeError($errores, 'films', 'span', array('class' => 'error')); $errorSession = self::createMensajeError($errores, 'sessions', 'span', array('class' => 'error')); $errorCode = self::createMensajeError($errores, 'code', 'span', array('class' => 'error')); $pay = true; if(isset($_GET["film"])){ $filmDAO = new Film_DAO("complucine"); $film = $filmDAO->FilmData($_GET["film"]); if($film){ $tittle = $film->getTittle(); $image = $film->getImg(); $cinemas = $filmDAO->getCinemas($_GET["film"]); $cinema_id = $_GET["cinema"]; if(!empty($cinemas)){ $cinemasNames = new ArrayIterator(array()); $cinemasIDs = new ArrayIterator(array()); foreach($cinemas as $key=>$value){ $cinemasIDs[$key] = $value->getId(); $cinemasNames[$key] = $value->getName(); } $cinemasIT = new MultipleIterator(MultipleIterator::MIT_KEYS_ASSOC); $cinemasIT->attachIterator($cinemasIDs, "cID"); $cinemasIT->attachIterator($cinemasNames, "NAME"); $cinemasListHTML = '
'.$htmlErroresGlobales.'
'; } else { $cinemasListHTML = ''; } $fiml_id = $film->getId(); if(isset($cinema_id)){ $sessionsDAO = new SessionDAO("complucine"); $sessions = $sessionsDAO->getSessions_Film_Cinema($fiml_id, $cinema_id); if(!empty($sessions)){ $sessionsDates = new ArrayIterator(array()); $sessionsStarts = new ArrayIterator(array()); $sessionsHalls = new ArrayIterator(array()); $sessionsIDs = new ArrayIterator(array()); foreach($sessions as $key=>$value){ $sessionsIDs[$key] = $value->getId(); $sessionsDates[$key] = date_format(date_create($value->getDate()), 'j-n-Y'); $sessionsHalls[$key] = $value->getIdhall(); $sessionsStarts[$key] = $value->getStartTime(); } $sessionsIT = new MultipleIterator(MultipleIterator::MIT_KEYS_ASSOC); $sessionsIT->attachIterator($sessionsIDs, "sID"); $sessionsIT->attachIterator($sessionsDates, "DATE"); $sessionsIT->attachIterator($sessionsHalls, "HALL"); $sessionsIT->attachIterator($sessionsStarts, "HOUR"); $count = 0; $sessionsListHTML = ''; if($count == 0) { $sessionsListHTML = ''; $pay = false; } } else { $sessionsListHTML = ''; $pay = false; } } else { $sessionsListHTML = ''; $pay = false; } //Reply: Depends on whether the purchase is to be made from a selected movie or a cinema. $html = '

Película seleccionada: '.str_replace('_', ' ', $tittle).'


'.$tittle.'

Duración: '.$film->getDuration().' minutos

Idioma: '.$film->getLanguage().'

Seleccione un Cine y una Sesión


Cines

'.$cinemasListHTML.'

Sesiones

'.$sessionsListHTML.'

Aplicar código promocional

'.$errorCode.'
'; } else { $html = '

No existe la película.

'; $pay = false; } } else if(isset($_GET["cinema"])) { $pay = false; $cinemaDAO = new Cinema_DAO("complucine"); $cinema = $cinemaDAO->cinemaData($_GET["cinema"]); if($cinema){ $cinema_name = $cinema->getName(); $cinema_address = $cinema->getDirection(); $cinema_tlf = $cinema->getPhone(); $films = $cinemaDAO->getFilms($_GET["cinema"]); $film_id = $_GET["film"]; if(!empty($films)){ $filmsNames = new ArrayIterator(array()); $filmsIDs = new ArrayIterator(array()); foreach($films as $key=>$value){ $filmsIDs[$key] = $value->getId(); $filmsNames[$key] = str_replace('_', ' ', $value->getTittle()); } $filmsIT = new MultipleIterator(MultipleIterator::MIT_KEYS_ASSOC); $filmsIT->attachIterator($filmsIDs, "fID"); $filmsIT->attachIterator($filmsNames, "NAME"); $filmsListHTML = '
'.$htmlErroresGlobales.'
'; } else { $filmsListHTML = ''; } //Reply: Depends on whether the purchase is to be made from a selected movie or a cinema. $html = '

Cine seleccionado: '.$cinema_name.'


'.$cinema_name.'

Dirección: '.$cinema_address.'

Teléfono: '.$cinema_tlf.'

Seleccione una Película y una Sesión


Películas

'.$filmsListHTML.'

Sesiones

'; } else { $html = '

No existe el cine.

'; $pay = false; } } else { $html = '

No se ha encontrado película ni cine.

'; $pay = false; } //Select seat button: if($pay){ $pay = ''; } return '
'.$html.'
'.$pay.'
'; } protected function procesaFormulario($datos){ $result = array(); $cinema = $this->test_input($datos['cinemas']) ?? null; if ( empty($cinema) ) { $result['cinemas'] = "Selecciona un cine."; } $films = $this->test_input($datos['films']) ?? null; if ( empty($films) ) { $result['films'] = "Selecciona una película."; } $session = $this->test_input($datos['sessions']) ?? null; if ( empty($session) ) { $result['sessions'] = "Selecciona una sesión."; } $code = $this->test_input($datos['code']) ?? null; $avaliable = "../assets/php/common/checkPromo.php?code=".$code; if ( !empty($code) && mb_strlen($code) != 8 && $avaliable === "avaliable") { $result['code'] = "El código promocional no es válido."; } if (count($result) === 0) { $result = "selectSeat.php"; } return $result; } } ?>