public function afficherDetail($idAdresse = 0, $idEvenementGroupeAdresse = 0) { // attention s'il y a plusieurs evenement distinct (pas associes entre eux) reliés a l'adresse on les affichera a la suite if (isset($_GET["archiIdAdresse"])) { $address = $this->getArrayAdresseFromIdAdresse($_GET["archiIdAdresse"]); } $reqTitre = "\n\t\t\t\tSELECT he1.titre as titre\n\t\t\t\tFROM _adresseEvenement ae\n\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement\n\t\t\t\tLEFT JOIN evenements he1 ON he1.idEvenement = ee.idEvenementAssocie\n\t\t\t\tLEFT JOIN evenements he2 ON he2.idEvenement = he1.idEvenement\n\t\t\t\tWHERE he1.titre!=''\n\t\t\t\tAND ae.idAdresse = '" . $idAdresse . "'\n\t\t\t\tAND he1.idTypeEvenement <>'6'\n\t\t\t\tGROUP BY he1.idEvenement\n\t\t\t\tORDER BY he1.dateDebut,he1.idEvenement\n\t\t\t\tLIMIT 1\n\n\t\t\t\t"; $resTitre = $this->connexionBdd->requete($reqTitre); if (mysql_num_rows($resTitre) == 1) { $fetchTitre = mysql_fetch_assoc($resTitre); $titre = stripslashes($fetchTitre['titre']); if (trim($fetchTitre['titre']) == '') { $noTitreDetected = true; $titre = ''; } } // } $html = "<div class='social_widgets'><div class='fb-like right' data-send='false' data-layout='button_count' data-show-faces='true' data-action='recommend'></div>\n <a href='https://twitter.com/share' class='twitter-share-button right' data-via='ArchiStrasbourg' data-lang='fr' data-related='ArchiStrasbourg'>Tweeter</a>\n <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');</script></div>"; $html .= "<h2>"; $e = new archiEvenement(); $archiIdEvenementGroupeAdresse = isset($_GET['archiIdEvenementGroupeAdresse']) ? $_GET['archiIdEvenementGroupeAdresse'] : $e->getIdEvenementGroupeAdresseFromIdEvenement($_GET["archiIdEvenement"]); $titre = $intituleAdresse = $this->getIntituleAdresseFrom($archiIdEvenementGroupeAdresse, "idEvenementGroupeAdresse", array("afficheTitreSiTitreSinonRien" => true, "noHTML" => true)); if (isset($titre) && !empty($titre)) { if (isset($_GET['archiAffichage']) && $_GET['archiAffichage'] == 'adresseDetail') { $html .= "<span itemprop='name'>"; } $html .= $titre; if (isset($_GET['archiAffichage']) && $_GET['archiAffichage'] == 'adresseDetail') { $html .= "</span>"; } if (!empty($address["nomRue"])) { $html .= " - "; } } if (isset($address)) { if (isset($_GET['archiAffichage']) && $_GET['archiAffichage'] == 'adresseDetail') { $html .= "<span itemprop='address' itemscope itemtype='http://schema.org/PostalAddress'><span itemprop='streetAddress'>"; } if ($address["numero"] . " " != 0) { $html .= $address["numero"]; if (isset($address['nomIndicatif'])) { $html .= $address["nomIndicatif"]; } $html .= ' '; } $html .= $address["prefixeRue"] . " " . $address["nomRue"]; if (isset($_GET['archiAffichage']) && $_GET['archiAffichage'] == 'adresseDetail') { $html .= "</span>\n\t\t\t\t\t\t<meta itemprop='addressLocality' content='" . $address["nomVille"] . "'/>\n\t\t\t\t\t\t<meta itemprop='addressCountry' content='" . $address["nomPays"] . "'/>\n\t\t\t\t\t\t</span>"; } } $html .= "</h2>"; $evenement = new archiEvenement(); // si le groupe d'adresse est precisé dans l'url , on ne va afficher que celui ci if (isset($this->variablesGet['archiIdEvenementGroupeAdresse']) && $this->variablesGet['archiIdEvenementGroupeAdresse'] != '') { if (isset($this->variablesGet['modeAffichage'])) { $modeAffichage = $this->variablesGet['modeAffichage']; } else { $modeAffichage = ''; } $retourEvenement = $evenement->afficher($this->variablesGet['archiIdEvenementGroupeAdresse'], '', null, array()); // cette fonction va afficher les evenements liés au groupe d'adresse $html .= $retourEvenement['html']; if (!archiPersonne::isPerson($this->variablesGet['archiIdEvenementGroupeAdresse']) && $this->variablesGet['archiIdEvenementGroupeAdresse'] != 0) { $html .= $evenement->getFormComment($this->variablesGet['archiIdEvenementGroupeAdresse'], $this->getCommentairesFields(), ''); $html .= $this->getListeCommentaires($this->variablesGet['archiIdEvenementGroupeAdresse']); } } elseif ($idEvenementGroupeAdresse != '' && $idEvenementGroupeAdresse != '0') { $retourEvenement = $evenement->afficher($idEvenementGroupeAdresse, '', null, array()); $html .= $retourEvenement['html']; if (!ArchiPersonne::isPerson($idEvenementGroupeAdresse)) { $html .= $evenement->getFormComment($this->variablesGet['archiIdEvenementGroupeAdresse'], $this->getCommentairesFields(), ''); $html .= $this->getListeCommentaires($idEvenementGroupeAdresse); } } else { $resEvenements = $this->getIdEvenementsFromAdresse($idAdresse); //c'est l'evenement groupe d'adresse qui est relié a l'idAdresse donc on recupere un idEvenementGroupeAdresse en fait if (mysql_num_rows($resEvenements) == 1) { // un seul evenement groupe d'adresse correspond a l'adresse cliquée $fetchEvenements = mysql_fetch_assoc($resEvenements); $retourEvenement = $evenement->afficher($fetchEvenements['idEvenement'], '', null, array()); // cette fonction va afficher les evenements liés au groupe d'adresse $html .= $retourEvenement['html']; if (!ArchiPersonne::isPerson($fetchEvenements['idEvenement'])) { $html .= $evenement->getFormComment($fetchEvenements['idEvenement'], $this->getCommentairesFields(), ''); $html .= $this->getListeCommentaires($fetchEvenements['idEvenement']); } } else { // il y a plusieurs evenements groupes d'adresses qui correspondent a la meme adresse // on n'affiche que les evenements qui concernent la recherche // archiIdEvenementGroupeAdresse , correspond au groupe d'adresse de l'adresse resultat de la recherche if (isset($this->variablesGet['recherche_motcle'])) { // on refait une recherche sur les evenements concernés par l'adresse correspondant a plusieurs evenements groupe adresse $req = "\n\t\t\t\t\t\t\tSELECT ee.idEvenement as idEvenementGroupeAdresse, he1.idEvenement as idEvenement\n\t\t\t\t\t\t\tFROM evenements he2, evenements he1\n\t\t\t\t\t\t\tRIGHT JOIN _adresseEvenement ae ON ae.idAdresse = '" . $idAdresse . "'\n\t\t\t\t\t\t\tRIGHT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement\n\t\t\t\t\t\t\tWHERE he2.idEvenement = he1.idEvenement\n\t\t\t\t\t\t\tAND he1.idEvenement = ee.idEvenementAssocie\n\t\t\t\t\t\t\tAND CONCAT_WS('',lower(he1.titre),lower(he1.description)) like \"%" . strtolower($this->variablesGet['recherche_motcle']) . "%\"\n\t\t\t\t\t\t\tGROUP BY he1.idEvenement\n\t\t\t\t\t\t\t"; $res = $this->connexionBdd->requete($req); while ($fetch = mysql_fetch_assoc($res)) { $retourEvenement = $evenement->afficher($fetch['idEvenementGroupeAdresse'], '', null, array(), array()); // cette fonction va afficher les evenements liés au groupe d'adresse //'rechercheAdresseCalqueObject'=>$c $html .= $retourEvenement['html']; } } else { $nbGroupesAdressesAffiches = 0; while ($fetchEvenements = mysql_fetch_assoc($resEvenements)) { $retourEvenement = $evenement->afficher($fetchEvenements['idEvenement'], '', null, array()); // cette fonction va afficher les evenements liés au groupe d'adresse $html .= $retourEvenement['html']; $nbGroupesAdressesAffiches += count($retourEvenement['listeGroupeAdressesAffichees']); if (isset($retourEvenement['listeGroupeAdressesAffichees'][0])) { $groupeAdresse = $retourEvenement['listeGroupeAdressesAffichees'][0]; } } if ($nbGroupesAdressesAffiches == 1) { if (!ArchiPersonne::isPerson($groupeAdresse)) { debug($groupeAdresse); $html .= $evenement->getFormComment($groupeAdresse, $this->getCommentairesFields(), ''); $html .= $this->getListeCommentaires($groupeAdresse); } } } } } // popup pour la description de la source $s = new archiSource(); $html .= $s->getPopupDescriptionSource(); return $html; }