function __construct() { if (!isset(self::$database)) { //Connection à la BDD si pas déjà connecté self::$database = BaseDeDonnees::getInstance(); } }
/** * @brief Fonction qui récupère des noms de la BDD en fonction des lettres entrées par l'utilisateur * @access public * @author Philippe Germain * @return string */ function autoComplete() { if (!isset($_GET['keyword'])) { die; } if (isset($_GET['rechercheVoulue'])) { $keyword = $_GET['keyword']; if ($_GET['rechercheVoulue'] == "titre") { $oeuvre = new Oeuvre(); $data = $oeuvre->chercheParTitre($keyword); } else { if ($_GET['rechercheVoulue'] == "artiste") { $artiste = new Artiste(); $data = $artiste->chercheParArtiste($keyword); } } } echo json_encode($data); }
/** * @brief Méthode qui appelle la vue d'affichage de la page d'une oeuvre qui n'a pas encore été approuvée - pour les utilisateurs admin * @access private * @return void */ private function oeuvreSoumise() { $oeuvre = new Oeuvre(); $oeuvreAffichee = $oeuvre->getAnyOeuvreById($_GET["o"]); $commentaire = new Commentaire(); $commentairesOeuvre = $commentaire->getCommentairesByOeuvre($_GET["o"], $this->langueAffichage); $photo = new Photo(); $photosOeuvre = $photo->getPhotosByOeuvre($_GET["o"], false); $artiste = new Artiste(); $artistesOeuvre = $artiste->getArtistesbyOeuvreId($_GET["o"]); $this->oVue = new VueOeuvreSoumise(); $this->oVue->setDataGlobal('oeuvreSoumise', "page d'une oeuvre soumise", $this->langueAffichage, $this->pOeuvreSoumise); $this->oVue->setData($oeuvreAffichee, $commentairesOeuvre, $photosOeuvre, $artistesOeuvre, $this->langueAffichage); $this->oVue->afficherMeta(); $this->oVue->afficherEntete(); $this->oVue->afficherBody(); $this->oVue->afficherPiedPage(); }
/** * @brief Méthode qui ajoute une oeuvre dans la BDD. * @param string $titre * @param string $adresse * @param string $prenomArtiste * @param string $nomArtiste * @param string $description * @param string $categorie * @param string $arrondissement * @param boolean $authorise * @param string $langue * @access public * @return void */ public function ajouterOeuvrePourTest($titre, $adresse, $prenomArtiste, $nomArtiste, $description, $categorie, $arrondissement, $authorise, $langue) { $artiste = new Artiste(); $idArtistes = array(); $artiste->ajouterArtiste($prenomArtiste, $nomArtiste, null); $idArtisteAjoute = $artiste->getArtisteIdByName($prenomArtiste, $nomArtiste, null); $idArtistes[] = $idArtisteAjoute; self::$database->query('INSERT INTO Oeuvres ( titre, noInterneMtl, latitude, longitude, parc, batiment, adresse, descriptionFR, descriptionEN, authorise, idCategorie, idArrondissement) VALUES (:titre, null, null, null, null, null, :adresse, :descriptionFR, :descriptionEN, :authorise, :idCategorie, :idArrondissement)'); if ($langue == "FR") { self::$database->bind(':descriptionFR', $description . $langue); self::$database->bind(':descriptionEN', ""); } else { if ($langue == "EN") { self::$database->bind(':descriptionEN', $description . $langue); self::$database->bind(':descriptionFR', ""); } } self::$database->bind(':authorise', $authorise); self::$database->bind(':titre', $titre); self::$database->bind(':adresse', $adresse); self::$database->bind(':idCategorie', $categorie); self::$database->bind(':idArrondissement', $arrondissement); self::$database->execute(); $idOeuvre = $this->getIdOeuvreByTitreandAdresse($titre, $adresse); //aller chercher id oeuvre insérée $artiste->lierArtistesOeuvre($idOeuvre, $idArtistes); //Lier les artistes à l'oeuvre }
<h2>Test unitaire - recherche autocomplete</h2> <div id="contenu"> <?php if (isset($_GET['testAutocomplete'])) { if (isset($_GET["titre"]) && $_GET["titre"] != "") { $oeuvre = new Oeuvre(); $data = $oeuvre->chercheParTitre($_GET['keyword']); echo "recherche par titre :<br>"; var_dump($data); echo "<br><br><br>"; } if (isset($_GET["artiste"]) && $_GET["artiste"] != "") { $artiste = new Artiste(); $data = $artiste->chercheParArtiste($_GET['keyword']); echo "recherche par artiste :<br>"; var_dump($data); echo "<br><br><br>"; } } ?> <form name="formTestAutocomplete" method="get"> <input type="text" name="titre" placeholder="par titre"> <input type="text" name="artiste" placeholder="par artiste"> <input type="submit" name="testAutocomplete" value="Tester"> </form> </div>