Example #1
0
     echo $u->displayProfile($_GET['idUtilisateur']);
     break;
 case 'profilPublique':
     $u = new archiUtilisateur();
     $u->getPublicProfil($_GET['idUtilisateur']);
     break;
 case 'profilPrive':
     $u = new archiUtilisateur();
     $u->getPrivateProfil();
     break;
 case 'diff':
     $util = new archiUtils();
     $plop = $util->yoloDiff("thi is a test", "This test is the test new test");
     break;
 case 'historiqueEvenement':
     $e = new archiEvenement();
     $e->afficherHistoriqueEvenement($_GET['idEvenement']);
     break;
 case 'listeQuartiers':
     $criteres = array('typeStructure' => 22);
     $s = new archiRecherche();
     echo $s->advancedSearch($criteres);
     break;
 case 'listeStructure':
     $criteres = array('typeStructure' => $_GET['idTypeStructure']);
     $s = new archiRecherche();
     echo $s->advancedSearch($criteres);
     break;
 case 'displayImage':
     $i = new archiImage();
     $i->displayImage($_GET['idHistoriqueImage'], array($_GET['height'], $_GET['width']));
* */
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>Archi-Strasbourg - Éléments orphelins</title>
</head>
<body>
<ul>
<?php 
require_once "includes/framework/config.class.php";
require_once "modules/archi/includes/archiEvenement.class.php";
$config = new ArchiConfig();
$req = "\nSELECT idEvenement, titre\nFROM historiqueEvenement\nGROUP BY idEvenement;";
$res = $config->connexionBdd->requete($req);
$e = new archiEvenement();
while ($event = mysql_fetch_object($res)) {
    if (!$e->getIdEvenementGroupeAdresseFromIdEvenement($event->idEvenement)) {
        if (!empty($event->titre)) {
            $titre = $event->titre;
        } else {
            $titre = '(sans titre)';
        }
        echo '<li><a href="index.php?archiAffichage=adresseDetail' . '&archiIdEvenementGroupeAdresse=' . $event->idEvenement . '&modeAffichage=simple">' . $titre . '</a></li>';
    }
}
?>
</ul>
</body>
</html>
Example #3
0
    if (count($tabMotsCleNettoye) > 0) {
        $motsCle = ", " . implode(", ", $tabMotsCleNettoye);
    }
    // description
    if ($titreFirstEvenement == '') {
        $description = $titre;
    } else {
        $aRemplacer = array("\n\r", "\r\n", "\n", "\r", "\"");
        $remplacerPar = array("", "", "", "", "'");
        // s'il y a un titre au premier evenement, on affiche le titre et les 100 premiers mot de la description
        $description = $titreFirstEvenement . " " . $string->coupureTexte(strip_tags($string->sansBalises(str_replace($aRemplacer, $remplacerPar, stripslashes($descriptionFirstEvenement)))), 100);
    }
}
// referencement - description - titre de la page dans le cas de l'affichage de la page detail d'une image
if (isset($_GET['archiAffichage']) && $_GET['archiAffichage'] == 'imageDetail' && isset($_GET['archiIdImage']) && $_GET['archiIdImage'] != '' && $_GET['archiIdImage'] != '0') {
    $e = new archiEvenement();
    if (!archiPersonne::isPerson($e->getIdEvenementGroupeAdresseFromIdEvenement($_GET['archiRetourIdValue']))) {
        $resAdresses = $image->getIdAdressesFromIdImage($_GET['archiIdImage']);
        if ($fetchAdresses = mysql_fetch_assoc($resAdresses)) {
            $resGroupeAdresses = $adresse->getIdEvenementsFromAdresse($fetchAdresses['idAdresse']);
            $fetchGroupeAdresses = mysql_fetch_assoc($resGroupeAdresses);
            $titreFirstEvenement = $evenement->getTitreFromFirstChildEvenement($fetchGroupeAdresses['idEvenement']);
            $titre = "Photo : " . $titreFirstEvenement;
            $resAdresse = $adresse->getAdressesFromEvenementGroupeAdresses($fetchGroupeAdresses['idEvenement']);
            $fetchAdresse = mysql_fetch_assoc($resAdresse);
            $idAdresse = $fetchAdresse['idAdresse'];
            $intituleAdresse = $adresse->getIntituleAdresseFrom($idAdresse, "idAdresse", array('afficheSousQuartier' => false, 'noQuartierCentreVille' => true));
            $titre = str_replace("\"", "'", $titre . " - " . $intituleAdresse);
        } else {
            $titre = "Photo - " . $titre;
        }
 public function getLatestModification($nbElts)
 {
     $interest = new archiInterest();
     $auth = new ArchiAuthentification();
     $whereSimple = "WHERE ae.idAdresse IS NOT NULL ";
     $whereSimpleArray = array();
     if ($auth->estConnecte()) {
         $arrayInterest = $interest->getFavorisByCategories();
         if (!empty($arrayInterest)) {
             if (isset($arrayInterest['rue'])) {
                 $fieldRue = implode(',', $arrayInterest['rue']);
                 $subClause[] = "ha.idRue in ({$fieldRue})";
                 foreach ($arrayInterest['rue'] as $idRue) {
                     $whereSimpleArray[] = "ha.idRue = " . $idRue . " ";
                 }
             }
             if (isset($arrayInterest['sousQuartier'])) {
                 $fieldSousQuartier = implode(',', $arrayInterest['sousQuartier']);
                 $subClause[] = "ha.idSousQuartier in ({$fieldSousQuartier})";
                 foreach ($arrayInterest['sousQuartier'] as $idSousQuartier) {
                     $whereSimpleArray[] = " ha.idSousQuartier = " . $idSousQuartier . " ";
                 }
             }
             if (isset($arrayInterest['quartier'])) {
                 $fieldQuartier = implode(',', $arrayInterest['quartier']);
                 $subClause[] = "ha.idQuartier in ({$fieldQuartier})";
                 foreach ($arrayInterest['quartier'] as $idQuartier) {
                     $whereSimpleArray[] = " ha.idQuartier = " . $idQuartier . " ";
                 }
             }
             if (isset($arrayInterest['ville'])) {
                 $fieldVille = implode(',', $arrayInterest['ville']);
                 $subClause[] = "ha.idVille in ({$fieldVille})";
                 foreach ($arrayInterest['ville'] as $idVille) {
                     $whereSimpleArray[] = " ha.idVille = " . $idVille . " ";
                 }
             }
             if (isset($arrayInterest['pays'])) {
                 $fieldPays = implode(',', $arrayInterest['pays']);
                 $subClause[] = "ha.idPays in ({$fieldPays})";
                 foreach ($arrayInterest['pays'] as $idPays) {
                     $whereSimpleArray[] = " ha.idPays = " . $idPays . " ";
                 }
             }
             if (!empty($subClause)) {
                 $whereClause .= " AND (" . implode(' OR ', $subClause) . ")";
             }
             if (!empty($whereSimpleArray)) {
                 $whereSimple .= " AND (" . implode(' OR ', $whereSimpleArray) . ")";
             }
             $leftjoinCondition = "AND " . implode(' AND ', $whereSimpleArray);
         }
     }
     $requeteElements = "select * from (\n   \t\t\t\t\t SELECT\n\t\t\t\t\t ee.idEvenement as idEvenementGroupeAdresse,\n\t\t\t\t\tevt.idEvenement AS idEvenement,\n\t\t\t\t\tae.idAdresse,\n\t\t\t\t\tnull as idPersonne,\n\t\t\t\t\tevt.idEvenementRecuperationTitre ,\n\t\t\t\t\tevt.idImagePrincipale AS idHistoriqueImage,\n\t\t\t\t\tte.nom as typeEvenement,\n\t\t\t\t\tdate_format(evt.dateCreationEvenement," . _('"%e/%m/%Y"') . ") as dateCreationEvenement,\n\t\t\t\t\tDATE_FORMAT(evt.dateCreationEvenement, '%Y%m%d%H%i%s') as DateTri,\n\t\t\t\t\tevt.description,\n\t\t\t\t\t'adresse' as type\n\t\t\n\t\t\t\t\tFROM evenements evt\n\t\t\t\t\tLEFT JOIN _evenementEvenement ee on ee.idEvenementAssocie = evt.idEvenement\n\t\t\t\t\tLEFT JOIN _adresseEvenement ae ON ae.idEvenement = ee.idEvenement\n\t\t\t\t\tLEFT JOIN historiqueAdresse ha on ha.idAdresse = ae.idAdresse\n\t\t\t\t\tLEFT JOIN typeEvenement te ON te.idTypeEvenement = evt.idTypeEvenement\n\t\t\n\t\t\t\t\tWHERE ae.idAdresse IS NOT NULL\n\t\t \t\t\t" . $whereClause . "\n\t\t\n\t\t\t\t    UNION\n\t\t\t\t    SELECT\n\t\t\t\t    ee.idEvenement as idEvenementGroupeAdresse,\n\t\t\t\t    evt.idEvenement AS idEvenement,\n\t\t\t\t\tNULL as idAdresse,\n\t\t\t\t\tp.idPersonne,\n\t\t\t\t    evt.idEvenementRecuperationTitre ,\n\t\t\t\t    evt.idImagePrincipale AS idHistoriqueImage,\n\t\t\t\t    'Personne' as typeEvenement,\n\t\t\t\t\tdate_format(evt.dateCreationEvenement," . _('"%e/%m/%Y"') . ") as dateCreationEvenement,\n\t\t\t\t\tDATE_FORMAT(evt.dateCreationEvenement, '%Y%m%d%H%i%s') as DateTri,\n\t\t\t\t    evt.description,\n\t\t\t\t    'personne' as type\n\t\t\n\t\t\t\t    FROM evenements evt\n\t\t\t\t    LEFT JOIN _evenementEvenement ee on ee.idEvenementAssocie = evt.idEvenement\n\t\t\t\t    LEFT JOIN _personneEvenement pe ON pe.idEvenement = ee.idEvenement\n\t\t\t\t    LEFT JOIN personne p on p.idPersonne = pe.idPersonne\n\t\t\t\t\tLEFT JOIN _evenementPersonne ep on ep.idPersonne = p.idPersonne\n\t\t\t\t\tLEFT JOIN _evenementEvenement ee2 on ee2.idEvenementAssocie = ep.idEvenement\n\t\t\t\t\tLEFT JOIN _adresseEvenement ae on ae.idEvenement = ee2.idEvenement\n\t\t\t\t\tLEFT JOIN historiqueAdresse ha on ha.idAdresse = ae.idAdresse\n\t\t\n\t\t\t\t    WHERE p.idPersonne IS NOT NULL\n\t\t\t\t\t" . $whereClause . "\n\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\n\t\t\t\t) as tmp\n\t\t\n\t\t\t\tWHERE tmp.DateTri = (\n\t\t\t\t    SELECT max(DATE_FORMAT(evt2.dateCreationEvenement, '%Y%m%d%H%i%s'))\n\t\t\t\t    FROM evenements evt2\n\t\t\t\t    LEFT JOIN _evenementEvenement ee2 on ee2.idEvenementAssocie = evt2.idEvenement\n\t\t\t\t    WHERE ee2.idEvenement = tmp.idEvenementGroupeAdresse\n\t\t\t\t)\n\t\t\t\tGROUP BY tmp.idEvenement\n\t\t\t\tORDER BY tmp.DateTri DESC\n\t\t\t\tLIMIT 8\n\t\t\n\t\t\t\t";
     $resultIdAdresse = $this->connexionBdd->requete($requeteElements);
     $arrayIdEvenement = array();
     $arrayEvenement = array();
     while ($lastModif = mysql_fetch_assoc($resultIdAdresse)) {
         $tmp = $lastModif;
         if ($lastModif['type'] == 'adresse') {
             $requeteTitre = "SELECT e1.titre , e2.idImagePrincipale\n\t\t\t\t\t\tFROM evenements e1,evenements e2\n\t\t\t\t\t\tWHERE e2.idEvenement = " . $lastModif['idEvenementGroupeAdresse'] . "\n\t\t\t\t\t\tAND e1.idEvenement = e2.idEvenementRecuperationTitre\n\t\t\t\t\t\t\t\t";
             $restitre = $this->connexionBdd->requete($requeteTitre);
             $titreArray = mysql_fetch_assoc($restitre);
             $evenement = new archiEvenement();
             $idTitre = $evenement->getIdEvenementTitre($lastModif);
             $requeteTitreLegacy = "SELECT titre from evenements where idEvenement = {$idTitre}";
             $resTitreLegacy = $this->connexionBdd->requete($requeteTitreLegacy);
             $titreArray = mysql_fetch_assoc($resTitreLegacy);
             $tmp['titre'] = $titreArray['titre'];
             $idImagePrincipale = $titreArray['idImagePrincipale'];
             if (isset($idImagePrincipale) && !empty($idImagePrincipale)) {
                 $requeteIdHistoImage = "\n\t\t\t\t\t\t\tSELECT idHistoriqueImage\n\t\t\t\t\t\t\tFROM historiqueImage hi \n\t\t\t\t\t\t\tWHERE idImage = {$idImagePrincipale}\n\t\t\t\t\t\t\tORDER BY idHistoriqueImage DESC\n\t\t\t\t\t\t\tLIMIT 1\n\t\t\t\t\t\t\t";
                 $resIdImg = $this->connexionBdd->requete($requeteIdHistoImage);
                 $arrayIdHistoImg = mysql_fetch_assoc($resIdImg);
                 $tmp['idHistoriqueImage'] = $arrayIdHistoImg['idHistoriqueImage'];
             }
         } else {
             $p = new ArchiPersonne($tmp['idPersonne']);
             $tmp['titre'] = $p->getPersonneLibelle($tmp['idPersonne']);
         }
         $arrayLastModif[] = $tmp;
     }
     return $arrayLastModif;
 }
 private function displayTitle($idAdresse)
 {
     // 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 evenements he1 ON he1.idEvenement = ae.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\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 = '';
         }
     }
     //    }
     $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 .= "&nbsp;-&nbsp;";
         }
     }
     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>";
         }
     }
     return $html;
 }
 public function getIdVilleFrom($id = 0, $type = '')
 {
     $idVille = 0;
     switch ($type) {
         case 'idImage':
             $idAdresseFromImage = "";
             // recherche de la ville correspondante a l'image
             $reqAdresse = "\n\t\t\t\tSELECT ha1.idRue as idRue,ha1.idQuartier as idQuartier,ha1.idSousQuartier as idSousQuartier,ha1.idVille as idVille\n\t\t\t\tFROM historiqueAdresse ha1\n\t\t\t\tLEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse\n\t\t\t\tLEFT JOIN _evenementImage ei ON ei.idImage = '{$id}'\n\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = ei.idEvenement\n\t\t\t\tLEFT JOIN _adresseEvenement ae ON ae.idEvenement = ee.idEvenement\n\t\t\t\tWHERE ha1.idAdresse = ae.idAdresse\n\t\t\t\tGROUP BY ha1.idAdresse,ha1.idHistoriqueAdresse\n\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\t\t\t\t";
             $resAdresse = $this->connexionBdd->requete($reqAdresse);
             while ($fetchAdresse = mysql_fetch_assoc($resAdresse)) {
                 if ($fetchAdresse['idVille'] != '0') {
                     $idVille = $fetchAdresse['idVille'];
                 }
                 if ($fetchAdresse['idRue'] != '0') {
                     $reqRue = "\n\t\t\t\t\t\t\t\tSELECT idVille\n\t\t\t\t\t\t\t\tFROM quartier\n\t\t\t\t\t\t\t\tWHERE idQuartier IN\n\t\t\t\t\t\t\t\t(SELECT idQuartier FROM sousQuartier WHERE idSousQuartier IN\n\t\t\t\t\t\t\t\t(SELECT idSousQuartier FROM rue WHERE idRue='" . $fetchAdresse['idRue'] . "')\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t";
                     $resRue = $this->connexionBdd->requete($reqRue);
                     $fetchRue = mysql_fetch_assoc($resRue);
                     $idVille = $fetchRue['idVille'];
                 }
                 if ($fetchAdresse['idQuartier'] != '0') {
                     $reqQuartier = "\n\t\t\t\t\t\t\t\tSELECT idVille FROM quartier WHERE idQuartier ='" . $fetchAdresse['idQuartier'] . "'\n\t\t\t\t\t\t\t\t\t\t";
                     $resQuartier = $this->connexionBdd->requete($reqQuartier);
                     $fetchQuartier = mysql_fetch_assoc($resQuartier);
                     $idVille = $fetchQuartier['idVille'];
                 }
                 if ($fetchAdresse['idSousQuartier'] != '0') {
                     $reqSousQuartier = "SELECT idVille FROM quartier WHERE idQuartier IN (SELECT idQuartier FROM sousQuartier WHERE idSousQuartier='" . $fetchAdresse['idSousQuartier'] . "')";
                     $resSousQuartier = $this->connexionBdd->requete($reqSousQuartier);
                     $fetchSousQuartier = mysql_fetch_assoc($resSousQuartier);
                     $idVille = $fetchSousQuartier['idVille'];
                 }
             }
             break;
         case 'idAdresse':
             // recherche de la ville correspondante a l'idAdresse
             $reqAdresse = "\n\t\t\t\tSELECT ha1.idRue as idRue,ha1.idQuartier as idQuartier,ha1.idSousQuartier as idSousQuartier,ha1.idVille as idVille\n\t\t\t\tFROM historiqueAdresse ha1\n\t\t\t\tLEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse\n\t\t\t\tWHERE ha1.idAdresse = '{$id}'\n\t\t\t\tGROUP BY ha1.idAdresse,ha1.idHistoriqueAdresse\n\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\t\t\t\t";
             $resAdresse = $this->connexionBdd->requete($reqAdresse);
             while ($fetchAdresse = mysql_fetch_assoc($resAdresse)) {
                 if ($fetchAdresse['idVille'] != '0') {
                     $idVille = $fetchAdresse['idVille'];
                 }
                 if ($fetchAdresse['idRue'] != '0') {
                     $reqRue = "\n\t\t\t\t\t\t\t\tSELECT idVille\n\t\t\t\t\t\t\t\tFROM quartier\n\t\t\t\t\t\t\t\tWHERE idQuartier IN\n\t\t\t\t\t\t\t\t(SELECT idQuartier FROM sousQuartier WHERE idSousQuartier IN\n\t\t\t\t\t\t\t\t(SELECT idSousQuartier FROM rue WHERE idRue='" . $fetchAdresse['idRue'] . "')\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t";
                     $resRue = $this->connexionBdd->requete($reqRue);
                     $fetchRue = mysql_fetch_assoc($resRue);
                     $idVille = $fetchRue['idVille'];
                 }
                 if ($fetchAdresse['idQuartier'] != '0') {
                     $reqQuartier = "\n\t\t\t\t\t\t\t\tSELECT idVille FROM quartier WHERE idQuartier ='" . $fetchAdresse['idQuartier'] . "'\n\t\t\t\t\t\t\t\t\t\t";
                     $resQuartier = $this->connexionBdd->requete($reqQuartier);
                     $fetchQuartier = mysql_fetch_assoc($resQuartier);
                     $idVille = $fetchQuartier['idVille'];
                 }
                 if ($fetchAdresse['idSousQuartier'] != '0') {
                     $reqSousQuartier = "SELECT idVille FROM quartier WHERE idQuartier IN (SELECT idQuartier FROM sousQuartier WHERE idSousQuartier='" . $fetchAdresse['idSousQuartier'] . "')";
                     $resSousQuartier = $this->connexionBdd->requete($reqSousQuartier);
                     $fetchSousQuartier = mysql_fetch_assoc($resSousQuartier);
                     $idVille = $fetchSousQuartier['idVille'];
                 }
             }
             break;
         case 'idEvenementGroupeAdresse':
         case 'idEvenement':
             $evenement = new archiEvenement();
             $idEvenementGroupeAdresse = $evenement->getIdEvenementGroupeAdresseFromIdEvenement($id);
             $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($idEvenementGroupeAdresse);
             // recherche de la ville correspondante a l'idAdresse
             $reqAdresse = "\n\t\t\t\t\t\tSELECT ha1.idRue as idRue,ha1.idQuartier as idQuartier,ha1.idSousQuartier as idSousQuartier,ha1.idVille as idVille\n\t\t\t\t\t\tFROM historiqueAdresse ha1\n\t\t\t\t\t\tLEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse\n\t\t\t\t\t\tWHERE ha1.idAdresse = '" . $idAdresse . "'\n\t\t\t\t\t\t\t\tGROUP BY ha1.idAdresse,ha1.idHistoriqueAdresse\n\t\t\t\t\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\t\t\t\t\t\t\t\t";
             $resAdresse = $this->connexionBdd->requete($reqAdresse);
             while ($fetchAdresse = mysql_fetch_assoc($resAdresse)) {
                 if ($fetchAdresse['idVille'] != '0') {
                     $idVille = $fetchAdresse['idVille'];
                 }
                 if ($fetchAdresse['idRue'] != '0') {
                     $reqRue = "\n\t\t\t\t\t\t\t\tSELECT idVille\n\t\t\t\t\t\t\t\tFROM quartier\n\t\t\t\t\t\t\t\tWHERE idQuartier IN\n\t\t\t\t\t\t\t\t(SELECT idQuartier FROM sousQuartier WHERE idSousQuartier IN\n\t\t\t\t\t\t\t\t(SELECT idSousQuartier FROM rue WHERE idRue='" . $fetchAdresse['idRue'] . "')\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t";
                     $resRue = $this->connexionBdd->requete($reqRue);
                     $fetchRue = mysql_fetch_assoc($resRue);
                     $idVille = $fetchRue['idVille'];
                 }
                 if ($fetchAdresse['idQuartier'] != '0') {
                     $reqQuartier = "\n\t\t\t\t\t\t\t\tSELECT idVille FROM quartier WHERE idQuartier ='" . $fetchAdresse['idQuartier'] . "'\n\t\t\t\t\t\t\t\t\t\t";
                     $resQuartier = $this->connexionBdd->requete($reqQuartier);
                     $fetchQuartier = mysql_fetch_assoc($resQuartier);
                     $idVille = $fetchQuartier['idVille'];
                 }
                 if ($fetchAdresse['idSousQuartier'] != '0') {
                     $reqSousQuartier = "SELECT idVille FROM quartier WHERE idQuartier IN (SELECT idQuartier FROM sousQuartier WHERE idSousQuartier='" . $fetchAdresse['idSousQuartier'] . "')";
                     $resSousQuartier = $this->connexionBdd->requete($reqSousQuartier);
                     $fetchSousQuartier = mysql_fetch_assoc($resSousQuartier);
                     $idVille = $fetchSousQuartier['idVille'];
                 }
             }
             break;
         case 'idRue':
             $req = "\n\t\t\t\t\t\tSELECT v.idVille as idVille\n\t\t\t\t\t\tFROM ville v\n\t\t\t\t\t\tLEFT JOIN quartier q ON q.idVille = v.idVille\n\t\t\t\t\t\tLEFT JOIN sousQuartier sq ON sq.idQuartier = q.idQuartier\n\t\t\t\t\t\tLEFT JOIN rue r ON r.idSousQuartier = sq.idSousQuartier\n\t\t\t\t\t\tWHERE r.idRue = '" . $id . "'\n\t\t\t\t\t\t\t\t";
             $res = $this->connexionBdd->requete($req);
             if (mysql_num_rows($res) == 1) {
                 $fetch = mysql_fetch_assoc($res);
                 $idVille = $fetch['idVille'];
             }
             break;
         case 'idSousQuartier':
             $req = "\n\t\t\t\t\t\tSELECT v.idVille as idVille\n\t\t\t\t\t\tFROM ville v\n\t\t\t\t\t\tLEFT JOIN quartier q ON q.idVille = v.idVille\n\t\t\t\t\t\tLEFT JOIN sousQuartier sq ON sq.idQuartier = q.idQuartier\n\t\t\t\t\t\tWHERE sq.idSousQuartier = '" . $id . "'\n\n\t\t\t\t\t\t\t\t";
             $res = $this->connexionBdd->requete($req);
             if (mysql_num_rows($res) == 1) {
                 $fetch = mysql_fetch_assoc($res);
                 $idVille = $fetch['idVille'];
             }
             break;
         case 'idQuartier':
             $req = "\n\t\t\t\t\t\tSELECT v.idVille as idVille\n\t\t\t\t\t\tFROM ville v\n\t\t\t\t\t\tLEFT JOIN quartier q ON q.idVille = v.idVille\n\t\t\t\t\t\tWHERE q.idQuartier = '" . $id . "'\n\t\t\t\t\t\t\t\t";
             $res = $this->connexionBdd->requete($req);
             if (mysql_num_rows($res) == 1) {
                 $fetch = mysql_fetch_assoc($res);
                 $idVille = $fetch['idVille'];
             }
             break;
     }
     return $idVille;
 }
