public static function run()
 {
     if (isset($_POST['username']) && isset($_POST['password'])) {
         //on essaye de recupérer l'utilisateur
         $utilisateur = UtilisateurControlleur::getUtilisateurByUsername($_POST['username']);
         if ($utilisateur != null) {
             //verification mot de passe
             $hashPsw = sha1($_POST['password']);
             if ($hashPsw == $utilisateur->getPasswordHash()) {
                 //mot de passe ok
                 $_SESSION['utilisateur'] = serialize($utilisateur);
                 $_SESSION['message'] = 'Connecté';
             } else {
                 $_SESSION['message'] = 'Mot de passe incorrect.';
             }
         } else {
             $_SESSION['message'] = 'Utilisateur inconnu.';
         }
     } else {
         //erreur, set message
         $_SESSION['message'] = 'Veuillez entrez votre login et mot de passe';
     }
     //changement de page
     $_SESSION['actualPage'] = 'FilmsView';
 }
 public static function run()
 {
     if (isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['mail']) && isset($_POST['username']) && isset($_POST['password']) && isset($_POST['passwordConfirm'])) {
         //on essaye de recupérer l'utilisateur
         $utilisateur = UtilisateurControlleur::getUtilisateurByUsername(htmlspecialchars($_POST['username']));
         if ($utilisateur->getId() != null) {
             //OnVerifie si l'utilisateur existe
             $_SESSION['message'] = "L'utilisateur existe deja.";
         } else {
             //On verifie si les mots de passe match
             if ($_POST['password'] != $_POST['passwordConfirm']) {
                 $_SESSION['message'] = 'Les champs de mots de passe difèrent.';
             } else {
                 $utilisateur = new Utilisateur(null, htmlspecialchars($_POST['nom']), htmlspecialchars($_POST['prenom']), htmlspecialchars($_POST['mail']), htmlspecialchars($_POST['username']), sha1(htmlspecialchars($_POST['password'])));
                 UtilisateurControlleur::saveUtilisateur($utilisateur);
                 //tout OK, on cree un nouvel utilisateur et on lui dit de se loguer
                 $_SESSION['message'] = 'Vous êtes enregistrés, veuillez vous authentifier.';
                 //changement de page
                 $_SESSION['actualPage'] = 'FilmsView';
             }
         }
     } else {
         //erreur, set message
         $_SESSION['message'] = 'Des champs sont manquants.';
     }
 }
 public static function run()
 {
     if (isset($_POST['mov_id']) && EditFilmForm::issetAndNotEmpty($_POST['mov_title']) && EditFilmForm::issetAndNotEmpty($_POST['mov_director']) && EditFilmForm::issetAndNotEmpty($_POST['mov_year']) && EditFilmForm::issetAndNotEmpty($_POST['mov_description_short']) && EditFilmForm::issetAndNotEmpty($_POST['mov_description_long'])) {
         //on essaye de recupérer l'utilisateur
         $utilisateur = UtilisateurControlleur::getActualUtilisateur();
         if ($utilisateur != null) {
             $id = $_POST['mov_id'];
             if ($id == '') {
                 $id = null;
             }
             //preparation image
             $image = null;
             if (isset($_FILES['mov_image']['tmp_name']) && $_FILES['mov_image']['tmp_name'] != '') {
                 $image = file_get_contents($_FILES['mov_image']['tmp_name']);
             }
             $film = new Film($id, htmlspecialchars($_POST['mov_title']), htmlspecialchars($_POST['mov_description_short']), htmlspecialchars($_POST['mov_description_long']), htmlspecialchars($_POST['mov_director']), $image, htmlspecialchars($_POST['mov_year']), $utilisateur);
             FilmControlleur::save($film);
             if ($id == null) {
                 $_SESSION['message'] = 'Film Enregistré';
             } else {
                 $_SESSION['message'] = 'Film Modifié';
             }
             $_SESSION['actualPage'] = 'FilmsView';
         } else {
             $_SESSION['message'] = 'Veuillez vous identifier.';
             $_SESSION['actualPage'] = 'ConnexionView';
         }
     } else {
         //erreur, set message
         $_SESSION['message'] = 'Des champs sont manquants.';
     }
 }
 public static function saveUtilisateur($utilisateur)
 {
     if ($utilisateur->getId() == null) {
         //on créé un nouvel utilisateur
         UtilisateurControlleur::createUtilisateur($utilisateur);
     } else {
         //on update l'utilisateur
         UtilisateurControlleur::updateUtilisateur($utilisateur);
     }
 }
    public static function show()
    {
        $user = UtilisateurControlleur::getActualUtilisateur();
        echo <<<EOT
        <div class="navbar navbar-default" role="navigation">
        <!-- Partie de la barre toujours affichée -->
        <div class="navbar-header">
            <!-- Bouton d accès affiché à droite si la zone d affichage est trop petite -->
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-target">
                <span class="sr-only">Activer la navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="./index.php?page=FilmsView">My Movies</a>
        </div>
        <!-- Partie de la barre masquée si la surface d affichage est insuffisante -->
        <div class="collapse navbar-collapse" id="navbar-collapse-target">
            <ul class="nav navbar-nav">
                <li><a href="./index.php?page=FilmsView"><span class="glyphicon glyphicon-film"></span> Films</a></li>
                    
EOT;
        if ($user != null) {
            // ajout conection + inscription ou menu bar
            $userName = $user->getPrenom() . ' ' . $user->getNom();
            echo <<<EOT
            <li><a href="./index.php?page=EditFilmView"><span class="glyphicon glyphicon-film"></span> Ajouter un Film</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
            <li><a href="./index.php?page=GestionFilmView"><span class="glyphicon glyphicon-cog"></span> Gerer sa Vidéotheque</a></li>
            <li class="dropdown">
                <a data-toggle="dropdown" class="dropdown-toggle" href="#"><span class="glyphicon glyphicon-user"></span> Bonjour,  {$userName}</a>
                <ul class="dropdown-menu">
                    <!--<li><a href="#">Profil</a></li>-->
                    <li><a href="./index.php?form=LogoutForm"><span class="glyphicon glyphicon-off"></span> Exit</a></li>
                </ul>
            </li>
        </ul>
EOT;
        } else {
            echo <<<EOT
                </ul>
                <ul class="nav navbar-nav navbar-right">
                    <li><a class='btn' href="./index.php?page=InscriptionView">Inscription</a></li>
                    <li><a class='btn' href="./index.php?page=ConnexionView">Connexion</a></li>
                </ul>
EOT;
        }
        echo '            

            </div>
        </div>';
    }
 public static function run()
 {
     if (isset($_SESSION['deleteFilm'])) {
         $film = unserialize($_SESSION['deleteFilm']);
         $user = UtilisateurControlleur::getActualUtilisateur();
         if ($film->getUser()->equals($user)) {
             FilmControlleur::deleteFilm($film);
             $_SESSION['message'] = 'Film ' . $film->getTitre() . ' a été supprimé.';
         } else {
             $_SESSION['message'] = "Vous ne pouvez pas supprimer ce film car vous n'en êtes pas le propriétaire.";
         }
     }
     //changement de page
     $_SESSION['actualPage'] = 'FilmsView';
 }
 public static function getAllFilms()
 {
     try {
         $bdd = getDatabaseConnection();
         $request = $bdd->prepare('SELECT * FROM movie;');
         $request->execute();
         $arrayFilms = [];
         while ($filmResult = $request->fetch()) {
             $user = UtilisateurControlleur::getUtilisateurById($filmResult['userId']);
             $film = new Film($filmResult['mov_id'], $filmResult['mov_title'], $filmResult['mov_description_short'], $filmResult['mov_description_long'], $filmResult['mov_director'], 'data:image/jpeg;base64,' . base64_encode($filmResult['mov_image']), $filmResult['mov_year'], $user);
             $arrayFilms[] = $film;
         }
         return $arrayFilms;
     } catch (Exception $e) {
         die("Message: " + $e->getMEssage());
     }
 }
 public static function run()
 {
     //Form
     if (isset($_SESSION['actualForm'])) {
         switch ($_SESSION['actualForm']) {
             case 'ConnexionForm':
                 include_once './Form/ConnexionForm.php';
                 ConnexionForm::run();
                 break;
             case 'DeleteForm':
                 include_once './Form/DeleteForm.php';
                 DeleteForm::run();
                 break;
             case 'LogoutForm':
                 include_once './Form/LogoutForm.php';
                 LogoutForm::run();
                 break;
             case 'EditFilmForm':
                 include_once './Form/EditFilmForm.php';
                 EditFilmForm::run();
                 break;
             case 'InscriptionForm':
                 include_once './Form/InscriptionForm.php';
                 InscriptionForm::run();
                 break;
         }
     }
     //Page
     if (isset($_SESSION['actualPage'])) {
         switch ($_SESSION['actualPage']) {
             case 'FilmsView':
                 include_once 'FilmControlleur.php';
                 include_once './Vue/FilmsView.php';
                 FilmsView::show(FilmControlleur::getAllFilms());
                 break;
             case 'InscriptionView':
                 include_once './Vue/InscriptionView.php';
                 InscriptionView::show();
                 break;
             case 'ConnexionView':
                 include_once './Vue/ConnexionView.php';
                 ConnexionView::show();
                 break;
             case 'FilmView':
                 if (isset($_GET['id'])) {
                     include_once 'FilmControlleur.php';
                     include_once 'UtilisateurControlleur.php';
                     include_once './Vue/FilmView.php';
                     FilmView::show(FilmControlleur::getFilmById($_GET['id']), UtilisateurControlleur::getActualUtilisateur());
                     break;
                 }
             case 'EditFilmView':
                 include_once 'UtilisateurControlleur.php';
                 if (UtilisateurControlleur::getActualUtilisateur() != null) {
                     // doit etre authentifier pour editer ou ajouter un film
                     include_once 'FilmControlleur.php';
                     include_once './Vue/EditFilmView.php';
                     if (isset($_GET['id'])) {
                         EditFilmView::show(FilmControlleur::getFilmById($_GET['id']), UtilisateurControlleur::getActualUtilisateur());
                     } else {
                         EditFilmView::show(null, UtilisateurControlleur::getActualUtilisateur());
                     }
                     break;
                 }
             case 'GestionFilmView':
                 include_once 'FilmControlleur.php';
                 include_once 'UtilisateurControlleur.php';
                 include_once './Vue/GestionFilmView.php';
                 GestionFilmView::show(FilmControlleur::getAllFilmsByUser(UtilisateurControlleur::getActualUtilisateur()));
                 break;
             case 'ConfirmDeleteView':
                 if (isset($_GET['id'])) {
                     include_once 'FilmControlleur.php';
                     include_once 'UtilisateurControlleur.php';
                     include_once './Vue/ConfirmDeleteView.php';
                     $film = FilmControlleur::getFilmById($_GET['id']);
                     $_SESSION['deleteFilm'] = serialize($film);
                     ConfirmDeleteView::show($film, UtilisateurControlleur::getActualUtilisateur());
                     break;
                 }
             default:
                 include_once 'FilmControlleur.php';
                 include_once './Vue/FilmsView.php';
                 $_SESSION['actualPage'] = 'FilmsView';
                 FilmsView::show(FilmControlleur::getAllFilms());
         }
     } else {
         include_once 'FilmControlleur.php';
         include_once './Vue/FilmsView.php';
         $_SESSION['actualPage'] = 'FilmsView';
         FilmsView::show(FilmControlleur::getAllFilms());
     }
 }