"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).'
Duración: '.$film->getDuration().' minutos
Idioma: '.$film->getLanguage().'
';
} 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.'
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 = '';
} else {
$pay = '';
}
return '
';
}
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;
}
}
?>