$borneMax = "SUBDATE(NOW(), INTERVAL 7 DAY)";
//$borneMin = "SUBDATE(NOW(),INTERVAL 7 DAY)";
//$borneMax = "SUBDATE(NOW(), INTERVAL 14 DAY)";
//  include('/home/pia/archiv2/includes/framework/config.class.php');
require __DIR__ . '/../includes/framework/config.class.php';
//  include_once('/home/pia/archiv2/modules/archi/includes/archiAdresse.class.php');
require_once __DIR__ . '/../modules/archi/includes/archiAdresse.class.php';
//  include_once('/home/pia/archiv2/modules/archi/includes/archiEvenement.class.php');
require_once __DIR__ . '/../modules/archi/includes/archiEvenement.class.php';
require_once __DIR__ . '/../modules/archi/includes/archiPersonne.class.php';
$config = new ArchiConfig();
// on recherche que les adresses un evenement est associe
$reqNouvellesAdressesDeLaSemaine = "\n                    SELECT ha1.idAdresse as idAdresse, count(ee.idEvenementAssocie),ha1.date as date, v.nom as nomVille, ae.idEvenement as idEvenementGroupeAdresse\n                    FROM historiqueAdresse ha2, historiqueAdresse ha1\n\n                    LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse\n                    LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement\n                    LEFT JOIN historiqueEvenement he ON he.idEvenement = ae.idEvenement\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\n                    AND he.dateCreationEvenement < {$borneMin}\n                    AND he.dateCreationEvenement >= {$borneMax}\n                    GROUP BY ha1.idAdresse,ee.idEvenement, ha1.idHistoriqueAdresse\n                    HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse) and count(ee.idEvenementAssocie)>0\n                    ORDER BY nomVille,date\n            ";
$resNouvellesAdressesDeLaSemaine = $config->connexionBdd->requete($reqNouvellesAdressesDeLaSemaine);
$a = new archiAdresse();
$e = new archiEvenement();
$arrayAdresses = array();
$arrayListeAdresses = array();
// contient la liste des adresses pour ne pas afficher la meme adresse dans la liste des adresse modifiees
$arrayGroupeEvenements = array();
while ($fetchNouvellesAdresses = mysql_fetch_assoc($resNouvellesAdressesDeLaSemaine)) {
    $arrayListeAdresses[] = $fetchNouvellesAdresses['idAdresse'];
    //$resEvenementGroupeAdresse = $a->getIdEvenementGroupeAdresseFromAdresse($fetchNouvellesAdresses['idAdresse']);
    //$idEvenementGroupeAdresse = mysql_fetch_assoc($resEvenementGroupeAdresse);
    if (!in_array($fetchNouvellesAdresses['idEvenementGroupeAdresse'], $arrayGroupeEvenements)) {
        $arrayGroupeEvenements[] = $fetchNouvellesAdresses['idEvenementGroupeAdresse'];
        $arrayAdresses[$fetchNouvellesAdresses['nomVille']][] = array("idAdresse" => $fetchNouvellesAdresses['idAdresse'], "libelle" => $a->getIntituleAdresseFrom($fetchNouvellesAdresses['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('displayFirstTitreAdresse' => true)), "url" => $config->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $fetchNouvellesAdresses['idAdresse'], 'archiIdEvenementGroupeAdresse' => $fetchNouvellesAdresses['idEvenementGroupeAdresse'])), 'idEvenementGroupeAdresse' => $fetchNouvellesAdresses['idEvenementGroupeAdresse']);
    }
}
// recherche des adresses dont des evenements ont ete modifiés dans la semaine passée
// recherche des evenements créés pendant la semaine, ensuite on verifiera lequels sont des mises a jour
 *
 * PHP Version 5.3.3
 *
 * @category General
 * @package  ArchiWiki
 * @author   Pierre Rudloff <*****@*****.**>
 * @license  GNU GPL v3 https://www.gnu.org/licenses/gpl.html
 * @link     http://archi-wiki.org/
 *
 * */
require_once "includes/framework/config.class.php";
require_once "modules/archi/includes/archiEvenement.class.php";
$config = new ArchiConfig();
$req = "\n    SELECT idPersonne, description\n    FROM personne";
$res = $config->connexionBdd->requete($req);
$e = new archiEvenement();
while ($person = mysql_fetch_object($res)) {
    $req2 = "\n    SELECT *\n    FROM _personneEvenement\n    WHERE idPersonne = " . $person->idPersonne;
    if (!mysql_fetch_object($config->connexionBdd->requete($req2))) {
        $idEvenement = $e->getNewIdEvenement();
        $idSousEvenement = $idEvenement + 1;
        $req3 = "\n        INSERT INTO `historiqueEvenement` (\n            `idEvenement`,\n            `dateCreationEvenement`,\n            `idTypeEvenement`\n        )\n        VALUES (\n            '" . $idEvenement . "',\n            now(),\n            '" . $e->getIdTypeEvenementGroupeAdresse() . "'\n        )";
        $config->connexionBdd->requete($req3);
        $req3 = "\n        INSERT INTO `historiqueEvenement` (\n            `idEvenement`, `description`,\n            `dateCreationEvenement`\n        )\n        VALUES (\n            '" . $idSousEvenement . "',\n            '" . mysql_escape_string($person->description) . "',\n            now()\n        )";
        $config->connexionBdd->requete($req3);
        $req3 = "\n        INSERT INTO `_personneEvenement` (\n            `idPersonne`, `idEvenement`\n        )\n        VALUES (\n            '" . $person->idPersonne . "',\n            " . $idEvenement . "\n        )";
        $config->connexionBdd->requete($req3);
        $req3 = "\n            insert into _evenementEvenement (idEvenement,idEvenementAssocie)\n            values ('" . $idEvenement . "','" . $idSousEvenement . "');\n        ";
        $config->connexionBdd->requete($req3);
    }
}
 /**
  * Ajouter un événement à la BDD
  * 
  * @param string $type             Type (adresse ou personne)
  * @param array  $arrayNewAdresses Contenu lié
  * 
  * @return void
  * */
 function addEvent($type = "adresse", $arrayNewAdresses = array())
 {
     // ******************************************************
     // ensuite on ajoute l'evenement
     // ******************************************************
     $evenement = new archiEvenement();
     $idEvenementGroupeAdresses = 0;
     $idSousEvenement = 0;
     if ($type == "personne") {
         $linkTable = "_personneEvenement";
         $field = "idPersonne";
     } else {
         $linkTable = "_adresseEvenement";
         $field = "idAdresse";
     }
     $table = array('table' => $linkTable, 'field' => $field);
     //debug($arrayNewAdresses);
     //$arrayRetourEvenementNouveauDossier=$evenement->ajouterEvenementNouveauDossier();
     foreach ($arrayNewAdresses as $newAddress) {
         if (isset($newAddress['newAdresse']) && !empty($newAddress['newAdresse']) || $newAddress['newAdresse'] == 1) {
             //debug("full ajout");
             $arrayRetourEvenementNouveauDossier = $evenement->ajouterEvenementNouveauDossier();
         } else {
             //debug("ajout simple id : ".$newAddress['idAdresse']);
             $arrayRetourEvenementNouveauDossier = $evenement->ajouterEvenementNouveauDossier($newAddress['idAdresse']);
         }
     }
     //debug($arrayRetourEvenementNouveauDossier);
     // s'il n'y a pas eu d'erreurs ,  on peut faire l'ajout des liaisons entre evenement et adresses
     if (count($arrayRetourEvenementNouveauDossier['errors']) == 0 && count($arrayNewAdresses) > 0) {
         $idEvenementGroupeAdresses = $arrayRetourEvenementNouveauDossier['idEvenementGroupeAdresse'];
         $idSousEvenement = $arrayRetourEvenementNouveauDossier['idSousEvenement'];
         // liaison entre les adresses et l'evenement groupe d'adresses
         $resSupp = $this->connexionBdd->requete("delete from {$linkTable} where idEvenement = '" . $idEvenementGroupeAdresses . "'");
         // on rend la liste des identifiants unique
         $arrayNewIdAdresses = array();
         foreach ($arrayNewAdresses as $indice => $value) {
             $arrayNewIdAdresses[] = $value['idAdresse'];
         }
         $arrayNewIdAdresses = array_unique($arrayNewIdAdresses);
         foreach ($arrayNewIdAdresses as $indice => $idAdresse) {
             $reqLiaisons = "INSERT INTO {$linkTable} ({$field}, idEvenement)\n                                VALUES ('" . $idAdresse . "', '" . $idEvenementGroupeAdresses . "')\n                ";
             //debug($reqLiaisons);
             $resLiaisons = $this->connexionBdd->requete($reqLiaisons);
         }
         // on relie l'evenement pere (groupe d'adresse ) à l'evenement fils
         if (isset($newAddress['newAdresse']) && !empty($newAddress['newAdresse']) || $newAddress['newAdresse'] == 1) {
             $sqlAssociationNettoie = "delete from _evenementEvenement where idEvenement = '" . $arrayRetourEvenementNouveauDossier['idEvenementGroupeAdresse'] . "'";
             //debug($sqlAssociationNettoie);
             $resAssociationNettoie = $this->connexionBdd->requete($sqlAssociationNettoie);
         }
         $sqlAssociation = "insert into _evenementEvenement (idEvenement,idEvenementAssocie) values ('" . $arrayRetourEvenementNouveauDossier['idEvenementGroupeAdresse'] . "','" . $arrayRetourEvenementNouveauDossier['idSousEvenement'] . "')";
         //debug($sqlAssociation);
         $resAssociation = $this->connexionBdd->requete($sqlAssociation);
         if ($type == "personne") {
         } else {
             // *************************************************************************************************************************************************************
             // envoi d'un mail aux administrateur pour la moderation
             $utilisateur = new archiUtilisateur();
             $message = "L'utilisateur suivant a créé un nouveau dossier : ";
             $message .= $utilisateur->getMailUtilisateur($this->session->getFromSession('utilisateurConnecte' . $this->idSite)) . "<br>";
             $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $arrayNewIdAdresses[0], 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses)) . "'>lien vers l'article</a><br>";
             $message .= "Adresses liées au nouveau dossier :<br>";
             $i = 0;
             $adressePourSujetMail = "";
             foreach ($arrayNewAdresses as $indice => $value) {
                 if ($i == 0) {
                     $adressePourSujetMail = $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse');
                 }
                 if ($value['newAdresse'] == true) {
                     // cette adresse a été créée avec le dossier
                     $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses, 'archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . " (nouvelle adresse)</a><br>";
                 } else {
                     /* cette adresse a été créée précédemment
                      * et est utilisée sur ce dossier
                      * */
                     $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses, 'archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . " (cette adresse existait déjà " . "avant la création du dossier)" . "</a><br>";
                 }
             }
             $mail = new mailObject();
             $mail->sendMailToAdministrators($mail->getSiteMail(), "archi-strasbourg.org : " . "un utilisateur a créé un nouveau dossier - " . $adressePourSujetMail, $message, " and alerteMail='1' ", true);
             $u = new archiUtilisateur();
             $u->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $message, 'idTypeMailRegroupement' => 3, 'criteres' => " and alerteMail='1' "));
             /* envoi mail aussi au moderateur si ajout
              * sur adresse de ville que celui ci modere
              * */
             $arrayListeModerateurs = $u->getArrayIdModerateursActifsFromVille($this->variablesPost['ville'], array("sqlWhere" => " AND alerteMail='1' "));
             if (count($arrayListeModerateurs) > 0) {
                 foreach ($arrayListeModerateurs as $indice => $idModerateur) {
                     if ($this->session->getFromSession("utilisateurConnecte" . $this->idSite) != $idModerateur) {
                         $mailModerateur = $u->getMailUtilisateur($idModerateur);
                         if ($u->isMailEnvoiImmediat($idModerateur)) {
                             $mail->sendMail($mail->getSiteMail(), $mailModerateur, "archi-strasbourg.org : " . "un utilisateur a créé un nouveau dossier - " . $adressePourSujetMail, $message, true);
                         } else {
                             // envoi regroupé
                             $u->ajouteMailEnvoiRegroupes(array('contenu' => $message, 'idDestinataire' => $idModerateur, 'idTypeMailRegroupement' => 3));
                         }
                     }
                 }
             }
         }
         //echo $retourEvenement["html"];
         if ($type == "personne") {
             header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'evenementListe', 'selection' => "personne", 'id' => $idAdresse), false, false));
         } else {
             header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses, 'archiIdAdresse' => $value['idAdresse']), false, false));
         }
     }
 }
 /**
  * Affiche une source
  * 
  * @param int $id ID de la source
  * 
  * @return string HTML
  * */
 public function afficher($id)
 {
     $html = '';
     $formulaire = new formGenerator();
     $bbCode = new bbCodeObject();
     if ($formulaire->estChiffre($id) == 1) {
         $sqlId = $id;
     } else {
         echo _("Erreur,  l'id n'est pas valide ! Id automatiquement défini");
         $sqlId = '(SELECT MAX(idSource) FROM source)';
     }
     $sql = "SELECT s.idSource,  s.nom AS nomSource,  s.idTypeSource,  s.description,  tS.nom AS nomTypeSource\n            FROM source s \n            LEFT JOIN typeSource tS USING (idTypeSource) \n            WHERE idSource = " . $sqlId . " LIMIT 1";
     if ($rep = $this->connexionBdd->requete($sql)) {
         $res = mysql_fetch_object($rep);
         $t = new Template('modules/archi/templates/');
         $t->set_filenames(array('ev' => 'source.tpl'));
         $e = new archiEvenement();
         $retourEvenement = $e->afficherListe(array('selection' => 'source', 'id' => $res->idSource));
         $t->assign_vars(array('nom' => stripslashes($res->nomSource), 'nomType' => $res->nomTypeSource, 'description' => stripslashes($res->description), 'urlAjout' => $this->creerUrl('ajouterSource'), 'evenementLies' => $retourEvenement['html']));
         ob_start();
         $t->pparse('ev');
         $html .= ob_get_contents();
         ob_end_clean();
     } else {
         echo _("Erreur,  aucun résultat");
     }
     return $html;
 }
 /**
  * This method save the interest with
  */
 public function saveInterest()
 {
     $t = new Template($this->getCheminPhysique() . $this->cheminTemplates . "interest/");
     $t->set_filenames(array('confirm' => 'confirm.tpl'));
     $urlBack = $this->creerUrl('', 'mesInterets', array());
     $txtLink = "Revenir à la liste de mes intérêts";
     if (isset($this->variablesPost) && !empty($this->variablesPost)) {
         $interets = $this->variablesPost;
     } elseif (isset($this->variablesGet) && !empty($this->variablesGet)) {
         $interets = $this->variablesGet;
     }
     /*
      * Initially, it was adding related nesting element in the interests of the user
      * Client asked to add only the smallest element in interest (if neighborhood selected, don't add the city and the country)
      * Little array handling to satified the client need, to revert, delete the two following loops 
      */
     foreach ($interets as $key => $int) {
         if ($int == 0) {
             unset($interets[$key]);
         }
     }
     while (count($interets) > 1) {
         array_shift($interets);
     }
     $requestParameters = array();
     if ($interets['rue'] != 0) {
         $requestParameters[] = array('table' => '_interetRue', 'fieldName1' => 'idUtilisateur', 'fieldName2' => 'idRue', 'idInteret' => $interets['rue'], 'userId' => $this->userId);
     }
     if ($interets['sousQuartier'] != 0) {
         $requestParameters[] = array('table' => '_interetSousQuartier', 'fieldName1' => 'idUtilisateur', 'fieldName2' => 'idSousQuartier', 'idInteret' => $interets['sousQuartier'], 'userId' => $this->userId);
     }
     if ($interets['quartier'] != 0) {
         $requestParameters[] = array('table' => '_interetQuartier', 'fieldName1' => 'idUtilisateur', 'fieldName2' => 'idQuartier', 'idInteret' => $interets['quartier'], 'userId' => $this->userId);
     }
     if ($interets['ville'] != 0) {
         $requestParameters[] = array('table' => '_interetVille', 'fieldName1' => 'idUtilisateur', 'fieldName2' => 'idVille', 'idInteret' => $interets['ville'], 'userId' => $this->userId);
     }
     if ($interets['pays'] != 0) {
         $requestParameters[] = array('table' => '_interetPays', 'fieldName1' => 'idUtilisateur', 'fieldName2' => 'idPays', 'idInteret' => $interets['pays'], 'userId' => $this->userId);
     }
     if ($interets['adresse'] != 0) {
         $idHistoriqueAdresse = $interets['adresse'];
         $requestParameters[] = array('table' => '_interetAdresse', 'fieldName1' => 'idUtilisateur', 'fieldName2' => 'idHistoriqueAdresse', 'idInteret' => $interets['adresse'], 'userId' => $this->userId);
         $requete = "\n\t\t\t\t\tSELECT ae.idEvenement as idEvenementGroupeAdresse, ae.idAdresse as idAdresse \n\t\t\t\t\tFROM _adresseEvenement ae\n\t\t\t\t\tLEFT JOIN historiqueAdresse ha on ha.idAdresse = ae.idAdresse \n\t\t\t\t\tWHERE ha.idHistoriqueAdresse  = " . $idHistoriqueAdresse . "\n\t\t\t\t\t";
         $result = $this->connexionBdd->requete($requete);
         $fetch = mysql_fetch_array($result);
         $idAdresse = $fetch['idAdresse'];
         $idEvenementGroupeAdresse = $fetch['idEvenementGroupeAdresse'];
         $evenement = new archiEvenement();
         $titreAdresse = $evenement->getIntituleAdresseFrom($idAdresse, 'idAdresse');
         $urlBack = $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse));
         $txtLink = "Aller à l'adresse " . $titreAdresse;
     }
     if ($interets['personne']) {
         $requestParameters[] = array('table' => '_interetPersonne', 'fieldName1' => 'idUtilisateur', 'fieldName2' => 'idPersonne', 'idInteret' => $interets['personne'], 'userId' => $this->userId);
         $urlBack = $this->creerUrl('', 'evenementListe', array('selection' => 'personne', 'id' => $interets['personne']));
         $txtLink = "Retour à la fiche de la personne";
     }
     $nbEltInserted = 0;
     foreach ($requestParameters as $rp) {
         //Insert if not exists
         $requete = "\n\t\t\t\t\tINSERT INTO " . $rp['table'] . " (" . $rp['fieldName1'] . "," . $rp['fieldName2'] . ",created)\n\t\t\t\t\tSELECT '" . $this->userId . "', '" . $rp['idInteret'] . "' , now()\n\t\t\t\t\tFROM DUAL\n\t\t\t\t\tWHERE NOT EXISTS (SELECT * FROM `" . $rp['table'] . "`\n\t\t\t\t\tWHERE " . $rp['fieldName1'] . "='" . $this->userId . "' AND " . $rp['fieldName2'] . "='" . $rp['idInteret'] . "')\n\t\t\t\t\tLIMIT 1\n\t\t\t\t\t";
         $res = $this->connexionBdd->requete($requete, false);
     }
     $this->messages->addConfirmation('Intérêt(s) sauvegardé(s) avec succès !');
     $t->assign_vars(array('message' => $this->messages->display(), 'textLink' => $txtLink, 'urlBack' => $urlBack));
     ob_start();
     $t->pparse('confirm');
     $html .= ob_get_contents();
     ob_end_clean();
     return $html;
 }
 /**
  * Affichage de la liste des image dans le formulaire de modif de position
  *
  * @param array $params Paramètres
  *
  * @return string HTML
  * */
 public function afficheFormulaireModifPosition($params = array())
 {
     $html = "";
     $imageObj = new imageObject();
     $adresse = new archiAdresse();
     $html .= "<h1>Position des images</h1><br>";
     $evenement = new archiEvenement();
     // affichages des recapitulatifs en haut de la page ( adresse + titres des evenements)
     $idEvenementGroupeAdresse = $evenement->getParent($this->variablesGet['archiIdEvenement']);
     $html .= $adresse->afficherRecapitulatifAdresses($idEvenementGroupeAdresse);
     $html .= $evenement->afficherRecapitulatifAncres($idEvenementGroupeAdresse, $params['idEvenement']);
     $html .= $evenement->afficherLiensModificationEvenement($params['idEvenement']);
     $html .= "Deplacez les images par drag and drop.";
     $html .= "<script>" . $imageObj->getJSFunctionsDragAndDrop() . "</script>";
     $reqImages = $this->getImagesFromEvenement(array('idEvenement' => $params['idEvenement'], 'select' => "hi1.idHistoriqueImage as idHistoriqueImage,  hi1.dateUpload as dateUpload"));
     $resImages = $this->connexionBdd->requete($reqImages);
     while ($fetch = mysql_fetch_assoc($resImages)) {
         $imageObj->addImageDragAndDrop(array('imageSrc' => 'resizeImage.php?id=' . $fetch['idHistoriqueImage'], 'idHistoriqueImage' => $fetch['idHistoriqueImage']));
     }
     $reqAdresses = $adresse->getIdAdressesFromIdEvenement(array('idEvenement' => $params['idEvenement']));
     $resAdresses = $this->connexionBdd->requete($reqAdresses);
     $idAdresse = 0;
     if (mysql_num_rows($resAdresses) > 0) {
         $fetchAdresses = mysql_fetch_assoc($resAdresses);
         $idAdresse = $fetchAdresses['idAdresse'];
     }
     $html .= "<form action='" . $this->creerUrl('enregistrePositionsImages', 'adresseDetail', array('archiIdEvenement' => $params['idEvenement'], 'archiIdAdresse' => $idAdresse)) . "' name='formDragAndDrop' id='formDragAndDrop' method='POST' enctype='multipart/form-data'>";
     $html .= "<table><tr><td>";
     $html .= $imageObj->getDragAndDrop();
     $html .= "</td></tr></table>";
     $html .= "<input type='submit' onclick=\"" . $imageObj->getJSSubmitDragAndDrop() . "\" name='validePosition' value='" . _("Valider") . "'>";
     $html .= "</form>";
     return $html;
 }
 /**
  * Affiche la liste des personnes liées à une source
  *
  * @param int $idSource ID de la source
  *
  * @return void
  * */
 public static function getPersonsFromSource($idSource)
 {
     global $config;
     $req = "SELECT idEvenement\n            FROM `historiqueEvenement`\n            WHERE `idSource` =" . $idSource;
     $res = $config->connexionBdd->requete($req);
     $e = new archiEvenement();
     while ($event = mysql_fetch_object($res)) {
         $idEvenementGroupeAdresse = $e->getIdEvenementGroupeAdresseFromIdEvenement($event->idEvenement);
         if ($idPerson = archiPersonne::isPerson($idEvenementGroupeAdresse)) {
             $person = new archiPersonne($idPerson);
             $people[] = $person->getInfosPersonne($idPerson);
         }
     }
     if (isset($people)) {
         $already = array();
         print "<b>Voici la liste des personnes auxquelles cette source est attachée</b>";
         print '<table class="results">';
         foreach ($people as $person) {
             if (!in_array($person['idPersonne'], $already)) {
                 $already[] = $person['idPersonne'];
                 print '<tr class="listAddressItem">
                 <td><a href="' . $config->creerUrl("", "evenementListe", array("selection" => "personne", "id" => $person['idPersonne'])) . '"><img src="' . archiPersonne::getImage($person['idPersonne'], "mini", false) . '" border=0 alt=""></a> <span><br/><a href="' . $config->creerUrl("", "evenementListe", array("selection" => "personne", "id" => $person['idPersonne'])) . '" >' . stripslashes($person['prenom'] . " " . $person['nom']) . '</a></span><br/><span style="font-size:11px;">' . $person['nomMetier'] . '</span></td>
                 </tr>';
             }
         }
         print '</table>';
     }
 }
 public function rechercheAvanceeEvenement($ordres = array())
 {
     $html = '';
     $tabFormulaire = array();
     $criteres = array();
     $modeAffichage = '';
     if (isset($this->variablesGet['modeAffichage'])) {
         $modeAffichage = $this->variablesGet['modeAffichage'];
     }
     if (isset($ordres['modeAffichage'])) {
         $modeAffichage = $ordres['modeAffichage'];
     }
     $formulaire = new formGenerator();
     if (isset($this->variablesGet['submit'])) {
         $tabFormulaire = array('motcle' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'text'), 'courant' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'multiple', 'checkExist' => array('table' => 'courantArchitectural', 'primaryKey' => 'idCourantArchitectural')), 'typeStructure' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'typeStructure', 'primaryKey' => 'idTypeStructure')), 'typeEvenement' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'typeEvenement', 'primaryKey' => 'idTypeEvenement')), 'source' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'source', 'primaryKey' => 'idSource')), 'personnes' => array('default' => 'aucune', 'value' => '', 'required' => false, 'error' => '', 'type' => 'multiple', 'checkExist' => array('table' => 'personne', 'primaryKey' => 'idPersonne')), 'anneeDebut' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric'), 'anneeFin' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric'), 'MH' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'checkbox'), 'ISMH' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'checkbox'));
         $erreur = $formulaire->getArrayFromPost($tabFormulaire, $_GET);
         if (count($erreur) == 0) {
             foreach ($tabFormulaire as $nom => $valeur) {
                 $criteres['recherche_' . $nom] = $valeur['value'];
             }
             $evenement = new archiEvenement();
             $arrayListeEvenements = $evenement->getIdEvenementsFromRecherche($criteres, 'listeEvenement.tpl', $modeAffichage);
             $arrayListeEvenements = array_unique($arrayListeEvenements);
             $adresse = new archiAdresse();
             $arrayListeEvenementsParents = array();
             foreach ($arrayListeEvenements as $idEvenementFils) {
                 //$resAdresse = $adresse->getAdressesFromEvenementGroupeAdresses($evenement->getParent($idEvenementFils));
                 //$fetchAdresse = mysql_fetch_assoc($resAdresse);
                 //$html .= "<a href=\"".$this->creerUrl('','adresseDetail',array('archiIdAdresse'=>$fetchAdresse['idAdresse']))."\">".stripslashes($adresse->getIntituleAdresse($fetchAdresse))."</a><br><br>";
                 $arrayListeEvenementsParents[] = $evenement->getParent($idEvenementFils);
             }
             // dans le cas de l'affichage des sources du site , on va rajouter la liste des adresses ou les photos sont concernées aussi par la source courante
             if (isset($this->variablesGet['archiAffichage']) && $this->variablesGet['archiAffichage'] == "listeAdressesFromSource" && isset($this->variablesGet['source']) && $this->variablesGet['source'] != '') {
                 $reqImages = "\n\t\t\t\t\t\t\tSELECT distinct ae.idEvenement as idEvenementGA\n\t\t\t\t\t\t\tFROM _adresseEvenement ae\n\t\t\t\t\t\t\tLEFT JOIN historiqueImage hi1 ON hi1.idSource = '" . $this->variablesGet['source'] . "'\n\t\t\t\t\t\t\t\t\tLEFT JOIN historiqueImage hi2 ON hi2.idImage = hi1.idImage\n\t\t\t\t\t\t\t\t\tLEFT JOIN _evenementImage ei ON ei.idImage = hi1.idImage\n\t\t\t\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = ei.idEvenement\n\t\t\t\t\t\t\t\t\tWHERE 1=1\n\t\t\t\t\t\t\t\t\tAND ae.idEvenement = ee.idEvenement\n\t\t\t\t\t\t\t\t\tGROUP BY hi1.idImage, hi1.idHistoriqueImage\n\t\t\t\t\t\t\t\t\tHAVING hi1.idHistoriqueImage = max(hi2.idHistoriqueImage)\n\n\t\t\t\t\t\t\t\t\t";
                 $resImages = $this->connexionBdd->requete($reqImages);
                 while ($fetchImages = mysql_fetch_assoc($resImages)) {
                     $arrayListeEvenementsParents[] = $fetchImages['idEvenementGA'];
                 }
                 $arrayListeEvenementsParents = array_unique($arrayListeEvenementsParents);
                 if (isset($this->variablesGet['source']) && $this->variablesGet['source'] == '24') {
                     // on comptabilise les images avec un numero d'archive sans idSource (comptabilisé avec la source "archives municipales"
                     $reqImagesAvecNumeroArchiveSansIdSource = "\n\t\t\t\t\t\t\t\tSELECT distinct ae.idEvenement as idEvenementGA\n\t\t\t\t\t\t\t\tFROM _adresseEvenement ae\n\t\t\t\t\t\t\t\tLEFT JOIN historiqueImage hi1 ON hi1.numeroArchive<>''\n\t\t\t\t\t\t\t\tLEFT JOIN historiqueImage hi2 ON hi2.idImage = hi1.idImage\n\t\t\t\t\t\t\t\tLEFT JOIN _evenementImage ei ON ei.idImage = hi1.idImage\n\t\t\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = ei.idEvenement\n\t\t\t\t\t\t\t\tWHERE 1=1\n\t\t\t\t\t\t\t\tAND (hi1.idSource='0' OR hi1.idSource='')\n\t\t\t\t\t\t\t\tAND ae.idEvenement = ee.idEvenement\n\t\t\t\t\t\t\t\tGROUP BY hi1.idImage, hi1.idHistoriqueImage\n\t\t\t\t\t\t\t\tHAVING hi1.idHistoriqueImage = max(hi2.idHistoriqueImage)\n\t\t\t\t\t\t\t\t";
                     $resImagesAvecNumeroArchiveSansIdSource = $this->connexionBdd->requete($reqImagesAvecNumeroArchiveSansIdSource);
                     while ($fetchImagesAvecNumeroArchiveSansIdSource = mysql_fetch_assoc($resImagesAvecNumeroArchiveSansIdSource)) {
                         $arrayListeEvenementsParents[] = $fetchImagesAvecNumeroArchiveSansIdSource['idEvenementGA'];
                     }
                     $arrayListeEvenementsParents = array_unique($arrayListeEvenementsParents);
                 }
                 if (isset($this->variablesGet['source']) && $this->variablesGet['source'] == '24') {
                     // on comptabilise les evenements  avec un numero d'archive sans idSource (comptabilisé avec la source "archives municipales"
                     $reqEvenementAvecNumeroArchiveSansIdSource = "\n\t\t\t\t\t\t\t\tSELECT distinct ae.idEvenement as idEvenementGA\n\t\t\t\t\t\t\t\tFROM _adresseEvenement ae\n\t\t\t\t\t\t\t\tLEFT JOIN evenements he1 ON he1.numeroArchive<>''\n\t\t\t\t\t\t\t\tLEFT JOIN evenements he2 ON he2.idEvenement = he1.idEvenement\n\t\t\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = he1.idEvenement\n\t\t\t\t\t\t\t\tWHERE 1=1\n\t\t\t\t\t\t\t\tAND (he1.idSource='0' OR he1.idSource='')\n\t\t\t\t\t\t\t\tAND ae.idEvenement = ee.idEvenement\n\t\t\t\t\t\t\t\tGROUP BY he1.idEvenement\n\t\t\t\t\t\t\t\t";
                     $resEvenementAvecNumeroArchiveSansIdSource = $this->connexionBdd->requete($reqEvenementAvecNumeroArchiveSansIdSource);
                     while ($fetchEvenementAvecNumeroArchiveSansIdSource = mysql_fetch_assoc($resEvenementAvecNumeroArchiveSansIdSource)) {
                         $arrayListeEvenementsParents[] = $fetchEvenementAvecNumeroArchiveSansIdSource['idEvenementGA'];
                     }
                     $arrayListeEvenementsParents = array_unique($arrayListeEvenementsParents);
                 }
             }
             $retourAdresses = $adresse->afficherListe(array('groupesAdressesSupplementairesExternes' => $arrayListeEvenementsParents), $modeAffichage);
             $html .= $retourAdresses['html'];
         }
     }
     if (!isset($ordres['sansFormulaire'])) {
         $html .= $this->afficheFormulaireEvenement($tabFormulaire, $ordres);
     }
     return $html;
 }