Sélectionner une révision Git
content.php 11,05 Kio
<?php
require '../vendor/autoload.php';
//ces fonctions sont destinées à la génération des headers et la création des documents (exemple générer automatiquement le header permettant d'inclure bootstrap.css et les titres)
// /!\ pour appeler cette fonction, session_start() doit avoir été appélée préalablement
function generateHeader($titre) {
echo "<head>
<meta charset=\"utf-8\">
<title>$titre</title>
<link rel=\"stylesheet\" href=\"./css/bootstrap.css\">
<link rel=\"stylesheet\" href=\"./css/customCss.css\">
<script src=\"./js/picture_browser.js\"></script>
<script src=\"./js/jquery-3.4.1.min.js\"></script>
<script src=\"./js/popper.min.js\"></script>
<script src=\"./js/bootstrap.min.js\"></script>
<script src=\"./js/connexion.js\"></script>
<script src=\"./js/download.js\"></script>
<script src=\"./js/ajax.js\"></script>
<script src=\"./js/picture_displayer.js\"></script>
</head>";
}
function generateUserBanner() {
if (!isset($_SESSION["id_user"])) {//si l'utilisateur n'est pas connecté
}
else {
$dbName = getenv('DB_NAME');
$dbUser = getenv('DB_USER');
$dbPassword = getenv('DB_PASSWORD');
$connection = new PDO("pgsql:host=postgres user=$dbUser dbname=$dbName password=$dbPassword");
$userRepository = new \User\UserRepository($connection);
$user_actuel = $userRepository->fetchId($_SESSION["id_user"]);
echo
"<div id=\"userInfo\" style=\"display: none;\">".$user_actuel->getId()."</div>";
}
}
function generateFenetresModal($page) {
$ok_nom = isset($_SESSION['ok_nom']) ? $_SESSION['ok_nom'] : 1;
$ok_pseudo = isset($_SESSION['ok_pseudo']) ? $_SESSION['ok_pseudo'] : 1;
$ok_mdp = isset($_SESSION['ok_mdp']) ? $_SESSION['ok_mdp'] : 1;
$inscriptionHidden = isset($_SESSION['inscriptionHidden']) ? $_SESSION['inscriptionHidden'] : true;
$connexionHidden = isset($_SESSION['connexionHidden']) ? $_SESSION['connexionHidden'] : true;
// fenêtre modale inscription
echo '
<div class="modal fade" id="modalInscription" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="modalInscriptionLabel">Inscription</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>';
if ($ok_nom * $ok_pseudo * $ok_mdp == 0) {
echo
'<div class="alert alert-danger">
<span class="invalid_submit">';
if ($ok_nom == 0) { echo '- L\'ensemble Prénom/Nom/Pseudo apparaît déjà dans nos bases de données. Avez-vous déjà un compte ? <a href=connexion.php?redirection=connexion&page='.$page.'>Connectez-vous !</a><br>'; }
else {if ($ok_pseudo == 0) { echo '- Ce pseudo existe déjà ! <br>'; }}
if ($ok_mdp == 0) { echo '- Vos mots de passe doivent être identiques ! <br>'; }
echo
'</span>
</div>';
}
echo
'<div class="modal-body">
<form class="form" action="connexion.php" method="POST">
<input class="form-control mr-sm-2" name="page" type="hidden" value="'."$page".'" >
<input class="form-control mr-sm-2" name="inscription" type="hidden" value="42" >
<input class="form-control mr-sm-2" type="text" name="nom" placeholder="Nom" required pattern="[ a-zA-Z0-9\']*[a-zA-Z0-9]" maxlength="50"/><br>
<input class="form-control mr-sm-2" type="text" name="prenom" placeholder="Prénom" required pattern="[ a-zA-Z0-9\']*[a-zA-Z0-9]" maxlength="50"/><br>
<input class="form-control mr-sm-2" type="text" name="pseudo" placeholder="Pseudo" required pattern="[ a-zA-Z0-9\']*[a-zA-Z0-9]" maxlength="50"/><br>
<input class="form-control mr-sm-2" id="mdp1" type="password" placeholder="Mot de passe" name="mdp" required /><br>
<input class="form-control mr-sm-2" id="mdp2" type="password" placeholder="Confirmation de mot de passe" name="cmdp" oninput="check_mdp(this)" required /><br>
<input class="btn btn-primary form-control mr-sm-2" id="valider" type="submit" value="S\'inscrire"/>
</form>
Déjà un compte ? <a href=connexion.php?redirection=connexion&page='.$page.'>Cliquez ici</a>.
</div>
</div>
</div>
</div>';
// fenêtre modale connexion
echo '
<div class="modal fade" id="modalConnexion" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="modalInscriptionLabel">Connexion</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>';
if ($ok_pseudo * $ok_mdp == 0 ) {
echo
'<div class="alert alert-danger">
<span class="invalid_submit">';
if ($ok_pseudo == 0) { echo '- Ce pseudo n\'existe pas ! Avez-vous un compte ? <a href=connexion.php?redirection=inscription&page='.$page.'>Inscrivez-vous !</a><br>'; }
if ($ok_mdp == 0) { echo '- Votre mot de passe est erroné ! <br>'; }
echo
'</span>
</div>';
}
echo
'<div class="modal-body">
<form class="form" action="connexion.php" method="POST">
<input class="form-control mr-sm-2" name="page" type="hidden" value="'."$page".'" >
<input class="form-control mr-sm-2" name="connexion" type="hidden" value="42" >
<input class="form-control mr-sm-2" type="text" name="pseudo" placeholder="Pseudo" required pattern="[ a-zA-Z0-9\']*[a-zA-Z0-9]" maxlength="50"/><br>
<input class="form-control mr-sm-2" id="mdp" type="password" placeholder="Mot de passe" name="mdp" required /><br>
<input class="btn btn-success form-control mr-sm-2" id="valider" type="submit" value="Se connecter"/>
</form>
Pas encore de compte ? <a href=connexion.php?redirection=inscription&page='.$page.'>Cliquez ici</a>.
</div>
</div>
</div>
</div>';
// si $inscriptionHidden == false, on affiche la modal fenetre
if ($inscriptionHidden == false) {
echo '<script>
$(document).ready(function(){
$("#modalInscription").modal(\'show\')
$("#modalInscription").on(\'hidden.bs.modal\', function () {
fenetreModalFermee(1);
});
});
</script>';
}
// si $connexionHidden == false, on affiche la modal fenetre
if ($connexionHidden == false) {
echo '<script>
$(document).ready(function(){
$("#modalConnexion").modal(\'show\')
$("#modalConnexion").on(\'hidden.bs.modal\', function () {
fenetreModalFermee(2);
});
});
</script>';
}
// si $inscriptionHidden == true, on affiche la modal fenetre
if ($inscriptionHidden == true) {
echo '<script>
$(document).ready(function(){
$("#modalInscription").modal(\'hide\');
});
</script>';
}
// si $connexionHidden == true, on affiche la modal fenetre
if ($connexionHidden == true) {
echo '<script>
$(document).ready(function(){
$("#modalConnexion").modal(\'hide\');
});
</script>';
}
}
function generateNavBar($page){
$ind = '';
// permet de savoir à quelle page on génère la navbar
if ($page == 'index'){
$ind = 'active';
}
$imgrnd = '';
if ($page == 'image_alea'){
$imgrnd = 'active';
}
$bibl = '';
if ($page=='bibliotheque'){
$bibl = 'active';
}
$espers = '';
if ($page == 'espace_perso'){
$espers = 'active';
}
$ldbrd = '';
if ($page == 'leaderboard'){
$ldbrd = 'active';
}
// pour mettre en surbrillance l'onglet sélectionné
echo
'<nav class="navbar navbar-expand-lg bg-dark navbar-dark sticky-top" style="margin-top:0px;font-family:Abang">
<a class="navbar-brand" id=logoPhp href="index.php">
<img src="./ressources/logo/logo_transparent_recadre.png" height="36" width="67">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav mr-auto">
<li class="nav-item ';echo $ind;echo '">
<a class="nav-link" id=indexPhp href="index.php">Accueil</a>
</li>
<li class="nav-item ';echo $imgrnd;echo'">
<a class="nav-link" id=imageRandomPhp href="image_alea.php">Image Random</a>
</li>
<li class="nav-item ';echo $bibl;echo'">
<a class="nav-link" id=bibliothequePhp href="bibliotheque.php">Bibliotheque</a>
</li>';
if (isset($_SESSION["id_user"])){
echo'
<li class="nav-item ';echo $espers;echo'">
<a class="nav-link" id=espacePersoPhp href="espace_perso.php">Espace perso</a>
</li>
<li class="nav-item ';echo $ldbrd;echo'">
<a class="nav-link" id=leaderBoardPhp href="leaderboard.php">Images populaires</a>
</li>';
}
echo '</ul>';
if (!isset($_SESSION["id_user"]))
{
echo'
<form method="POST" class="form-inline my-2 my-lg-0 float-right" action="/connexion.php">
<input class="form-control mr-sm-2" name="page" type="hidden" value="'."$page".'" >
<input class="form-control mr-sm-2" name="connexion" type="hidden" value="42" >
<input class="form-control mr-sm-2" name="pseudo" style="font-family:Arial" type="text" placeholder="Pseudo" required pattern="[ a-zA-Z0-9\']*[a-zA-Z0-9]" maxlength="50">
<input class="form-control mr-sm-2" name="mdp" type="password" style="font-family:Arial" placeholder="Mot de passe" required>
<button class="btn btn-success" type="submit">Se connecter</button>
</form>';
echo '<button class="btn btn-primary" data-toggle="modal" data-target="#modalInscription" style="margin-left:4px">S\'inscrire</button>';
//<form method="POST" class="form-inline my-2 my-lg-0" action="connexion.php"><button class="btn btn-primary" type="submit" style="margin-left:4px"> S\'inscrire</button></form>';
}
else
{
echo
'<form method="POST" class="form-inline my-2 my-lg-0 float-right" action="/deconnexion.php">
<button class="btn btn-danger" type="submit">Se deconnecter</button>
</form>';
}
echo'</div>
</nav>';
generateFenetresModal($page); // on définit les modal fenêtres
}
/*
Utilisée pour voir si on a un argument quand on arrive sur la page
Pour le moment, utilisée pour réinitialiser les paramètres des modals lorsque qu'elles ont
été fermé
*/
function urlHasArgument() {
$modal = "";
if (isset($_GET['modal'])) {
$modal = $_GET['modal'];
}
if ($modal == "inscription") {
$_SESSION['inscriptionHidden'] = true;
$_SESSION['ok_nom'] = 1;
$_SESSION['ok_pseudo'] = 1;
$_SESSION['ok_mdp'] = 1;
}
else if ($modal == "connexion") {
$_SESSION['connexionHidden'] = true;
$_SESSION['ok_pseudo'] = 1;
$_SESSION['ok_mdp'] = 1;
}
}
function generateFooter() {
echo "<br/><br/><br/><br/><br/><footer style=\"text-align: right\">Site réalisé dans le cadre de l'UE PIMA de l'ENSIIE par : <br/>Tanguy Charles, Louis Gauthier, Louis Fourcade, Romain Dupont, Maxime El Haddari, Hui Jingzhuo</footer>";
}
?>