Example #1
0
 /**
  * Vérifie un email
  * @return object 2 attributs, bool success et array string msg
  */
 private function check()
 {
     $std = (object) array('success' => false, 'msg' => array());
     if (!$_SESSION['user']) {
         if (($res = Membre::checkPseudo($this->pseudo)) !== true) {
             $std->msg[] = $res;
         }
         if (($res = Membre::checkEmail($this->email)) !== true) {
             $std->msg[] = $res;
         }
         $captcha = new Captcha();
         if (($res = $captcha->check($this->captcha)) !== true) {
             $std->msg[] = $res;
         }
     }
     if (($res = $this->checkSujet($this->sujet)) !== true) {
         $std->msg[] = $res;
     }
     if (($res = $this->checkMessage($this->message)) !== true) {
         $std->msg[] = $res;
     }
     if (empty($std->msg)) {
         $std->success = true;
     }
     return $std;
 }
Example #2
0
 function __construct()
 {
     if (!isset(self::$database)) {
         //Connection à la BDD si pas déjà connecté
         self::$database = BaseDeDonnees::getInstance();
     }
 }
<h2>Test unitaire - ajout utilisateur</h2>
<div id="contenu">
<?php 
$membre = new Membre();
$droits = 0;
if (isset($_POST['boutonAjoutUtilisateur'])) {
    $membre->AjouterUtilisateur($_POST['nomUsager'], $_POST['motPasse'], $_POST['prenom'], $_POST['nom'], $_POST['courriel'], $_POST['descriptionProfil'], $droits);
} else {
    echo "Remplissez tous les champs";
}
?>

    

 <form method="post" name="formTestAjoutUtilisateur" enctype="multipart/form-data">                
                <input type='text' name='nomUsager' value="" placeholder="Choisissez un nom usager"/>  
                <input type='text' name='motPasse' value="" placeholder="Choisissez un mot de passe"/>
                <input type='text' name='prenom' value="" placeholder="Votre prénom (obligatoire)"/>
                <input type='text' name='nom' value="" placeholder="Nom de Famille (obligatoire)"/>
                <input type='text' name='courriel' value="" placeholder="Courriel Electronique (obligatoire)"/>   
                <textarea name='descriptionProfil' placeholder="Description (obligatoire)"></textarea>
                
                <h3 class="televersionTexteGestion">Téléversez votre photo profil</h3>
                    <input type="file" name="photoProfil" id="photoProfil" class="fileToUploadGestion">
                   <span id="erreurPhotoVide" class="erreur"></span><br>
                        <span id="erreurPhotoSize" class="erreur"></span><br>
                        <span id="erreurPhotoType" class="erreur"></span><br>
                    <input class="boutonMoyenne" type='submit' name='boutonAjoutUtilisateur' value='Ajouter'>
                </form>
                <span class="erreur"></span>
                
    /**
     * Constructeur du gestionnaire.
     * Affecte tous les films de la BD dans le tableau listeFilms
     * Affecte tous les membres de la BD dans le tableau listeMembres
     * @param array $tabFiltre : un tableau contenant tous les filtres à appliquer sur le gestionnaire
     */
    public function __construct($tabFiltre = null)
    {
        $pdo = myPDO::getInstance();
        // Membres
        $stmt = $pdo->prepare(<<<SQL
                SELECT id
                FROM membre
                ORDER BY id
SQL
);
        $stmt->execute();
        while ($lignes = $stmt->fetch()) {
            $this->listeMembres[] = Membre::createFromID($lignes["id"]);
        }
        // Filtres
        if ($tabFiltre != null) {
            $this->creeFiltres($tabFiltre);
        } else {
            $this->listeFiltres = null;
        }
        // Films
        $stmt = $pdo->prepare(<<<SQL
                SELECT id
                FROM film
                ORDER BY titre
SQL
);
        $stmt->execute();
        while ($object = $stmt->fetch()) {
            $film = Film::createFromID($object["id"], $this);
            if ($this->listeFiltres != null) {
                // on a des filtre
                $respecteFiltre = true;
                // On les teste tous, un par un. Si un filtre n'est pas respecté, la variable respecteFiltre passe à false et on arrete la boucle
                for ($i = 0; $i < count($this->listeFiltres) && $respecteFiltre; $i++) {
                    $respecteFiltre = $this->listeFiltres[$i]->accept($film, $this);
                }
                if ($respecteFiltre) {
                    // tous les filtres sont respectées
                    $this->listeFilms[] = $film;
                }
            } else {
                // pas de filtre : on accepte tous les films
                $this->listeFilms[] = $film;
            }
        }
        // Tri des films par moyenne
        $gest = $this;
        uasort($this->listeFilms, function ($f1, $f2) use($gest) {
            $notesMin = $gest->nbNotesMini();
            if ($f1->getNbNotes() < $notesMin && $f2->getNbNotes() < $notesMin) {
                // les deux n'ont pas assez de notes, on compare les moyennes
                $m1 = $f1->getAverage($gest);
                $m2 = $f2->getAverage($gest);
                if ($m2 > $m1) {
                    return 1;
                } else {
                    if ($m1 > $m2) {
                        return -1;
                    } else {
                        // Egalité des moyennes, comparaison des titres
                        return $f1->getTitre() > $f2->getTitre();
                    }
                }
            } else {
                if ($f1->getNbNotes() < $notesMin) {
                    return 1;
                } else {
                    if ($f2->getNbNotes() < $notesMin) {
                        return -1;
                    } else {
                        // les deux ont assez de notes, on compare les moyennes
                        $m1 = $f1->getAverage($gest);
                        $m2 = $f2->getAverage($gest);
                        if ($m2 > $m1) {
                            return 1;
                        } else {
                            if ($m1 > $m2) {
                                return -1;
                            } else {
                                // Egalité des moyennes, comparaison des titres
                                return $f1->getTitre() > $f2->getTitre();
                            }
                        }
                    }
                }
            }
        });
    }
