function isCorrectDate($date) { if (!isEnglishDate($date)) { if (strtotime($date) > time()) { return false; } } else { if (strtotime(getEnglishDate($date)) > time()) { return false; } } return true; }
public function add($client) { if ($client->getIdCompte() != null) { $idCompte = $client->getIdCompte(); } else { $compte = new Compte(array('solde' => 0)); $compteManager = new CompteManager($this->db); $idCompte = $compteManager->add($compte); } $date = getEnglishDate($client->getDate_naissance()); $sql = 'INSERT INTO client(idCompte, nom, prenom, mail, date_naissance, login, pwd) VALUES (:idCompte, :nom, :prenom, :mail, :date_naissance, :login, :pwd)'; $requete = $this->db->prepare($sql); $requete->bindValue(':idCompte', $idCompte); $requete->bindValue(':nom', $client->getNom()); $requete->bindValue(':prenom', $client->getPrenom()); $requete->bindValue(':mail', $client->getMail()); $requete->bindValue(':date_naissance', $date); $requete->bindValue(':login', $client->getLogin()); $requete->bindValue(':pwd', $client->getPwd()); $retour = $requete->execute(); $idInserted = $this->db->lastInsertId(); $response = array('idClient' => $idInserted, 'idCompte' => $idCompte, 'ajoutClient' => $retour); return json_encode($response); }
<h1>Recherche de citation(s)</h1> <?php $num = '%'; $dateUn = "0000-01-01"; $dateDeux = date("Y-m-d"); $noteUn = 0; $noteDeux = 20; if (!empty($_POST['listerEnseignant'])) { $num = $_POST['listerEnseignant']; } if (!empty($_POST['dateUn'])) { $dateUn = getEnglishDate($_POST['dateUn']); } if (!empty($_POST['dateDeux'])) { $dateDeux = getEnglishDate($_POST['dateDeux']); } if (isset($_POST['note'])) { $noteUn = $_POST['note']; } if (isset($_POST['noteUn'])) { $noteDeux = $_POST['noteDeux']; } $db = new Mypdo(); $managerC = new CitationManager($db); $managerP = new PersonneManager($db); $listeCitation = $managerC->getListeCitationsTri($num, $dateUn, $dateDeux); if (!empty($listeCitation)) { ?> <p>Les citations suivantes correspondent à vos critères</p> <table class="tableCli"> <tr class="hautTableau">
</form> </div> <?php //on liste les mots interdits sous le textarea foreach ($listeMotsInterdits as $mot) { ?> <img src="image/erreur.png" alt="Erreur" /> Le mot <b>"<?php echo $mot->getMotInterdit(); ?> "</b> n'est pas autorisé <br/><?php echo "\n"; } echo "<br/>"; } else { //on recupere la date au format mySQL $dateEng = getEnglishDate($_POST['dateCit']); //on ajoute la citation $managerC->ajouterCitation($_POST['listerEnseignants'], $_SESSION['id'], $_POST['citation'], $dateEng); ?> <br/><img src="image/valid.png" alt="ImageValide" /> La citation a bien été ajoutée<?php } } ?> <script> datepickr('#minAndMax', { dateFormat: 'd/m/Y', minDate: 0, //date minimale selectionnable maxDate: new Date().getTime(), //date maximale selectionnable }); </script>
public function search($recherche, $isAdmin) { if (!$isAdmin) { $hide = " AND cit_valide = 1 AND cit_date_valide IS NOT NULL"; } else { $hide = ""; } $sql = "SELECT c.cit_num, c.per_num, per_num_etu, per_num_valide, cit_libelle, cit_date, cit_date_depo, cit_date_valide, cit_valide "; /* TABLE DE VERITE note prof date 0 0 0 OK 0 0 1 OK 0 1 0 OK 0 1 1 OK 1 0 0 OK 1 0 1 OK 1 1 0 OK 1 1 1 OK */ if ($recherche['note'] === "novalue") { $note = ""; } else { if ($recherche['note'] == "zero") { $note = "zero"; } else { $note = floatval($recherche['note']); } } if (empty($note) && empty($recherche["prof"]) && empty($recherche["date"])) { $code = 1; throw new ExceptionPerso("Une recherche ne peut s'effectuer sans critères de recherches !", ExceptionPerso::ERR_CITATION); } if (empty($note) && empty($recherche["prof"]) && !empty($recherche["date"])) { $code = 2; $sql .= " FROM citation c WHERE cit_date=:date"; $sql .= $hide; $requete = $this->db->prepare($sql); $requete->bindValue(":date", getEnglishDate($recherche["date"])); } if (empty($note) && !empty($recherche["prof"]) && empty($recherche["date"])) { $code = 3; $sql .= " FROM citation c WHERE c.per_num=:prof "; $sql .= $hide; $requete = $this->db->prepare($sql); $requete->bindValue(":prof", $recherche["prof"]); } if (empty($note) && !empty($recherche["prof"]) && !empty($recherche["date"])) { $code = 4; $sql .= " FROM citation c WHERE cit_date=:date AND c.per_num=:prof "; $sql .= $hide; $requete = $this->db->prepare($sql); $requete->bindValue(":date", getEnglishDate($recherche["date"])); $requete->bindValue(":prof", $recherche["prof"]); } if (!empty($note) && empty($recherche["prof"]) && empty($recherche["date"])) { $code = 5; if (!$isAdmin) { $sql .= " FROM citation c JOIN vote v ON c.cit_num=v.cit_num WHERE cit_valide=1 AND cit_date_valide IS NOT NULL GROUP BY c.cit_num HAVING AVG(vot_valeur)=:note"; } else { $sql .= " FROM citation c JOIN vote v ON c.cit_num=v.cit_num GROUP BY c.cit_num HAVING AVG(vot_valeur)=:note"; } $requete = $this->db->prepare($sql); $requete->bindValue(":note", $note === "zero" ? 0 : floatval($note)); } if (!empty($note) && empty($recherche["prof"]) && !empty($recherche["date"])) { $code = 6; if (!$isAdmin) { $sql .= " FROM citation c JOIN vote v on v.cit_num=c.cit_num WHERE cit_date=:date AND cit_valide=1 AND cit_date_valide IS NOT NULL GROUP BY c.cit_num HAVING AVG(vot_valeur)=:note"; } else { $sql .= " FROM citation c JOIN vote v on v.cit_num=c.cit_num WHERE cit_date=:date GROUP BY c.cit_num HAVING AVG(vot_valeur)=:note"; } $requete = $this->db->prepare($sql); $requete->bindValue(":note", $note === "zero" ? 0 : floatval($note)); $requete->bindValue(":date", getEnglishDate($recherche["date"])); } if (!empty($note) && !empty($recherche["prof"]) && empty($recherche["date"])) { $code = 7; if (!$isAdmin) { $sql .= " FROM citation c JOIN vote v on v.cit_num=c.cit_num WHERE c.per_num=:prof AND cit_valide=1 AND cit_date_valide IS NOT NULL GROUP BY c.cit_num HAVING AVG(vot_valeur)=:note"; } else { $sql .= " FROM citation c JOIN vote v on v.cit_num=c.cit_num WHERE c.per_num=:prof GROUP BY c.cit_num HAVING AVG(vot_valeur)=:note"; } $requete = $this->db->prepare($sql); $requete->bindValue(":note", $note === "zero" ? 0 : floatval($note)); $requete->bindValue(":prof", $recherche["prof"]); } if (!empty($note) && !empty($recherche["prof"]) && !empty($recherche["date"])) { $code = 8; if (!$isAdmin) { $sql .= " FROM citation c JOIN vote v on v.cit_num=c.cit_num WHERE c.per_num=:prof AND cit_date=:date AND cit_valide=1 AND cit_date_valide IS NOT NULL GROUP BY c.cit_num HAVING AVG(vot_valeur)=:note"; } else { $sql .= " FROM citation c JOIN vote v on v.cit_num=c.cit_num WHERE c.per_num=:prof AND cit_date=:date GROUP BY c.cit_num HAVING AVG(vot_valeur)=:note"; } $requete = $this->db->prepare($sql); $requete->bindValue(":note", $note === "zero" ? 0 : floatval($note)); $requete->bindValue(":date", getEnglishDate($recherche["date"])); $requete->bindValue(":prof", $recherche["prof"]); } //TRES utile en phase de test ! //echo $code."- ".$sql; $requete->execute(); $citations = ""; while ($ligne = $requete->fetch(PDO::FETCH_OBJ)) { $citations[] = new Citation($ligne); } return $citations; }