コード例 #1
0
 public static function verification($pseudo, $password)
 {
     $cnx = Connexion::connecter();
     // fonction définie par ailleurs
     // préparation de la requête
     $pseudoSql = $cnx->quote($pseudo);
     $passwordSql = $cnx->quote($password);
     // le mot de passe est chiffré dans la BDD
     $sql = "SELECT COUNT(*) as id FROM users WHERE pseudo={$pseudoSql} AND\r\n   password={$passwordSql}";
     $result = $cnx->query($sql);
     $row = $result->fetch();
     $cnx = "";
     return $row['id'] == 1;
 }
コード例 #2
0
 public static function getPrivilegeByPseudo($pseudo)
 {
     $retour = null;
     try {
         // Requête textuelle paramétrée (le paramètre est symbolisé par un ?)
         $sql = "SELECT privilège FROM users WHERE pseudo = ?";
         // préparer la requête PDO
         $queryPrepare = Connexion::getPdo()->prepare($sql);
         // exécuter la requête avec les valeurs des paramètres (il n'y en a qu'un ici) dans un tableau
         if ($queryPrepare->execute(array($pseudo))) {
             // si la requête réussit :
             // extraire l'enregistrement retourné par la requête
             $enregistrement = $queryPrepare->fetch(PDO::FETCH_ASSOC);
             // construire l'objet métier correspondant
             $retour = $enregistrement['privilège'];
         }
     } catch (PDOException $e) {
         echo get_class() . ' - ' . __METHOD__ . ' : ' . $e->getMessage();
     }
     return $retour;
 }
コード例 #3
0
 public static function getOneByIdCompo($idEtablissement, $idTypeChambre, $idGroupe)
 {
     $retour = null;
     $valeursClePrimaire = array($idEtablissement, $idTypeChambre, $idGroupe);
     try {
         // Requête textuelle paramétrée (le paramètre est symbolisé par un ?)
         $sql = "SELECT * FROM attribution WHERE idEtab = ? AND idTypeChambre = ? AND idGroupe = ?";
         // préparer la requête PDO
         $queryPrepare = Connexion::getPdo()->prepare($sql);
         // exécuter la requête avec les valeurs des paramètres (il n'y en a qu'un ici) dans un tableau
         if ($queryPrepare->execute($valeursClePrimaire)) {
             // si la requête réussit :
             // extraire l'enregistrement retourné par la requête
             $enregistrement = $queryPrepare->fetch(PDO::FETCH_ASSOC);
             // construire l'objet métier correspondant
             $retour = self::enregistrementVersObjet($enregistrement);
         }
     } catch (PDOException $e) {
         echo get_class() . ' - ' . __METHOD__ . ' : ' . $e->getMessage();
     }
     return $retour;
 }
コード例 #4
0
 public static function getPrivilege($login)
 {
     $retour = FALSE;
     // Requête textuelle
     $sql = "SELECT privilege FROM client WHERE login=:l";
     try {
         // préparer la requête PDO
         $queryPrepare = Connexion::getPdo()->prepare($sql);
         // exécuter la requête PDO
         if ($queryPrepare->execute(array(':l' => $login))) {
             // si la requête réussit :
             if ($enregistrement = $queryPrepare->fetch(PDO::FETCH_ASSOC)) {
                 // test du nombre d'enregistrments trouvés
                 $retour = (int) $enregistrement['privilege'];
             }
         }
     } catch (PDOException $e) {
         echo get_class($this) . ' - ' . __METHOD__ . ' : ' . $e->getMessage();
     }
     var_dump($retour);
     //a
     return $retour;
 }
コード例 #5
0
<?php

