Example #1
0
include_once "content/fonctions/membres.php";
include_once "content/fonctions/jeux.php";
$onPeutReserver = false;
if ($getParamUn) {
    $idJeuAReserver = $getParamUn;
    $infosJeu = infosJeuDepuisId($idJeuAReserver);
    if (!$infosJeu) {
        $codeMessage = "jeuInvalide";
        $idJeuAReserver = false;
    } else {
        $listeResa = reservationsEnCoursMembre($pseudoMembre);
        $infosMembre = infosMembreDepuisPseudo($pseudoMembre);
        if ($infosMembre["fin_abo"] > time() + ($settings["nbJoursReservation"] + 1) * 24 * 3600) {
            if (count($listeResa) < $settings["nbReservationsMax"]) {
                $nbExemplairesJeu = count(exemplairesDunJeu($idJeuAReserver));
                $nbReservNonFinies = nbReservationsJeuNonFinies($idJeuAReserver, $settings["nbJoursReservation"]);
                $nbPretsNonFinis = nbPretsEnCoursNonFinisJeu($idJeuAReserver, $settings["nbJoursReservation"]);
                if ($nbReservNonFinies + $nbPretsNonFinis < $nbExemplairesJeu) {
                    // Ok, on peut réserver !
                    $onPeutReserver = true;
                } else {
                    // Erreur ! Pas assez de jeux pour répondre à la demande
                    $codeMessage = "reserverNbReservMaxAtteintPourCeJeu";
                }
            } else {
                // Erreur ! Trop de réservations pour ce membre
                $codeMessage = "reserverNbReservAtteint";
            }
        } else {
            // Erreur ! Abo fini avant fin réservation
            $codeMessage = "reserverAboFiniAvantFinReserv";
Example #2
0
function empruntNonBloque($idJeu, $pseudo)
{
    // Renvoie TRUE si l'emprunt n'est pas bloqué par les réservations, ou si le membre dispose bien d'une réservation pour ce jeu
    // Membre dispose de la réservation du jeu en cours ?
    $sql = 'SELECT * FROM ludo_reservation WHERE pseudo=:pseudo AND dateFin > :now AND dateEmprunt IS NULL;';
    $requete = $GLOBALS['bd']->prepare($sql);
    $requete->bindValue(':pseudo', $pseudo, PDO::PARAM_INT);
    $requete->bindValue(':now', time(), PDO::PARAM_INT);
    $requete->execute();
    $result = $requete->fetchAll(PDO::FETCH_ASSOC);
    if (isset($result[0])) {
        // C'est bon, il peut emprunter
        return true;
    } else {
        // Emprunt possible : nbExemplairesDispo > nbExemplairesReserves
        if (nbExemplairesJeu($idJeu) > nbReservationsJeuNonFinies($idJeu, 0)) {
            return true;
        } else {
            return false;
        }
    }
    return $result;
}