Пример #1
0
 /**
  * Constructeur de la classe ArchiParcours
  * 
  * @param int $id Identifiant du parcours
  * 
  * @return void
  * */
 function __construct($id)
 {
     $config = new ArchiConfig();
     $query = 'SELECT commentaireParcours FROM parcoursArt WHERE idParcours="' . $config->connexionBdd->quote($id) . '";';
     $result = $config->connexionBdd->requete($query);
     $result = mysql_fetch_assoc($result);
     $bbCode = new bbCodeObject();
     $this->desc = $bbCode->convertToDisplay(array('text' => stripslashes($result['commentaireParcours'])));
 }
 public function getParcoursDetail($params = array())
 {
     $html = "";
     $idParcours = 0;
     if (isset($this->variablesGet['archiIdParcours']) && $this->variablesGet['archiIdParcours'] != '') {
         $idParcours = $this->variablesGet['archiIdParcours'];
     }
     if (isset($params['idParcours']) && $params['idParcours'] != '') {
         $idParcours = $params['idParcours'];
     }
     if ($idParcours != 0) {
         $bbCode = new bbCodeObject();
         $resParcours = $this->getMysqlParcours(array('sqlWhere' => "AND idParcours='" . $idParcours . "'"));
         $fetchParcours = mysql_fetch_assoc($resParcours);
         $html .= "<h1>" . stripslashes($fetchParcours['libelleParcours']) . "</h1>";
         $html .= $this->getGoogleMapParcours(array('idParcours' => $idParcours, 'width' => 700));
         // affichage de la liste des etapes
         $alphaChars = 'abcdefghijklmnopqrstuvwxyz';
         // on fait simple
         $reqEtapes = "SELECT idEtape,idEvenementGroupeAdresse,commentaireEtape,position FROM etapesParcoursArt WHERE idParcours='" . $idParcours . "' ORDER BY position ASC";
         $resEtapes = $this->connexionBdd->requete($reqEtapes);
         $t = new tableau();
         $i = 0;
         while ($fetchEtapes = mysql_fetch_assoc($resEtapes)) {
             $arrayPhoto = $this->getPhotoFromEtape(array('idEtape' => $fetchEtapes['idEtape']));
             $photo = "&nbsp;";
             if ($arrayPhoto['trouve']) {
                 $photo = "<img src='" . $arrayPhoto['url'] . "' border=0>";
             }
             $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($fetchEtapes['idEvenementGroupeAdresse']);
             $intituleAdresse = $this->getIntituleAdresseFrom($fetchEtapes['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('setSeparatorAfterTitle' => '<br>', 'displayFirstTitreAdresse' => true, 'noVille' => true, 'noQuartier' => true, 'noSousQuartier' => true));
             $marqueur = "<div style=\"font-size:10px; padding-top:3px; width:20px; height:34px; background-repeat:no-repeat; background-image:url(" . $this->getUrlImage() . "greenMarkerGM.gif); font-weight:bold; text-align:center;\">" . ($i + 1) . "</div>";
             $t->addValue($marqueur);
             $t->addValue("<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $fetchEtapes['idEvenementGroupeAdresse'], 'archiIdAdresse' => $idAdresse)) . "'>{$photo}</a>", "align=center");
             $t->addValue("<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $fetchEtapes['idEvenementGroupeAdresse'], 'archiIdAdresse' => $idAdresse)) . "'>" . $intituleAdresse . "</a>");
             $t->addValue(stripslashes($bbCode->convertToDisplay(array('text' => $fetchEtapes['commentaireEtape']))));
             $i++;
         }
         require_once __DIR__ . '/archiParcours.php';
         $parcours = new ArchiParcours($_GET['archiIdParcours']);
         $html .= '<p>' . $parcours->desc . '</p>';
         $html .= "<br><h2>Etapes du parcours : </h2>";
         $html .= $t->createTable(4);
     }
     return $html;
 }
    /**
     * Display html details of a single event
     *
     * @param unknown $idEvenement : id of the event to display
     * @return string : html of the detail event
     */
    public function getEventInfos($idEvenement, $params = array())
    {
        $authentification = new archiAuthentification();
        $evenements = array();
        /*
         * Data processing
         */
        $requete = 'SELECT

				hE.idEvenement,
				hE.titre,
				hE.idSource,
				hE.idTypeStructure,
				hE.idTypeEvenement,
				hE.description,
				hE.dateDebut,
				hE.dateFin,
				hE.dateDebut,
				hE.dateFin,
				tE.nom AS nomTypeEvenement,
				tS.nom AS nomTypeStructure,
				s.nom AS nomSource,
				u.nom AS nomUtilisateur,
				u.prenom as prenomUtilisateur,
				tE.groupe,
				hE.ISMH ,
				hE.MH,
				date_format(hE.dateCreationEvenement,"' . _("%e/%m/%Y à %kh%i") . '") as dateCreationEvenement,
				hE.isDateDebutEnviron as isDateDebutEnviron,
				u.idUtilisateur as idUtilisateur,
				hE.numeroArchive as numeroArchive,
				ae.idAdresse,
				ha.idVille,
				ee.idEvenement as idEvenementGroupeAdresse

				FROM evenements hE
				LEFT JOIN source s      ON s.idSource = hE.idSource
				LEFT JOIN typeStructure tS  ON tS.idTypeStructure = hE.idTypeStructure
				LEFT JOIN typeEvenement tE  ON tE.idTypeEvenement = hE.idTypeEvenement
				LEFT JOIN utilisateur u     ON u.idUtilisateur = hE.idUtilisateur

				LEFT JOIN _evenementEvenement ee on ee.idEvenementAssocie =' . $idEvenement . '
				LEFT JOIN _adresseEvenement ae on ae.idEvenement = ee.idEvenement
				LEFT JOIN historiqueAdresse ha on ha.idAdresse= ae.idAdresse

				WHERE hE.idEvenement=' . $idEvenement . '
				ORDER BY hE.idEvenement DESC
				LIMIT 1';
        if ($params['type'] == 'historique') {
            $requete = 'SELECT

				hE.idEvenement,
				hE.titre,
				hE.idSource,
				hE.idTypeStructure,
				hE.idTypeEvenement,
				hE.description,
				hE.dateDebut,
				hE.dateFin,
				hE.dateDebut,
				hE.dateFin,
				tE.nom AS nomTypeEvenement,
				tS.nom AS nomTypeStructure,
				s.nom AS nomSource,
				s.description as descriptionSource,
				u.nom AS nomUtilisateur,
				u.prenom as prenomUtilisateur,
				tE.groupe,
				hE.ISMH ,
				hE.MH,
				date_format(hE.dateCreationEvenement,"' . _("%e/%m/%Y à %kh%i") . '") as dateCreationEvenement,
				hE.isDateDebutEnviron as isDateDebutEnviron,
				u.idUtilisateur as idUtilisateur,
				hE.numeroArchive as numeroArchive,
				ae.idAdresse,
				ha.idVille,
				ee.idEvenement as idEvenementGroupeAdresse

				FROM historiqueEvenement hE
				LEFT JOIN source s      ON s.idSource = hE.idSource
				LEFT JOIN typeStructure tS  ON tS.idTypeStructure = hE.idTypeStructure
				LEFT JOIN typeEvenement tE  ON tE.idTypeEvenement = hE.idTypeEvenement
				LEFT JOIN utilisateur u     ON u.idUtilisateur = hE.idUtilisateur

				LEFT JOIN _evenementEvenement ee on ee.idEvenementAssocie = hE.idEvenement
				LEFT JOIN _adresseEvenement ae on ae.idEvenement = ee.idEvenement
				LEFT JOIN historiqueAdresse ha on ha.idAdresse= ae.idAdresse

				WHERE hE.idHistoriqueEvenement=' . $idEvenement . '
				ORDER BY hE.idHistoriqueEvenement DESC';
        }
        $result = $this->connexionBdd->requete($requete);
        $fetch = mysql_fetch_assoc($result);
        $idEvenementGroupeAdresse = $fetch['idEvenementGroupeAdresse'];
        //History processing
        $requeteHistory = "SELECT idHistoriqueEvenement from historiqueEvenement where idEvenement = " . $idEvenement;
        $resultHistory = $this->connexionBdd->requete($requeteHistory);
        if (mysql_num_rows($resultHistory) > 1) {
            $txtEnvoi = "modifié";
        } else {
            $txtEnvoi = "envoyé";
        }
        $lienHistoriqueEvenementCourant = $this->creerUrl('', 'consultationHistoriqueEvenement', array('archiIdEvenement' => $idEvenement));
        $labelHistoriqueEvenement = '(Consulter l\'historique)';
        //Image processing
        $images = new archiImage();
        $arrayImagesVuesSurByDate = array();
        $imagesHTML = $images->afficherFromEvenement($idEvenement, array('withoutImagesVuesSurPrisesDepuis' => true, 'imagesVuesSurLinkedByDate' => $arrayImagesVuesSurByDate, 'idGroupeAdresseEvenementAffiche' => $idEvenementGroupeAdresse));
        if ($params['type'] == 'historique') {
            $req = "\n\t\t\t\t\t\t\t\tSELECT e.dateDebut, ae1.idAdresse\n\t\t\t\t\t\t\t\tFROM _adresseEvenement ae1,_adresseEvenement ae2\n\t\t\t\t\t\t\t\tLEFT JOIN historiqueEvenement e on e.idEvenement= ae2.idEvenement\n\t\t\t\t\t\t\t\tWHERE ae1.idAdresse= ae2.idAdresse\n\t\t\t\t\t\t\t\tAND e.idHistoriqueEvenement =" . $idEvenement . "\n\t\t\t\t\t\t\t\t\t\tORDER BY e.idEvenement DESC LIMIT 1\n\t\t\t\t\t\t\t\t\t";
        } else {
            $req = "\n\t\t\t\t\t\t\t\tSELECT e.dateDebut, ae1.idAdresse\n\t\t\t\t\t\t\t\tFROM _adresseEvenement ae1,_adresseEvenement ae2\n\t\t\t\t\t\t\t\tLEFT JOIN evenements e on e.idEvenement= ae2.idEvenement\n\t\t\t\t\t\t\t\tWHERE ae1.idAdresse= ae2.idAdresse\n\t\t\t\t\t\t\t\tAND ae1.idEvenement =" . $idEvenement . "\n\t\t\t\t\t\t\t\t\t\tORDER BY e.idEvenement DESC LIMIT 1\n\t\t\t\t\t\t\t\t\t";
        }
        $res = $this->connexionBdd->requete($req);
        $date2 = mysql_fetch_object($res);
        $idAdresse = $fetch['idAdresse'];
        $linkedEventsHTML = archiPersonne::displayEvenementsLies($idPerson, $dateDebut, $date2->dateDebut);
        //Personne processing
        if ($params['type'] == 'historique') {
            $rep = $this->connexionBdd->requete('
						SELECT  p.idPersonne, m.nom as metier, p.nom, p.prenom
						FROM _evenementPersonne _eP
						LEFT JOIN personne p ON p.idPersonne = _eP.idPersonne
						LEFT JOIN metier m ON m.idMetier = p.idMetier
						LEFT JOIN historiqueEvenement he on he.idEvenement = _eP.idEvenement
						WHERE he.idHistoriqueEvenement=' . $idEvenement . '
						ORDER BY p.nom DESC');
        } else {
            $rep = $this->connexionBdd->requete('
						SELECT  p.idPersonne, m.nom as metier, p.nom, p.prenom
						FROM _evenementPersonne _eP
						LEFT JOIN personne p ON p.idPersonne = _eP.idPersonne
						LEFT JOIN metier m ON m.idMetier = p.idMetier
						WHERE _eP.idEvenement=' . $idEvenement . '
						ORDER BY p.nom DESC');
        }
        $metier = "";
        $arrayPersonne = array();
        while ($res = mysql_fetch_object($rep)) {
            $personne = array();
            if (isset($res->metier) && $res->metier != '') {
                $metier = $res->metier . ' : ';
            }
            $arrayPersonne[] = array('evenement.pers', array('urlDetail' => $this->creerUrl('', 'personne', array('idPersonne' => $res->idPersonne)), 'urlEvenement' => $this->creerUrl('', 'evenementListe', array('selection' => 'personne', 'id' => $res->idPersonne)), 'nom' => ucfirst(stripslashes($res->nom)), 'prenom' => ucfirst(stripslashes($res->prenom)), 'metier' => ucfirst(stripslashes($metier)), 'idPerson' => $res->idPersonne, 'idEvent' => $idEvenement));
        }
        /*
         *  COURANTS ARCHI
         */
        $rep = $this->connexionBdd->requete('
						SELECT  cA.idCourantArchitectural, cA.nom
						FROM _evenementCourantArchitectural _eA
						LEFT JOIN courantArchitectural cA  ON cA.idCourantArchitectural  = _eA.idCourantArchitectural
						WHERE _eA.idEvenement=' . $idEvenement . '
						ORDER BY cA.nom ASC');
        $arrayCourantArchi = array();
        if (mysql_num_rows($rep) > 0) {
            $arrayCourantArchi[] = array('evenement.isCourantArchi', array());
            while ($res = mysql_fetch_object($rep)) {
                $arrayCourantArchi[] = array('evenement.isCourantArchi.archi', array('url' => $this->creerUrl('', 'evenementListe', array('selection' => 'courant', 'id' => $res->idCourantArchitectural)), 'nom' => $res->nom));
            }
        }
        //Commentaires
        $formulaireCommentaire = $this->getFormComment($idEvenement, $this->getCommentairesFields('evenement'), 'evenement');
        $listeCommentaires = $this->getListCommentairesEvenements($idEvenement);
        //Adresses liees processing
        $adressesLieesHTML = $this->getAdressesLieesAEvenement(array('modeRetour' => 'affichageSurDetailEvenement', 'idEvenement' => $idEvenementGroupeAdresse));
        if ($adressesLieesHTML != '') {
            $adressesLieesHTML = "<b>" . _("Liste des adresses liées :") . "</b> <br>" . $adressesLieesHTML;
        }
        //Date processing
        $dateTxt = $this->getDateAsString($fetch);
        if (!empty($fetch['description']) && $fetch['description'] != '') {
            //Description processing : BBCode parsing
            $bbCode = new bbCodeObject();
            $description = $bbCode->convertToDisplay(array('text' => $fetch['description'], 'idEvenement' => $idEvenement));
            $description = empty($description) ? "" : "<div itemprop='description' class='desc'>" . $description . "</div>";
        }
        //User
        $idUtilisateur = $fetch['idUtilisateur'];
        $utilisateur = "<a href='" . $this->creerUrl('', 'detailProfilPublique', array('archiIdUtilisateur' => $idUtilisateur, 'archiIdEvenementGroupeAdresseOrigine' => $idEvenementGroupeAdresse)) . "'>" . $fetch['prenomUtilisateur'] . " " . $fetch['nomUtilisateur'] . "</a>";
        //Event type
        $urlTypeEvenement = $this->creerUrl('', 'evenementListe', array('selection' => 'typeEvenement', 'id' => $fetch['idTypeEvenement']));
        $nomTypeEvenement = $fetch['nomTypeEvenement'];
        $lienTypeEvenement = "<a href={$urlTypeEvenement}>{$nomTypeEvenement}</a>";
        //Structure type
        $urlTypeStructure = $this->creerUrl('', 'listeStructure', array('idTypeStructure' => $fetch['idTypeStructure']));
        $nomTypeStructure = $fetch['nomTypeStructure'];
        $typeStructure = "<a href=\"{$urlTypeStructure}\">{$nomTypeStructure}</a> ";
        //Source
        $source = "";
        if (isset($fetch['nomSource']) && $fetch['nomSource'] != '') {
            $source = "Source : <a href='" . $this->creerUrl('', 'listeAdressesFromSource', array('source' => $fetch['idSource'], 'submit' => 'Rechercher')) . "' onmouseover=\"document.getElementById('calqueDescriptionSource').style.top=(getScrollHeight()+150)+'px';\n\t\t\t\t\t\t\tdocument.getElementById('calqueDescriptionSource').style.display='block';\n\t\t\t\t\t\t\tdocument.getElementById('iframe').src='" . $this->creerUrl('', 'descriptionSource', array('archiIdSource' => $fetch['idSource'], 'noHeaderNoFooter' => 1)) . "';\"\n\t\t\t\t\t\t\t\t\t>" . stripslashes($fetch['nomSource']) . "\n\t\t\t\t\t</a><br>";
        }
        //Info used for menu display
        $cityId = $fetch['idVille'];
        $isModerateur = true;
        $isAdmin = true;
        $u = new archiUtilisateur();
        $userId = $authentification->getIdUtilisateur();
        $urlProfilPic = $u->getImageAvatar(array('idUtilisateur' => $idUtilisateur));
        $isModerateur = $u->isModerateurFromVille($userId, $cityId, 'idVille');
        $isAdmin = $u->getIdProfil($userId) == '4';
        $urlMenuAction = array('ajouterImage' => $this->creerUrl('', 'ajoutImageEvenement', array('archiIdEvenement' => $idEvenement)), 'modifierImage' => $this->creerUrl('', 'modifierImageEvenement', array('archiIdEvenement' => $idEvenement)), 'modifierEvenement' => $this->creerUrl('', 'modifierEvenement', array('archiIdEvenement' => $idEvenement, 'archiIdEvenementGroupeAdresse' => $fetch['idEvenementGroupeAdresse'], 'archiIdAdresse' => $fetch['idAdresse'])), 'supprimerEvenement' => $this->creerUrl('supprimerEvenement', '', array('archiIdEvenement' => $idEvenement)), 'urlImporterImage' => "#", 'onClickImporterImage' => "document.getElementById('formulaireEvenement').action='" . $this->creerUrl('deplacerImagesSelectionnees', 'evenement', array('idEvenement' => $idEvenement)) . "&deplacerVersIdEvenement=" . $res->idEvenement . "';document.getElementById('actionFormulaireEvenement').value='deplacerImages';if(confirm('Voulez-vous vraiment déplacer ces images ?')){document.getElementById('formulaireEvenement').submit();}", 'onClickSupprimerImage' => "document.getElementById('formulaireEvenement').action='" . $this->creerUrl('supprimerImagesSelectionnees', 'evenement', array('idEvenement' => $idEvenement)) . "';document.getElementById('actionFormulaireEvenement').value='supprimerImages';if(confirm('Voulez-vous vraiment supprimer ces images ?')){document.getElementById('formulaireEvenement').submit();}", 'lierAdresse' => $this->creerUrl('', 'afficheFormulaireEvenementAdresseLiee', array('idEvenement' => $idEvenement)), 'versAdresse' => $this->creerUrl('deplacerEvenementVersNouveauGA', 'evenement', array('idEvenement' => $idEvenement)), 'plusCreer' => $this->creerUrl('deplacerEvenementVersNouveauGA', 'evenement', array('idEvenement' => $idEvenement)));
        $numeroArchive = "";
        if ($fetch['numeroArchive'] != '') {
            // modif fabien du 15/04/2011 suite mail directrice Archives de Strasbourg Mme Perry Laurence
            $numeroArchive = "Cote Archives de Strasbourg : " . $fetch['numeroArchive'] . "";
        }
        // si on est en mode de deplacement d'image
        // ou de selection de titre
        // on rajoute le formulaire sur la page
        if ($authentification->estConnecte() && (isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1' || isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1')) {
            $arrayFormEvenement = array('formEvenement', array());
        }
        /*
         * Template filling
         */
        //Unset some stuff for historic
        if ($params['type'] == 'historique') {
            unset($listeCommentaires);
            unset($formulaireCommentaire);
            unset($lienHistoriqueEvenementCourant);
            unset($labelHistoriqueEvenement);
        }
        $evenementData = array('titre' => stripslashes($fetch['titre']), 'infoTitre' => $utilisateur . " a " . $txtEnvoi . " un événement", 'txtEnvoi' => $txtEnvoi . " le", 'utilisateur' => $fetch['prenomUtilisateur'] . ' ' . $fetch['nomUtilisateur'], 'urlProfilPic' => $urlProfilPic, 'dateEnvoi' => $fetch['dateCreationEvenement'], 'lienHistoriqueEvenementCourant' => $lienHistoriqueEvenementCourant, 'labelLienHistorique' => $labelHistoriqueEvenement, 'dates' => $dateTxt, 'source' => $source, 'labelStructure' => "Structure  : ", 'typeStructure' => $typeStructure, 'labelTypeEvenement' => 'Type d\'Événement : ', 'urlTypeEvenement' => $this->creerUrl('', 'evenementListe', array('selection' => 'typeEvenement', 'id' => $fetch['idTypeEvenement'])), 'lienTypeEvenement' => $lienTypeEvenement, 'typeEvenement' => $fetch['nomTypeEvenement'], 'numeroArchive' => $numeroArchive, 'description' => $description, 'imagesLiees' => $imagesHTML, 'evenementsParents' => '', 'listeAdressesLiees' => $adressesLieesHTML, 'evenementsLiesPersonne' => $linkedEventsHTML, 'idEvenement' => $idEvenement, 'listeCommentaireEvenement' => $listeCommentaires, 'formulaireCommentaireEvenement' => $formulaireCommentaire);
        //}//End while($fetch = mysql_fetch_assoc($result))
        $evenements[] = $evenementData;
        /*
         * Useless now, but might be need futher if
         *	this function is reused and should not display menu action
         */
        $afficherMenu = $authentification->estConnecte();
        $allowSuppressImage = false;
        //Set to false now, image suppression isn't implemented
        if ($params['type'] == 'historique') {
            $afficherMenu = false;
        }
        $menuArray = array();
        if ($afficherMenu) {
            $menuArray[] = array('evenement.menuAction', array());
            $menuArray[] = array('evenement.menuAction.rowName', array('actionName' => 'Ajouter', 'urlAction' => $urlMenuAction['ajouterImage'], 'actionTarget' => 'Image'));
            $menuArray[] = array('evenement.menuAction.rowName', array('actionName' => 'Modifier', 'urlAction' => $urlMenuAction['modifierImage'], 'actionTarget' => 'Image'));
            $menuArray[] = array('evenement.menuAction.rowName.secondAction', array('urlAction' => $urlMenuAction['modifierEvenement'], 'actionTarget' => 'Événement'));
        }
        if ($isModerateur || $isAdmin) {
            $menuArray[] = array('evenement.menuAction.rowName', array('actionName' => 'Supprimer', 'urlAction' => '#', 'actionTarget' => 'Événement'));
            $menuArray[] = array('evenement.menuAction.rowName.confirmMessage', array('message' => 'Voulez vous vraiment supprimer cet événement ?', 'url' => $urlMenuAction['supprimerEvenement']));
            if ($isAdmin && $allowSuppressImage) {
                $menuArray[] = array('evenement.menuAction.rowName.secondAction', array('urlAction' => '#', 'actionTarget' => 'Image'));
                $menuArray[] = array('evenement.menuAction.rowName.secondAction.confirmMessage', array('message' => 'Voulez vous vraiment supprimer cette image ?', 'url' => $urlMenuAction['onClickSupprimerImage']));
            }
            if ($isAdmin) {
                $menuArray[] = array('evenement.menuAction.rowName', array('actionName' => 'Lier', 'urlAction' => $urlMenuAction['lierAdresse'], 'actionTarget' => 'Adresses'));
                $menuArray[] = array('evenement.menuAction.rowName', array('actionName' => 'Déplacer', 'urlAction' => $urlMenuAction['versAdresse'], 'actionTarget' => 'Vers adresse'));
                $menuArray[] = array('evenement.menuAction.rowName.secondAction', array('urlAction' => $urlMenuAction['plusCreer'], 'actionTarget' => '+Créer'));
            }
        }
        return array('evenementData' => $evenementData, 'menuArray' => $menuArray, 'arrayPersonne' => $arrayPersonne, 'arrayFormEvent' => $arrayFormEvenement, 'arrayCourantArchi' => $arrayCourantArchi);
    }
 /**
  * Get the last news
  * @param unknown $params
  * @return string html of the last news encarts
  */
 public function getActualites($params = array())
 {
     $tActualites = new Template($this->getCheminPhysique() . $this->cheminTemplates);
     $tActualites->set_filenames(array('encartActualites' => 'encartAccueil.tpl'));
     $tActualites->assign_vars(array('titre' => _("Actualités"), "type" => "actualites"));
     $i = 0;
     if (count($params['actualites']) > 0) {
         $tActualites->assign_vars(array('lienVersTout' => "<a href='" . $this->creerUrl('', 'toutesLesActualites', array()) . "'>" . _("Toutes les actualités") . "</a>"));
     }
     // s'il y a un parcours plus récent que la derniere actu ,  on affiche le parcours comme une actualité ( ...je sais mais bon ,  va comprendre....)
     $reqDateDerniereActualite = "SELECT max(date) as maxDate FROM actualites WHERE desactive<>'1'";
     $resDateDerniereActualite = $this->connexionBdd->requete($reqDateDerniereActualite);
     $indiceGlobalNbActu = 0;
     $isParcoursToDisplay = false;
     // est ce que l'on va afficher un parcours plutot qu'une actu en place principale sur l'encars des actus
     if (mysql_num_rows($resDateDerniereActualite) > 0) {
         $fetchDateDerniereActualite = mysql_fetch_assoc($resDateDerniereActualite);
         $dateActu = $fetchDateDerniereActualite['maxDate'];
         // voyons maintenant s'il y a un parcours ajouté actif plus recent
         $reqParcoursActif = "SELECT idParcours,  dateAjoutParcours, libelleParcours, commentaireParcours FROM parcoursArt WHERE dateAjoutParcours>'" . $dateActu . "' AND isActif='1' ORDER BY dateAjoutParcours DESC,  idParcours DESC LIMIT 1";
         $resParcoursActif = $this->connexionBdd->requete($reqParcoursActif);
         if (mysql_num_rows($resParcoursActif) > 0) {
             $isParcoursToDisplay = true;
             $fetchParcoursActif = mysql_fetch_assoc($resParcoursActif);
             // recuperation d'une photo appartenant a une adresse du parcours (en principe dans le meilleur des cas la premiere photo de la premiere etape)
             $reqEtapes = "SELECT idEtape, commentaireEtape FROM etapesParcoursArt WHERE idParcours = '" . $fetchParcoursActif['idParcours'] . "'";
             $resEtapes = $this->connexionBdd->requete($reqEtapes);
             if (mysql_num_rows($resEtapes) > 0) {
                 $trouvePhoto = false;
                 while (!$trouvePhoto && ($fetchEtape = mysql_fetch_assoc($resEtapes))) {
                     $arrayPhoto = $adresse->getPhotoFromEtape(array('idEtape' => $fetchEtape['idEtape'], 'format' => 'moyen'));
                     $trouvePhoto = $arrayPhoto['trouve'];
                 }
                 mysql_data_seek($resEtapes, 0);
                 $commentaire = "";
                 if ($fetchParcoursActif['commentaireParcours'] != '') {
                     $bbCode = new bbCodeObject();
                     $trouveCommentaire = true;
                     $commentaire = $bbCode->convertToDisplay(array('text' => $fetchParcoursActif['commentaireParcours']));
                 } else {
                     $trouveCommentaire = false;
                 }
                 while (!$trouveCommentaire && ($fetchEtape = mysql_fetch_assoc($resEtapes))) {
                     if ($fetchEtape['commentaireEtape'] != '') {
                         $trouveCommentaire = true;
                         $commentaire = $fetchEtape['commentaireEtape'];
                     }
                 }
                 if ($trouvePhoto) {
                     $s = new stringObject();
                     // si une photo pour le dernier parcours a ete trouvee ,  alors on affiche le parcours en actu principale
                     $i = 1;
                     // pour que la boucle des actus commence a 1 et ne remplace pas l'actu principale
                     $indiceGlobalNbActu = 1;
                     // pour que l'on affiche pas la derniere actu ramenee par la fonction sinon il y en aurait une de plus que dans les autres encars
                     $urlImage = $arrayPhoto['url'];
                     $url = $this->creerUrl('', 'detailParcours', array('archiIdParcours' => $fetchParcoursActif['idParcours']));
                     $dimensionImage = "";
                     $tActualites->assign_block_vars("premiereAdresseAvecPhoto", array());
                     $tActualites->assign_vars(array("photoAdresse1" => "<a href='" . $url . "'><img alt='' style='border:1px #000000 solid;margin-right:2px;float:left;'  src='" . $urlImage . "' {$dimensionImage} ></a>", "descriptionAdresse1" => "<a href='" . $url . "'>" . $d->toFrenchAffichage($fetchParcoursActif['dateAjoutParcours']) . " " . stripslashes($fetchParcoursActif['libelleParcours']) . "</a><br>" . $s->coupureTexte($s->sansBalisesHtml(stripslashes($commentaire)), 10) . "<br>" . mysql_num_rows($resEtapes) . " étapes... <a href='" . $url . "' style='font-size:11px;'>lire la suite</a>"));
                 }
             }
         }
     }
     foreach ($params['actualites'] as $indice => $value) {
         if ($indiceGlobalNbActu < 5) {
             if ($i == 0) {
                 // premiere actualite
                 @(list($w, $h) = getimagesize($this->getCheminPhysique() . "images/actualites/" . $value['idActualite'] . "/" . $value['photoIllustration']));
                 if ($w > $h) {
                     $dimensionImage = "width=130";
                     // modif par fabien pour que l'image soit au même format que les autres rubriques (01/02/2013)
                 } else {
                     $dimensionImage = "height=130";
                 }
                 $urlImage = $this->getUrlRacine() . "images/actualites/" . $value['idActualite'] . "/" . $value['photoIllustration'];
                 if ($value['urlFichier'] != '') {
                     $url = $value['urlFichier'];
                 } else {
                     $url = $this->creerUrl('', 'afficherActualite', array('archiIdActualite' => $value['idActualite']));
                 }
                 $tActualites->assign_block_vars("premiereAdresseAvecPhoto", array());
                 $tActualites->assign_vars(array("photoAdresse1" => "<a href='" . $url . "'><img alt='' style='border:1px #000000 solid;margin-right:2px;float:left;' src='" . $urlImage . "' {$dimensionImage}></a>", "descriptionAdresse1" => "<a href='" . $url . "'>" . $d->toFrenchAffichage($value['date']) . " " . stripslashes($value['titre']) . "</a><br>" . stripslashes($string->coupureTexte($string->sansBalisesHtml($value['texte']), 20)) . " <a href='" . $url . "' style='font-size:11px;'>lire la suite</a>"));
             } else {
                 if ($value['urlFichier'] != '') {
                     $url = $value['urlFichier'];
                 } else {
                     $url = $this->creerUrl('', 'afficherActualite', array('archiIdActualite' => $value['idActualite']));
                 }
                 // by fabien le 23/03/2012 : ajout de stripslashes pour virer les \ sur la page d'acceuil
                 $tActualites->assign_block_vars('listeAdressesSuivantes', array('lien' => "<a style='font-size:12px;' href='" . $url . "'><span class='date'>" . $d->toFrenchAffichage($value['date']) . "</span> " . stripslashes($value['titre']) . "</a>"));
             }
             $i++;
         }
         $indiceGlobalNbActu++;
     }
     ob_start();
     $tActualites->pparse('encartActualites');
     $htmlActualites = ob_get_contents();
     ob_end_clean();
     return $htmlActualites;
 }
 private function getUserFormMail($idUtilisateur)
 {
     $infosArray = $this->getArrayInfosFromUtilisateur($idUtilisateur);
     $mail = new mailObject();
     if ($infosArray['displayProfilContactForm'] == '1' && $infosArray['mail'] != '' && $mail->isMail($infosArray['mail'])) {
         $authentification = new archiAuthentification();
         $mailUtilisateurConnecte = "";
         if ($authentification->estConnecte()) {
             $idUtilisateurConnecte = $authentification->getIdUtilisateur();
             $mailUtilisateurConnecte = $this->getMailUtilisateur($idUtilisateurConnecte);
             if (!$mail->isMail($mailUtilisateurConnecte)) {
                 $mailUtilisateurConnecte = "";
             }
         }
         $f = new formGenerator();
         $bb = new bbCodeObject();
         $configBoutonsBBCode = array('formName' => 'messagePrive', 'fieldName' => 'message', 'noUrlInterneButton' => true);
         $help = $this->getHelpMessages('helpEvenement');
         foreach ($help as $index => $value) {
             $configBoutonsBBCode[$index] = $value;
         }
         $configBoutonsBBCode["msgQuote"] = "Selectionnez une partie de votre texte pour le mettre entre quotes";
         $configBoutonsBBCode["msgUrlExterne"] = "Tapez une url commencant par http:// ,  et selectionnez la pour en faire un lien";
         $arrayBBCode = $bb->getBoutonsMiseEnFormeTextArea($configBoutonsBBCode);
         if ($authentification->estConnecte()) {
             $configFieldsContact = array('idUtilisateurDestinataire' => array('type' => 'hidden', 'value' => '', 'forceValueTo' => $idUtilisateur, 'htmlCode' => '', 'default' => '', 'error' => '', 'required' => true), 'mailEnvoyeur' => array('type' => 'email', 'value' => '', 'forceValueTo' => $mailUtilisateurConnecte, 'htmlCode' => '', 'default' => '', 'libelle' => 'Votre mail', 'error' => '', 'required' => true), 'message' => array('type' => 'bigText', 'value' => '', 'htmlCode' => "style='width:400px;height:100px;'", 'default' => '', 'libelle' => 'Votre message', 'error' => '', 'required' => true, 'htmlCodeBeforeField' => $arrayBBCode['boutonsHTML']));
         } else {
             $configFieldsContact = array('idUtilisateurDestinataire' => array('type' => 'hidden', 'value' => '', 'forceValueTo' => $idUtilisateur, 'htmlCode' => '', 'default' => '', 'error' => '', 'required' => true), 'mailEnvoyeur' => array('type' => 'email', 'value' => '', 'forceValueTo' => $mailUtilisateurConnecte, 'htmlCode' => '', 'default' => '', 'libelle' => 'Votre mail', 'error' => '', 'required' => true), 'message' => array('type' => 'bigText', 'value' => '', 'htmlCode' => "style='width:400px;height:100px;'", 'default' => '', 'libelle' => 'Votre message', 'error' => '', 'required' => true, 'htmlCodeBeforeField' => $arrayBBCode['boutonsHTML']), 'captcha' => array('type' => 'captcha', 'value' => '', 'htmlCode' => "", 'default' => '', 'libelle' => 'Vérification', 'error' => '', 'required' => true));
         }
         if (isset($this->variablesPost['message'])) {
             $errors = $f->getArrayFromPost($configFieldsContact);
             $complementMsgVisiteAdresse = "";
             if (isset($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']) && $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'] != '') {
                 // recuperation de l'intitule de l'adresse
                 $adresse = new archiAdresse();
                 $idAdresseMessage = $adresse->getIdAdresseFromIdEvenementGroupeAdresse($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']);
                 $intituleAdresse = $adresse->getIntituleAdresseFrom($this->variablesGet['archiIdEvenementGroupeAdresseOrigine'], 'idEvenementGroupeAdresse', array('ifTitreAfficheTitreSeulement' => true, 'noQuartier' => true, 'noSousQuartier' => true, 'noVille' => true));
                 $complementMsgVisiteAdresse = " à visité l'adresse <a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresseMessage, 'archiIdEvenementGroupeAdresse' => $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'])) . "'>" . $intituleAdresse . "</a> et";
             }
             if (count($errors) == 0) {
                 // envoi du mail
                 $contenu = "Bonjour, <br><br>";
                 $contenu .= "Un utilisateur d'archi-strasbourg (<a href=\"mailto:" . $this->variablesPost['mailEnvoyeur'] . "\">" . $this->variablesPost['mailEnvoyeur'] . "</a>){$complementMsgVisiteAdresse} vous envoie un message privé :<br><br>";
                 $contenu .= stripslashes($bb->convertToDisplay(array('text' => $this->variablesPost['message'])));
                 $contenu .= "";
                 $contenu .= "";
                 if ($mail->sendMail($this->siteMail, $infosArray['mail'], "Un utilisateur d'archi-strasbourg vous envoie un message", $contenu, $writeMailToLogs = false, $this->variablesPost['mailEnvoyeur'])) {
                     echo "<span style='color:red;'>Mail envoyé.</span>";
                 }
             }
         }
         $arrayUrlViensDeAdresse = array();
         if (isset($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']) && $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'] != '') {
             $arrayUrlViensDeAdresse = array('archiIdEvenementGroupeAdresseOrigine' => $this->variablesGet['archiIdEvenementGroupeAdresseOrigine']);
         }
         $configForm = array('formAction' => $this->creerUrl('', 'detailProfilPublique', array_merge($arrayUrlViensDeAdresse, array('archiIdUtilisateur' => $idUtilisateur))), 'fields' => $configFieldsContact, 'formName' => 'messagePrive', 'codeHtmlInFormAfterFields' => "Prévisualisation :" . $arrayBBCode['divAndJsAfterForm']);
         $html .= "<br><br><h2>Lui envoyer un message personnel :</h2>";
         $html .= $f->afficherFromArray($configForm);
     }
     return $html;
 }
 /**
  * Affiche la liste des sources avec des miniatures
  * 
  * @param array $params Paramètres
  * 
  * @return string HTML
  * */
 public function afficherListeSourcesAvecLogos($params = array())
 {
     $s = new stringObject();
     $bbCode = new bbCodeObject();
     $html = "<h1>" . _("Nos sources") . "</h1><br>";
     $html .= "<br>" . _("Pour assurer la crédibilité des informations renseignées par chaque internaute, nous vous livrons ici, de façon exhaustive et en toute transparence l'ensemble des sources qui sont consultées pour enrichir le site :") . "<br><br>";
     $reqCount = "SELECT 0 FROM source";
     $resCount = $this->connexionBdd->requete($reqCount);
     $nbSourcesTotal = mysql_num_rows($resCount);
     $nbEnregistrementsParPage = 15;
     $pagination = new paginationObject();
     $arrayPagination = $pagination->pagination(array('nomParamPageCourante' => 'archiPageNosSources', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbSourcesTotal, 'typeLiens' => 'noformulaire'));
     $reqArchivesMunicipalesSansIdSourceEvenement = "\n                SELECT distinct he.idEvenement FROM historiqueEvenement he, historiqueEvenement he2 WHERE he2.idEvenement=he.idEvenement AND he.numeroArchive<>'' AND (he.idSource = '0' OR he.idSource = '')\n                GROUP BY he.idEvenement,  he.idHistoriqueEvenement\n                HAVING he.idHistoriqueEvenement = max(he2.idHistoriqueEvenement)\n                ";
     $resArchivesMunicipalesSansIdSourceEvenement = $this->connexionBdd->requete($reqArchivesMunicipalesSansIdSourceEvenement);
     $nbEvenementsSansIdSourceANDArchivesMunicipales = mysql_num_rows($resArchivesMunicipalesSansIdSourceEvenement);
     $reqArchivesMunicipalesSansIdSourceImage = "\n                SELECT distinct hi.idImage FROM historiqueImage hi,  historiqueImage hi2 WHERE hi2.idImage = hi.idImage AND hi.numeroArchive<>'' AND (hi.idSource='0' OR hi.idSource='')\n                GROUP BY hi.idImage ,  hi.idHistoriqueImage\n                HAVING hi.idHistoriqueImage = max(hi2.idHistoriqueImage)\n                ";
     $resArchivesMunicipalesSansIdSourceImage = $this->connexionBdd->requete($reqArchivesMunicipalesSansIdSourceImage);
     $nbImagesSansIdSourceANDArchivesMunicipales = mysql_num_rows($resArchivesMunicipalesSansIdSourceImage);
     $nbArchivesMunicipalesSansIdSource = $nbEvenementsSansIdSourceANDArchivesMunicipales + $nbImagesSansIdSourceANDArchivesMunicipales;
     $req = "\n            SELECT idSource ,  \n            (\n                (SELECT count(distinct he.idEvenement)  FROM historiqueEvenement he WHERE he.idSource = s.idSource )\n            + \n                (SELECT count(distinct hi.idImage) FROM historiqueImage hi WHERE hi.idSource = s.idSource)\n            + if (idSource=24, {$nbArchivesMunicipalesSansIdSource}, 0)\n            ) \n            as sumnb\n            FROM source s\n            ORDER BY sumnb DESC\n        ";
     $req = $pagination->addLimitToQuery($req);
     $res = $this->connexionBdd->requete($req);
     $t = new tableau();
     $t->addValue("");
     $t->addValue("<b>" . _("Sources") . "</b>");
     $t->addValue("<b><span style='font-size:12px;'>" . _("Nombre de liaisons (articles ou photos)") . "</span></b>");
     while ($fetch = mysql_fetch_assoc($res)) {
         $reqSource = "\n                    SELECT s.idSource as idSource,  s.nom as nomSource ,  ts.nom as nomTypeSource,  s.description as description\n                    FROM source s\n                    LEFT JOIN typeSource ts ON ts.idTypeSource = s.idTypeSource\n                    WHERE idSource = '" . $fetch['idSource'] . "'\n                    ";
         $resSource = $this->connexionBdd->requete($reqSource);
         $fetchSource = mysql_fetch_assoc($resSource);
         $image = "&nbsp;";
         $url = $this->creerUrl('', 'listeAdressesFromSource', array('source' => $fetch['idSource'], 'submit' => 'Rechercher'));
         if (file_exists($this->getCheminPhysique() . "images/logosSources/" . $fetch['idSource'] . ".jpg")) {
             $image = "<a href='" . $url . "'><img src='" . $this->getUrlImage() . "logosSources/" . $fetch['idSource'] . ".jpg' border=0></a>";
         }
         $nomTypeSource = "";
         if (isset($fetchSource['nomTypeSource']) && $fetchSource['nomTypeSource'] != '') {
             $nomTypeSource = " (" . $fetchSource['nomTypeSource'] . ")";
         }
         $description = $s->coupureTexte(strip_tags($bbCode->convertToDisplay(array('text' => stripslashes($fetchSource['description'])))), 10);
         $t->addValue($image, "style='width:200px;'");
         $t->addValue("<a href='" . $url . "'>" . stripslashes($fetchSource['nomSource']) . $nomTypeSource . "</a><br>" . $description);
         $t->addValue($fetch['sumnb']);
     }
     $html .= $arrayPagination['html'];
     $html .= $t->createHtmlTableFromArray(3);
     $html .= $arrayPagination['html'];
     return $html;
 }
 public function afficheFormulaireListe($parametres = array(), $liaisonsExternes = array(), $dependances = array())
 {
     $html = "";
     $date = new dateObject();
     $this->fields = array();
     // on recupere la liste des champs de la table
     $resListFieldsFromTable = $this->connexionBdd->requete("SHOW COLUMNS FROM " . $parametres['tableName'] . ";");
     $sqlWhere = "";
     if (isset($parametres['sqlWhere'])) {
         $sqlWhere = $parametres['sqlWhere'];
     }
     if (isset($parametres['displayWithBBCode']) && $parametres['displayWithBBCode'] == true) {
         $bbCode = new bbCodeObject();
     }
     $stringListeFields = "";
     $champsDeRecherche = array();
     // fabrication de la liste des champs
     if (mysql_num_rows($resListFieldsFromTable) > 0) {
         while ($fetchFields = mysql_fetch_assoc($resListFieldsFromTable)) {
             $isPrimaryKey = false;
             if ($fetchFields['Key'] == 'PRI') {
                 $isPrimaryKey = true;
             }
             $type = "";
             if (preg_match("/int/i", $fetchFields['Type'])) {
                 $type = 'entier';
             } elseif (preg_match("/varchar/i", $fetchFields['Type']) || preg_match("/longtext/i", $fetchFields['Type'])) {
                 $type = 'text';
                 $champsDeRecherche[] = "lower(" . $parametres['tableName'] . "." . $fetchFields['Field'] . ")";
             } elseif (preg_match("/date/i", $fetchFields['Type'])) {
                 $type = 'date';
                 $champsDeRecherche[] = "lower(" . $parametres['tableName'] . "." . $fetchFields['Field'] . ")";
             }
             $configChamp = array('name' => $fetchFields['Field'], 'isPrimaryKey' => $isPrimaryKey, 'type' => $type);
             if (isset($liaisonsExternes[$fetchFields['Field']])) {
                 $this->fields[] = array_merge($configChamp, $liaisonsExternes[$fetchFields['Field']]);
             } else {
                 $this->fields[] = $configChamp;
             }
             $stringListeFields .= $parametres['tableName'] . "." . $fetchFields['Field'] . ", ";
         }
     } else {
         echo "formGenerator :: il n'y a pas de champs pour cette table.<br>";
     }
     // ajout des champs configurés comme leftJoin
     $sqlLeftJoin = "";
     foreach ($liaisonsExternes as $nomChamps => $configLiaisonExterne) {
         if (isset($configLiaisonExterne['externalLeftJoin']) && $configLiaisonExterne['externalLeftJoin'] == true) {
             $sqlLeftJoin .= " " . $configLiaisonExterne['sqlLeftJoin'] . " ";
             $this->fields[] = array("name" => $nomChamps, "externalLeftJoin" => true, "fieldToDisplay" => $configLiaisonExterne['fieldToDisplay']);
             $stringListeFields .= $configLiaisonExterne['fieldAliasToDisplay'] . ", ";
         }
     }
     // affichage des données dans un tableau avec pagination
     if (count($this->fields) > 0) {
         $sqlRecherche = "";
         $objetDeLaRecherche = "";
         // gestion de la recherche
         if (isset($this->variablesPost['validationFormulaireAdministration']) && $this->variablesPost['validationFormulaireAdministration'] == 'rechercheAdministration') {
             $sqlRecherche = " AND LOWER(CONCAT_WS(' ', " . implode(", ", $champsDeRecherche) . ")) LIKE \"%" . mysql_real_escape_string($this->variablesPost['rechercheFormulaireAdministration']) . "%\" ";
             $objetDeLaRecherche = $this->variablesPost['rechercheFormulaireAdministration'];
         } elseif (isset($this->variablesPost['validationFormulaireAdministration']) && $this->variablesPost['validationFormulaireAdministration'] == 'suppression') {
             // gestion de la suppression
             if (isset($this->variablesPost['selection']) && count($this->variablesPost['selection']) > 0) {
                 // recherche du nom de champ identifiant
                 foreach ($this->fields as $field) {
                     if ($field['isPrimaryKey'] == true) {
                         $champIdentifiant = $field['name'];
                     }
                 }
                 // on verifie les dependances
                 $erreurObj = new objetErreur();
                 if (count($dependances) > 0) {
                     foreach ($dependances as $indice => $dependance) {
                         $reqVerifDependance = "SELECT * FROM " . $dependance['table'] . " WHERE " . $dependance['champLie'] . " in (" . implode(", ", $this->variablesPost['selection']) . ")";
                         $resVerifDependance = $this->connexionBdd->requete($reqVerifDependance);
                         if (mysql_num_rows($resVerifDependance) > 0) {
                             $erreurObj->ajouter($dependance['message']);
                         }
                     }
                     if ($erreurObj->getNbErreurs() > 0) {
                         $erreurObj->ajouter("La suppression n'a pu être effectuée,  veuillez contacter l'administrateur de la base de données");
                     }
                     $html .= $erreurObj->afficher();
                 }
                 if ($erreurObj->getNbErreurs() == 0) {
                     $reqDelete = "delete from " . $parametres['tableName'] . " where " . $champIdentifiant . " in (" . implode(", ", $this->variablesPost['selection']) . ")";
                     $resDelete = $this->connexionBdd->requete($reqDelete);
                     echo "suppression effectuée<br>";
                 }
             }
         }
         $stringListeFields = pia_substr($stringListeFields, 0, -2);
         $reqNbLignesListe = "select 0 from " . $parametres['tableName'] . " " . $sqlLeftJoin . " WHERE 1=1 " . $sqlWhere . " " . $sqlRecherche;
         $resNbLignesListe = $this->connexionBdd->requete($reqNbLignesListe);
         $nbLignesTotales = mysql_num_rows($resNbLignesListe);
         $html .= 'Edition de la table : ' . $parametres['tableName'] . "<br>";
         $html .= "Il y a " . $nbLignesTotales . " enregistrements<br>";
         // nombre d'images affichées sur une page
         $nbEnregistrementsParPage = 20;
         $arrayPagination = $this->pagination(array('nomParamPageCourante' => 'pageCourantePagination', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbLignesTotales, 'typeLiens' => 'formulaire', 'idFormulaire' => 'formListe', 'champPageCourante' => 'pageCourantePagination', 'nomChampActionFormulaireOnSubmit' => 'validationFormulaireAdministration', 'nomActionFormulaireOnSubmit' => 'rechercheAdministration'));
         $reqListe = "SELECT " . $stringListeFields . " FROM " . $parametres['tableName'] . " " . $sqlLeftJoin . " WHERE 1=1 " . $sqlWhere . " " . $sqlRecherche . " LIMIT " . $arrayPagination['limitSqlDebut'] . ", " . $nbEnregistrementsParPage;
         $resListe = $this->connexionBdd->requete($reqListe);
         $actionForm = "";
         if (isset($parametres['actionAffichageFormulaireIfSubmit']) && $parametres['actionAffichageFormulaireIfSubmit'] != '') {
             $actionForm = "action='" . $parametres['actionAffichageFormulaireIfSubmit'] . "'";
         }
         $html .= "<form name='formListe' " . $actionForm . " id='formListe' enctype='multipart/form-data' method='POST'>";
         $html .= "Recherche : <input type='text' name='rechercheFormulaireAdministration' id='rechercheFormulaireAdministration' value='" . $objetDeLaRecherche . "'>";
         $html .= "<input type='submit' onclick=\"document.getElementById('validationFormulaireAdministration').value='rechercheAdministration';\"><br>";
         $html .= $arrayPagination['html'] . '<br>';
         $html .= "<input type='hidden' name='pageCourantePagination' id='pageCourantePagination' value=''>";
         $html .= "<input type='hidden' name='validationFormulaireAdministration' id='validationFormulaireAdministration' value=''>";
         $html .= "<table><tr><td>Selection</td>";
         // les entetes
         foreach ($this->fields as $field) {
             $html .= "<td>" . $field['name'] . "</td>";
         }
         $html .= "</tr>";
         while ($fetchListe = mysql_fetch_assoc($resListe)) {
             $html .= "<tr>";
             foreach ($this->fields as $field) {
                 if ($fetchListe[$field['name']] !== "0") {
                     if (isset($field['externalLink']) && $field['externalLink'] == true) {
                         // ce champs va chercher des donnees dans une autre table
                         // ....
                         // a optimiser en left join si possible
                         $reqExternal = "select " . $field['externalFieldPrimaryKey'] . ", " . $field['externalFieldToDisplay'] . " from " . $field['externalTable'] . " where " . $field['externalFieldPrimaryKey'] . "='" . $fetchListe[$field['name']] . "'";
                         $resExternal = $this->connexionBdd->requete($reqExternal);
                         $fetchExternal = mysql_fetch_assoc($resExternal);
                         $html .= "<td>" . $fetchExternal[$field['externalFieldToDisplay']] . "</td>";
                     } elseif (isset($field['externalLeftJoin']) && $field['externalLeftJoin'] == true) {
                         $html .= "<td>" . $fetchListe[$field['fieldToDisplay']] . "</td>";
                     } elseif ($field['isPrimaryKey'] == true) {
                         if (isset($parametres['modeAffichageLienDetail'])) {
                             $modeAffichage = $parametres['modeAffichageLienDetail'];
                         } else {
                             $modeAffichage = "administrationAfficheModification";
                         }
                         $html .= "<td><input type='checkbox' name='selection[]' value='" . $fetchListe[$field['name']] . "'></td><td><a href='" . $this->creerUrl('', $modeAffichage, array('tableName' => $parametres['tableName'], 'idModification' => $fetchListe[$field['name']])) . "'>" . $fetchListe[$field['name']] . "</a></td>";
                     } else {
                         if ($field['type'] == 'date') {
                             $html .= "<td>" . $date->toFrenchAffichage(stripslashes($fetchListe[$field['name']])) . "</td>";
                         } else {
                             if (isset($parametres['displayWithBBCode']) && $parametres['displayWithBBCode'] == true) {
                                 $html .= "<td>" . $bbCode->convertToDisplay(array('text' => stripslashes($fetchListe[$field['name']]))) . "</td>";
                             } else {
                                 $html .= "<td>" . stripslashes($fetchListe[$field['name']]) . "</td>";
                             }
                         }
                     }
                 }
             }
             $html .= "</tr>";
         }
         $html .= "</table>";
     }
     if (!isset($parametres['noSupprimerButton']) || $parametres['noSupprimerButton'] == false) {
         $html .= "<input type='submit' value='Supprimer la selection' onclick=\"document.getElementById('validationFormulaireAdministration').value='suppression';\" name='supprimer'>";
     }
     if (isset($parametres['replaceAjouterButtonBy'])) {
         $html .= $parametres['replaceAjouterButtonBy'];
     } else {
         if (!isset($parametres['noAjouterButton']) || $parametres['noAjouterButton'] == false) {
             $html .= "<input type='button' value='ajouter' name='ajouter' onclick=\"location.href='" . $this->creerUrl('', 'administrationAfficheAjout', array('tableName' => $parametres['tableName'])) . "';\">";
         }
     }
     $html .= "</form>";
     return $html;
 }
    function getEventInfosMiscImage($idVueSur, $idAdresseCible, $label)
    {
        $adresse = new archiAdresse();
        $string = new stringObject();
        $imageHTML = "";
        foreach ($idVueSur as $idImage) {
            //Requete SQL sur l'id de l'image pour récupérer les infos relatives a l'image (description, id, date upload)
            $requeteInfoImage = "\n    \t\t\t\tSELECT hi1.idHistoriqueImage , hi1.description,hi1.dateUpload\n    \t\t\t\tFROM historiqueImage hi1 , historiqueImage hi2\n    \t\t\t\tWHERE hi1.idImage = {$idImage}\n    \t\t\t\tAND hi2.idImage = hi1.idImage\n    \t\t\t\tGROUP BY hi1.idImage,  hi1.idHistoriqueImage\n    \t\t\t\tHAVING hi1.idHistoriqueImage = max(hi2.idHistoriqueImage)\n    \t\t\t\t";
            $resultInfoImage = $this->connexionBdd->requete($requeteInfoImage);
            $valuesImage = mysql_fetch_assoc($resultInfoImage);
            $idEvenementGroupeAdresse = $this->variablesGet['archiIdEvenementGroupeAdresse'];
            $hrefImage = $this->creerUrl('', 'imageDetail', array('archiIdImage' => $idImage, 'archiRetourAffichage' => 'evenement', 'archiRetourIdName' => 'idEvenement', 'archiRetourIdValue' => $idEvenementGroupeAdresse)) . "'";
            //OnClickImage
            //divePAramIdGroupeAdresseAffiche
            //alt
            $reqAdresse = "    SELECT ha1.numero as numero,\n                                    r.nom as nomRue,\n                                    sq.nom as nomSousQuartier,\n                                    q.nom as nomQuartier,\n                                    v.nom as nomVille,\n                                    p.nom as nomPays,\n                                    ha1.numero as numeroAdresse,\n                                    ha1.idRue,\n                                    r.prefixe as prefixeRue,\n                                    IF (ha1.idSousQuartier != 0,  ha1.idSousQuartier,  r.idSousQuartier) AS idSousQuartier,\n                                    IF (ha1.idQuartier != 0,  ha1.idQuartier,  sq.idQuartier) AS idQuartier,\n                                    IF (ha1.idVille != 0,  ha1.idVille,  q.idVille) AS idVille,\n                                    IF (ha1.idPays != 0,  ha1.idPays,  v.idPays) AS idPays\n\n\n                            FROM historiqueAdresse ha2,  historiqueAdresse ha1\n\n                            LEFT JOIN _evenementImage ei ON ei.idImage = '" . $idImage . "'\n                            LEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = ei.idEvenement\n                            LEFT JOIN _adresseEvenement ae ON ae.idEvenement = ee.idEvenement\n\n\n\n                            LEFT JOIN rue r ON r.idRue = ha1.idRue\n                            LEFT JOIN sousQuartier sq ON sq.idSousQuartier = if (ha1.idRue='0' and ha1.idSousQuartier!='0' , ha1.idSousQuartier , r.idSousQuartier )\n                            LEFT JOIN quartier q ON q.idQuartier = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' , ha1.idQuartier , sq.idQuartier )\n                            LEFT JOIN ville v ON v.idVille = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' , ha1.idVille , q.idVille )\n                            LEFT JOIN pays p ON p.idPays = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' , ha1.idPays , v.idPays )\n\n\n                            WHERE ha2.idAdresse = ha1.idAdresse\n\n                            AND ha1.idAdresse = ae.idAdresse\n                            GROUP BY ha1.idAdresse,  ha1.idHistoriqueAdresse\n                            HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n                            LIMIT 1\n            ";
            $resAdresse = $this->connexionBdd->requete($reqAdresse);
            $fetchAdresse = mysql_fetch_assoc($resAdresse);
            $intituleAdresse = trim($adresse->getIntituleAdresse($fetchAdresse));
            $intituleAdresseAlt = trim(strip_tags(str_replace("'", " ", $intituleAdresse)));
            $title = trim($string->sansBalises(strip_tags(stripslashes($valuesImage['description']))) . ' ' . $intituleAdresseAlt);
            $alt = trim($string->sansBalises(strip_tags(stripslashes($valuesImage['description']))) . ' ' . $intituleAdresseAlt);
            //bbcode init
            $bbCode = new bbCodeObject();
            $imageHTML .= '
    				<div class="inline-div">
	    				<a class="imgResultGrp"
	    					href=\' ' . $hrefImage . '\'>
		    				<div class="imgResultHover">
			    				<img
			    						itemprop="image"
			    						onclick="' . $onClickImage . '"
			    						id="image' . $valuesImage['idHistoriqueImage'] . $divParamIdGroupeAdresseAffiche . '"
			    						alt="' . htmlspecialchars($alt) . '"
			    						src="' . 'photos--' . $valuesImage['dateUpload'] . '-' . $valuesImage['idHistoriqueImage'] . '-moyen.jpg' . '"
			    						class="eventImage" />
			    				<p>' . strip_tags($bbCode->convertToDisplay(array('text' => $valuesImage['description']))) . '</p>
			    			</div>
	    				</a>
	    				<div class="imgDesc">' . $bbCode->convertToDisplay(array('text' => $valuesImage['description'])) . '</div>
    				</div>
    						';
        }
        return array('titre' => $label . " " . $adresse->getIntituleAdresseFrom($idAdresseCible, 'idAdresse'), 'imagesLiees' => $imageHTML);
    }
Пример #9
0
    debug($query);
    debug($query2);
    */
    $query = mysql_query($query);
    $bbcode = new bbCodeObject();
    while ($results = mysql_fetch_assoc($query)) {
        $req = 'SELECT idHistoriqueImage, licence, historiqueImage.idImage,
        dateUpload, historiqueImage.description, historiqueAdresse.idAdresse,
        historiqueEvenement.idEvenement FROM historiqueImage 
        LEFT JOIN _evenementImage
            ON historiqueImage.idImage = _evenementImage.idImage
        LEFT JOIN historiqueEvenement
            ON historiqueEvenement.idEvenement = _evenementImage.idEvenement
        LEFT JOIN  _evenementEvenement
            ON  _evenementEvenement.idEvenementAssocie
                = historiqueEvenement.idEvenement
        LEFT JOIN _adresseEvenement
            ON _adresseEvenement.idEvenement = _evenementEvenement.idEvenement
        LEFT JOIN historiqueAdresse
            ON historiqueAdresse.idAdresse = _adresseEvenement.idAdresse
        WHERE historiqueImage.idImage = ' . mysql_real_escape_string($results['idImage']) . '
        ORDER BY idHistoriqueImage DESC LIMIT 1';
        $res = $config->connexionBdd->requete($req);
        $image = mysql_fetch_assoc($res);
        if ($_GET['licence_' . $image['licence']] == 'on') {
            //debug($image);
            echo '<a class="imgResultGrp" href="' . $config->creerUrl('', 'imageDetail', array('archiRetourAffichage' => 'evenement', 'archiRetourIdName' => 'idEvenement', 'archiIdImage' => $image['idImage'], 'archiIdAdresse' => $image['idAdresse'], 'archiRetourIdValue' => $image['idEvenement'])) . '"><div class="imgResult"></div>
            <div class="imgResultHover"><img src="' . 'photos--' . $image['dateUpload'] . '-' . $image['idHistoriqueImage'] . '-moyen.jpg' . '" alt="" /><p>' . strip_tags($bbcode->convertToDisplay(array('text' => $image['description']))) . '</p></div></a>';
        }
    }
}