// CHAMBRE AVEC EN 3ÈME COLONNE LE NOMBRE DE CHAMBRES OFFERTES DANS
// L'ÉTABLISSEMENT POUR LE TYPE DE CHAMBRE OU LA VALEUR EN ERREUR LE CAS
// ÉCHÉANT)
for ($i = 0; $i < count($arrayTypeChambre); $i++) {
    $unTypeChambre = $arrayTypeChambre[$i];
    $idTypeChambre = $unTypeChambre->getId();
    $libelle = $unTypeChambre->getLibelle();
    echo "\n         <tr class='ligneTabQuad'>\n            <td>{$idTypeChambre}</td>\n            <td>{$libelle}</td>";
    // AFFICHAGE DE LA CELLULE NOMBRE DE CHAMBRES OFFERTES
    // Si on "vient" de ce formulaire (action 'validerModifierOffre') et
    // que le nombre de chambres pour le type en question est en erreur,
    // ce nombre est affiché en erreur
    if ($action == 'validerModifierOffre' && (!estEntier($nbChambres[$i]) || !OffreDAO::estModifOffreCorrecte($idEtab, $idTypeChambre, $nbChambres[$i]))) {
        echo "\n               <td align='center'><input type='text' value='{$nbChambres[$i]}' \n               name='nbChambres[{$i}]' maxlength='3' class='erreur'></td>";
    } else {
        // Appel à la fonction obtenirNbOffre pour récupérer le nombre
        // de chambres offertes
        $nbOffre = OffreDAO::obtenirNbOffre($idEtab, $idTypeChambre);
        echo "\n               <td align='center'><input type='text' value='{$nbOffre}' \n               name='nbChambres[{$i}]' maxlength='3'></td>";
    }
    // Le tableau des différents $idTypeChambre est nécessaire à
    // cOffreHebergement.php donc on le transmet en champs cachés
    echo "\n            <input type='hidden' value='{$idTypeChambre}' \n            name='idTypeChambre[{$i}]'>\n         </tr>";
}
// Fin de la boucle sur les types de chambres
echo "</table>";
// La variable $idEtab et le nombre de lignes du tableau (qui est en fait le
// nombre de types de chambres) sont nécessaires àcOffreHebergement.php donc
// on les transmet en champs cachés
echo "\n   <input type='hidden' value='{$idEtab}' name='idEtab'>    \n   <input type='hidden' value='{$i}' name='nbLignes'>\n   \n   <table align='center' cellspacing='15' cellpadding='0'>\n      <tr>\n         <td align='right'><input type='submit' value='Valider' \n         name='validerModifierOffre'></td>\n         <td align='left'><input type='reset' value='Annuler' name='annuler'>\n         </td>\n      </tr>\n   </table>\n   <a href='cOffreHebergement.php?'>Retour</a>\n</form>";
include "_fin.inc.php";
        $idTypeChambre = $_REQUEST['idTypeChambre'];
        $nbChambres = $_REQUEST['nbChambres'];
        $nbLignes = $_REQUEST['nbLignes'];
        $arrayEtab = EtabDAO::getAll();
        $nbEtab = OffreDAO::obtenirNbEtab();
        $arrayTypeChambre = TypeChambreDAO::getAll();
        $nbTypesChambres = OffreDAO::obtenirNbTypesChambres();
        $lgEtab = OffreDAO::obtenirDetailEtablissement($idEtab);
        $err = false;
        for ($i = 0; $i < $nbLignes; $i = $i + 1) {
            // Si la valeur saisie n'est pas numérique ou est inférieure aux
            // attributions déjà effectuées pour cet établissement et ce type de
            // chambre, la modification n'est pas effectuée
            $entier = estEntier($nbChambres[$i]);
            $modifCorrecte = OffreDAO::estModifOffreCorrecte($idEtab, $idTypeChambre[$i], $nbChambres[$i]);
            if (!$entier || !$modifCorrecte) {
                $err = true;
            } else {
                OffreDAO::modifierOffreHebergement($idEtab, $idTypeChambre[$i], $nbChambres[$i]);
            }
        }
        if ($err) {
            ajouterErreur("Valeurs non entières ou inférieures aux attributions effectuées");
            include "vues/OffreHebergement/vModifierOffreHebergement.php";
        } else {
            include "vues/OffreHebergement/vConsulterOffreHebergement.php";
        }
        break;
}
// Fermeture de la connexion au serveur MySql
$connexion = null;
Exemplo n.º 3
0
 public static function estModifOffreCorrecte($idEtab, $idTypeChambre, $nombreChambres)
 {
     $nbOccup = OffreDAO::obtenirNbOccup($idEtab, $idTypeChambre);
     return $nombreChambres >= $nbOccup;
 }