Example #5
0
 /**
  * Vérifie la demande de réinitialisation du mot de passe
  * @param array $param  Les attributs de la demande de réinitialisation du mot de passe
  * @return object 2 attributs, bool success et array string msg
  */
 private function checkResetPassword(&$param)
 {
     $std = (object) array('success' => false, 'msg' => array());
     $captcha = new Captcha();
     if (($res = $captcha->check($param['g-recaptcha-response'])) === true) {
         if (($res = Membre::checkPass($param['passwordNew'], $param['passwordNewConfirm'])) !== true) {
             $std->msg[] = $res;
         }
     } else {
         $std->msg[] = $res;
     }
     if (empty($std->msg)) {
         $std->success = true;
     }
     return $std;
 }
Example #6
0
<?php

include_once 'Admin.class.php';
$membre = new Membre(31);
// Contient un pseudo, une adresse e-mail...
$maitreDesLieux = new Admin(2);
// Contient les mêmes données qu'un membre + la couleur
$membre->setPseudo('Arckintox');
// OK
$maitreDesLieux->setPseudo('M@teo21');
// OK
//$membre->setCouleur('Rouge'); // Impossible (un membre n'a pas de couleur)
$maitreDesLieux->setCouleur('Rouge');
// OK
Example #7
0
    /**
     * Ajoute un commentaire sur ce film
     * @param  int $membre      : l'ID du membre qui ajoute ce Commentaire
     * @param  String $contenu  : le contenu du Commentaire
     * @param  boolean $spoiler : ce commentaire est-il un spoiler
     * @return void
     */
    public function ajoutCommentaire($membre, $contenu, $spoiler = false)
    {
        $pdo = myPDO::getInstance();
        $stmt = $pdo->prepare(<<<SQL
          INSERT INTO commentaire (id_film, id_membre, commentaire, spoiler, date_publication)
          VALUES (:idfilm, :idmembre, :commentaire, :spoiler, now())
SQL
);
        $stmt->execute(array("idfilm" => $this->id, "idmembre" => $membre, "commentaire" => $contenu, "spoiler" => $spoiler));
        $idComm = $pdo->lastInsertId();
        $membre_obj = Membre::createFromID($membre);
        $membre_obj->lireCommentaire($idComm);
    }