include "_debut.inc.php";
require_once __DIR__ . "/../../includes/fonctions.inc.php";
use modele\dao\UserDAO;
use modele\Connexion;
// AFFICHER L'ENSEMBLE DES TYPES DE CHAMBRES
// CETTE PAGE CONTIENT UN TABLEAU CONSTITUÉ D'1 LIGNE D'EN-TÊTE ET D'1 LIGNE PAR
// TYPE DE CHAMBRE
echo "\r\n<br>\r\n<table width='40%' cellspacing='0' cellpadding='0' class='tabNonQuadrille'>\r\n   <tr class='enTeteTabNonQuad'>\r\n      <td colspan='4'><strong>Types de chambres</strong></td>\r\n   </tr>";
Connexion::connecter();
$rsTypeChambre = obtenirTypesChambres($connexion);
if (isset($_SESSION['pseudo'])) {
    $privil = UserDAO::getPrivilegeByPseudo($_SESSION['pseudo']);
}
// BOUCLE SUR LES TYPES DE CHAMBRES
while ($lgTypeChambre = $rsTypeChambre->fetch(PDO::FETCH_ASSOC)) {
    $id = $lgTypeChambre['id'];
    $libelle = $lgTypeChambre['libelle'];
    echo "\r\n      <tr class='ligneTabNonQuad'> \r\n         <td width='15%'>{$id}</td>\r\n         <td width='33%'>{$libelle}</td>\r\n         <td width='26%' align='center'>";
    if (isset($_SESSION['pseudo']) && $privil == '1') {
        echo "<a href='cGestionTypesChambres.php?action=demanderModifierTypeChambre&id={$id}'>\r\n         Modifier</a></td>";
    }
    // S'il existe déjà des attributions pour le type de chambre, il faudra
    // d'abord les supprimer avant de pouvoir supprimer le type de chambre
    if (!existeAttributionsTypeChambre($connexion, $id) && isset($_SESSION['pseudo']) && $privil == '1') {
        echo "\r\n            <td width='26%' align='center'>\r\n            <a href='cGestionTypesChambres.php?action=demanderSupprimerTypeChambre&id={$id}'>\r\n            Supprimer</a></td>";
    } else {
        echo "<td width='26%'>&nbsp; </td>";
    }
    echo "               \r\n    </tr>";
コード例 #6
0
 public static function delete($idMetier)
 {
     $retour = null;
     try {
         $sql = "DELETE FROM typechambre WHERE id = ?";
         $queryPrepare = Connexion::getPdo()->prepare($sql);
         if ($queryPrepare->execute(array($idMetier))) {
             $retour = 1;
         }
     } catch (PDOException $e) {
         echo get_class() . ' - ' . __METHOD__ . ' : ' . $e->getMessage();
     }
     return $retour;
 }
コード例 #7
0
 function obtenirNbEtab()
 {
     //    global $connexion;
     $req = "SELECT COUNT(*) FROM etablissement";
     $stmt = Connexion::connecter()->prepare($req);
     $stmt->execute();
     return $stmt->fetchColumn();
 }
コード例 #8
0
        <title>test DAO</title>
    </head>
    <body>
        <?php 
use modele\dao\EtabDAO;
use modele\Connexion;
use modele\metier\Etablissement;
require_once "../includes/fonctions.inc.php";
//            require_once("../modele/dao/AttribDAO.class.php");
//            require_once("../modele/dao/DAO.class.php");
//            require_once("../modele/dao/EtabDAO.class.php");
//            require_once("../modele/dao/GroupeDAO.class.php");
//            require_once("../modele/dao/OffreDAO.class.php");
//            require_once("../modele/dao/TypeChambreDAO.class.php");
//            require_once("../modele/Connexion.class.php");
$pdo = Connexion::connecter();
// Test d'EtablissementDAO
echo "<h3>Test d'EtabDAO</h3>";
// Etablissement : test de sélection de toutes les attributions
echo "<p>Etablissement : test de sélection de toutes les établissements</p>";
$lesEtabs = EtabDAO::getAll();
var_dump($lesEtabs);
// Etablissement : test de sélection d'une seul attribution
echo "<p>Etablissement : test de sélection d'une seul attribution</p>";
$unEtab = EtabDAO::getOneById('0350773A');
var_dump($unEtab);
// Etablissement : test d'insérer un nouvelle établissement
echo "<p>Etablissement : test d'insérer un nouvelle établissement</p>";
$objetEtab = new Etablissement('42565', 'La Joliverie', '42 rue de la Jol', '44000', 'Nantes', '0258657890', '*****@*****.**', 0, 'Monsieur', 'Jean', 'PAULE');
$ok = EtabDAO::insert($objetEtab);
var_dump($ok);
コード例 #9
0
 public static function estUnNomGroupe($mode, $id, $nom)
 {
     //    global $connexion;
     $nom = str_replace("'", "''", $nom);
     // S'il s'agit d'une création, on vérifie juste la non existence du nom sinon
     // on vérifie la non existence d'un autre établissement (id!='$id') portant
     // le même nom
     if ($mode == 'C') {
         $req = "SELECT COUNT(*) FROM groupe WHERE nom=?";
         $stmt = Connexion::connecter()->prepare($req);
         $stmt->execute(array($nom));
     } else {
         $req = "SELECT COUNT(*) FROM groupe WHERE nom=? AND id<>?";
         $stmt = Connexion::connecter()->prepare($req);
         $stmt->execute(array($nom, $id));
     }
     return $stmt->fetchColumn();
 }
コード例 #10
0
// CETTE PAGE CONTIENT UN TABLEAU CONSTITUÉ D'1 LIGNE D'EN-TÊTE ET D'1 LIGNE PAR
// ÉTABLISSEMENT
echo "\r\n<br>\r\n<table width='55%' cellspacing='0' cellpadding='0' class='tabNonQuadrille'>\r\n\r\n   <tr class='enTeteTabNonQuad'>\r\n      <td colspan='4'><strong>Etablissements</strong></td>\r\n   </tr>";
Connexion::connecter();
$arrayEtab = EtablissementDao::getAll();
//$rsEtab = mysql_query($req, $connexion);
if (isset($_SESSION['pseudo'])) {
    $privil = UserDAO::getPrivilegeByPseudo($_SESSION['pseudo']);
}
// BOUCLE SUR LES ÉTABLISSEMENTS
for ($i = 0; $i < count($arrayEtab); $i++) {
    $unEtab = $arrayEtab[$i];
    echo "\r\n\t\t<tr class='ligneTabNonQuad'>\r\n         <td width='52%'>" . $unEtab->getNom() . "</td>\r\n         \r\n         <td width='16%' align='center'> \r\n         <a href='cGestionEtablissements.php?action=detailEtab&id=" . $unEtab->getId() . "'>\r\n         Voir détail</a></td>";
    if (isset($_SESSION['pseudo']) && $privil == '1') {
        echo "<td width='16%' align='center'> \r\n         <a href='cGestionEtablissements.php?action=demanderModifierEtab&id=" . $unEtab->getId() . "'>\r\n         Modifier</a></td>";
    }
    // S'il existe déjà des attributions pour l'établissement, il faudra
    // d'abord les supprimer avant de pouvoir supprimer l'établissement
    if (!existeAttributionsEtab($connexion, $unEtab->getId()) && isset($_SESSION['pseudo']) && $privil == '1') {
        echo "\r\n            <td width='16%' align='center'> \r\n            <a href='cGestionEtablissements.php?action=demanderSupprimerEtab&id=" . $unEtab->getId() . "'>\r\n            Supprimer</a></td>";
    } else {
        echo "\r\n            <td width='16%'>&nbsp; </td>";
    }
    echo "\r\n      </tr>";
}
if (isset($_SESSION['pseudo']) && $privil == '1') {
    echo "\r\n</table>\r\n<br>\r\n<a href='cGestionEtablissements.php?action=demanderCreerEtab'>\r\nCréation d'un établissement</a >";
}
include "_fin.inc.php";
Connexion::deconnecter();
コード例 #11
0
 public static function supprimerTypeChambre($id)
 {
     $req = "DELETE FROM typechambre WHERE id=?";
     $stmt = Connexion::connecter()->prepare($req);
     $ok = $stmt->execute(array($id));
     return $ok;
 }
コード例 #12
0
 public static function creerTypeChambre($id, $libelle)
 {
     try {
         Connexion::connecter();
         // Requête textuelle paramétrée (le paramètre est symbolisé par un ?)
         $sql = "INSERT INTO typechambre VALUES( ? , ? )";
         // préparer la requête PDO
         $queryPrepare = Connexion::getPdo()->prepare($sql);
         // exécuter la requête avec les valeurs des paramètres (il n'y en a qu'un ici) dans un tableau
         if ($queryPrepare->execute(array($id, $libelle))) {
             // si la requête réussit :
             $retour = 1;
         }
     } catch (PDOException $e) {
         echo get_class() . ' - ' . __METHOD__ . ' : ' . $e->getMessage();
     }
     return $retour;
 }
コード例 #13
0
function TypeChambreDaoDelete()
{
    $pdo = Connexion::connecter();
    //TypeChambre : test de suppression d'une chambre
    echo "<p>TypeChambre : test de suppression d'une chambre</p>";
    try {
        TypeChambreDao::delete('C6');
    } catch (PDOException $e) {
        echo 'ERROR : ' . $e->getMessage();
    }
    $pdo = Connexion::deconnecter();
}
コード例 #14
0
 public static function obtenirNbOccup($idEtab, $idTypeChambre)
 {
     $req = "SELECT IFNULL(SUM(nombreChambres), 0) AS totalChambresOccup FROM\n        attribution WHERE idEtab=:idEtab AND idTypeChambre=:idTypeCh";
     $stmt = Connexion::connecter()->prepare($req);
     $stmt->bindParam(':idEtab', $idEtab);
     $stmt->bindParam(':idTypeCh', $idTypeChambre);
     $stmt->execute();
     $nb = $stmt->fetchColumn();
     return $nb;
 }
コード例 #15
0
 public static function obtenirGroupesEtab($id)
 {
     $req = "SELECT DISTINCT id, nom FROM groupe \n        INNER JOIN attribution ON attribution.idgroupe = groupe.id \n        WHERE idEtab=?";
     $stmt = Connexion::connecter()->prepare($req);
     $stmt->execute(array($id));
     return $stmt;
 }