"confirm.php");
        parent::__construct('formSelectCinemaSession', $options);
        $TODAY = getdate();
        $this->_TODAY = "$TODAY[mday]"."-"."$TODAY[mon]"."-"."$TODAY[year]";
        $filmDAO = new Film_DAO("complucine");
        $this->film = $filmDAO->FilmData($_GET["film"]);
        
    }
    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'));
        $errorSession = self::createMensajeError($errores, 'sessions', '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 = '
                                        
                                ';
                } 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().'
                         
                        
                            
Seleccione un Cine y una Sesión
                                Cines
        
                                '.$cinemasListHTML.'
                                Sesiones
                                '.$sessionsListHTML.'
                        ';
            } else {
                $html = 'No existe la película.
';
                $pay = false;
            }
        } else if(isset($_GET["cinema"])) {
            $html = 'ESTAMOS TRABAJANDO EN ELLO
';
            $pay = false;
        } else {
            $html = 'No se ha encontrado película ni cine.
';
            $pay = false;
        }
        //Pay button:
        if($pay){
            $pay = '';
        }
            return '
                    
                    ';
    }
    protected function procesaFormulario($datos){
        $result = array();
        $cinema = $this->test_input($datos['cinemas']) ?? null;
        if ( empty($cinema) ) {
            $result['cinemas'] = "Selecciona un cine.";
        }
        $session = $this->test_input($datos['sessions']) ?? null;
        if ( empty($session) ) {
            $result['sessions'] = "Selecciona una sesión.";
        }
        if (count($result) === 0) {
            $result = "confirm.php";
        }
        return $result;
    }
}
?>