Example #8
0
<?php

$donnees = $president->getMembre($_GET['id']);
$membre = new Membre($donnees);
$licence = $president->getMembreLicence($membre->getId());
?>
<div class="membre-container">
	<div class="membre-avatar"><span class="glyphicon glyphicon-user"></span></div>
	<div class="membre-etat-civil">
		<p><span class="membre-label">Nom :</span> <?php 
echo $membre->getNom();
?>
 <span class="membre-label">Prénom :</span> <?php 
echo $membre->getPrenom();
?>
 <span class="membre-label">Age :</span> <?php 
echo $membre->getAge();
?>
</p>
	</div>
</div>
Example #9
0
 public function statistiques($action, $id, $vars)
 {
     switch ($action) {
         /**** GET ****/
         case 'get':
             $vars['titrePage'] = 'Statistiques';
             // <h1> de la page
             $vars['visites'] = Visite::getStat();
             $vars['membres'] = Membre::getStat();
             $vars['technotes'] = Technote::getStat();
             $vars['commentaires'] = Commentaire::getStat();
             $vars['questions'] = Question::getStat();
             $vars['reponses'] = Reponse::getStat();
             $vars['motsCles'] = MotCle::getStat();
             $this->vue->display('admin/statistiques.twig', $vars);
             exit;
         default:
             $this->vue->display('404.twig', $vars);
             exit;
     }
 }
<?php

include_once '../../modele/tp_mvc/Membre.class.php';
include_once '../../dao/tp_mvc/MembreDao.class.php';
// Vérification de la validité des informations
if ($_POST['motdepasse'] == $_POST['confirmation']) {
    $membreDao = new MembreDao();
    if ($membreDao->getMembreByPseudo($_POST['pseudo']) == null) {
        // Hachage du mot de passe
        $pass = sha1($_POST['motdepasse']);
        $membre = new Membre();
        $membre->setPseudo($_POST['pseudo']);
        $membre->setEmail($_POST['email']);
        $membre->setPass($pass);
        //la date est automatiquement renseignée dans la dao!
        $membreDao->insert($membre);
    } else {
        echo "Ce pseudo existe déjà, merci de recommencer";
    }
    //Ici on pourrait aussi vérifier la validite de l'adresse email par une un regexp
} else {
    echo "Les mots de passe sont différents, merci de recommencer votre saisie";
}
// On affiche la page (vue)
//include_once('vue/blog/index.php');
Example #11
0
<?php

include_once 'Membre.class.php';
$membre = new Membre();
$membre->setPseudo('M@teo21');
echo $membre->getPseudo() . ', je vais te bannir !';
$membre->bannir();
//pour construire un objet
// $membre = new Membre(32); // Le membre n° 32 est chargé !
//pour détruire un objet
//unset($membre);
Example #12
0
 public function getTarif(Membre $membre)
 {
     $bdd = $this->getBdd();
     $req = $bdd->prepare('SELECT tarif FROM licence WHERE id = :id');
     $req->bindValue('id', $membre->getLicenceId(), PDO::PARAM_INT);
     $req->execute();
     $donnees = $req->fetch();
     $tarif = $donnees['tarif'];
     $req->closeCursor();
     return $tarif;
 }
Example #13
0
 public function connexion($action, $id, $vars)
 {
     switch ($action) {
         case 'get':
             // Si un formulaire a été envoyé
             if (!empty($_POST)) {
                 // On essaye de se connecter
                 $res = Membre::connexion($_POST);
                 if ($res->success) {
                     $res->redirect = "/membre";
                 }
                 echo json_encode($res);
                 exit;
             }
             $this->vue->display('403.twig', $vars);
             exit;
         default:
             $this->vue->display('404.twig', $vars);
             exit;
     }
 }
Example #14
0
 function sauvegarder(Membre $membre)
 {
     $dbh = $this->_db;
     $sql = "INSERT INTO Membre (nom, prenom, mdp, email) VALUES (:nom, :prenom, :mdp, :email);";
     $sth = $dbh->prepare($sql);
     $sth->bindParam(":nom", $membre->nom(), PDO::PARAM_STR);
     $sth->bindParam(":prenom", $membre->prenom(), PDO::PARAM_STR);
     $sth->bindParam(":mdp", $membre->mdp(), PDO::PARAM_STR);
     $sth->bindParam(":email", $membre->email(), PDO::PARAM_STR);
     if ($sth->execute() == 0) {
         print $dbh->errorInfo();
         // affiche message d'érreur de la bdd
     } else {
         $noMem = $dbh->lastInsertId();
         $membre->setNoMem($noMem);
     }
 }
Example #15
0
<?php

include "../modeles/membre.php";
include "../modeles/bd.php";
if (isset($_POST['pseudo']) && isset($_POST['mdp'])) {
    $pseudo = $_POST['pseudo'];
    $mdp = $_POST['mdp'];
    $bd = new bd();
    $requete_co = mysqli_query($bd->getco(), "select * from membre where pseudo = '{$pseudo}' and mdpasse = '{$mdp}';");
    if (mysqli_num_rows($requete_co) == 1) {
        $membre = new Membre($bd, $pseudo, $mdp);
        $membre->connexion();
        header("location: ../vue/espace_membre.php");
    }
    $bd->disconnect();
}
header("location: ../vue/formulaire_inscription.php");
Example #16
0
<?php

session_cache_expire(30);
session_start();
include 'functions.php';
include '../classes/membre.php';
if (isset($_REQUEST['fonction']) && $_REQUEST['fonction'] != '') {
    $_REQUEST['fonction']($_REQUEST);
}
if (isset($_POST['identifiant']) && $_POST['identifiant'] != "" && isset($_POST['mdp']) && $_POST['mdp'] != "") {
    $salarie = new Membre($_POST['identifiant'], $_POST['mdp']);
    if ($salarie->getNom() == null) {
        echo 'Erreur : les informations saisies sont incorrectes ( login : '******'identifiant'] . ' )' . $_POST['mdp'];
        // header('Location: ../index.php?Erreur=1');
    } else {
        header('Location: ../admin.php');
    }
} else {
    echo 'Erreur : les informations saisies sont incorrectes!';
}
Example #17
0
<?php

require_once 'autoload.inc.php';
session_start();
if (isset($_GET["id"])) {
    $idMembre = htmlspecialchars($_GET["id"]);
} else {
    $idMembre = 1;
}
$g = new Gestionnaire();
$m = Membre::createFromID($idMembre);
// Moyenne des notes
$mo = Film::formateNote($m->moyenneMembre());
$contenu = <<<HTML
  <h1>{$m->toHTML()}</h1>
  <p>Moyenne des notes données : {$mo}<br>
  Nombre de notes données : {$m->nbNotes()}<br>
  Nombre de comms postés : {$m->nbComms()}</p>
  <div class="container">

HTML;
// Genres préférés (top 10)
$nbMini = Gestionnaire::nbMiniMoyenneGenre;
$contenu .= <<<HTML
  <div>
    <p class="titre">Genres préférés (mini {$nbMini} notes)</p>
    <ul>

HTML;
$tableauGenres = $g->listeStatsGenres($m);
uasort($tableauGenres, function ($a, $b) {
Example #18
0
      <p>(l&apos;inscription est un poil longue, pas de panique!)</p>
    </form>
  </body>
</html>
HTML;
} else {
    require_once "myPDO.include.php";
    require_once "autoload.inc.php";
    $pdo = myPDO::getInstance();
    $stmt = $pdo->prepare(<<<SQL
  INSERT INTO membre(nom, mdpSHA1)
  VALUES(:nom, :pass)
SQL
);
    $stmt->execute(array("nom" => $_POST["nom"], "pass" => sha1($_POST["pass"])));
    $membre = Membre::createFromID($pdo->lastInsertId());
    $membre->lireTousCommentaires();
    $html = <<<HTML
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Inscription</title>
  </head>
  <body>
    Inscription finie poto! <a href="index.php">Retour</a>
  </body>
</html>
HTML;
}
echo $html;