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;
 }
 public function getPrivateProfil()
 {
     $auth = new ArchiAuthentification();
     if ($auth->estConnecte()) {
         $userId = $auth->getIdUtilisateur();
     } else {
         $this->messages->addError("Identifiant d'utilisateur incorrect");
         $this->messages->display();
         return false;
     }
     //Utilisateur banni
     if (!$this->isUtilisateurBanni(array('idUtilisateur' => $idUtilisateur))) {
         $t = new Template('modules/archi/templates/utilisateur');
         $t->set_filenames(array('general' => 'profile.tpl', 'userStats' => 'statistics.tpl'));
         //Presentation
         $presentation = $this->getUserPresentation($userId);
         //Statistics
         $statistics = $this->getProfileStatistics($userId);
         foreach ($statistics as $stat) {
             $t->assign_block_vars('statistic', $stat);
         }
         //Informations
         $info = $this->getUserInfos($userId);
         //Formulaire
         $form = $this->getUserForm();
         //Get contributions
         $contributions = $this->getAllContribution($userId);
         $t->assign_vars(array('userPresentation' => $presentation, 'userFormInfo' => $form, 'userInformations' => $info, 'userContributions' => $contributions));
         $t->assign_var_from_handle('userStatistics', 'userStats');
         $t->pparse('general');
     } else {
         $this->messages->addWarning("Cet utilisateur est banni");
         $this->messages->display();
         return false;
     }
 }
 /**
  * Get the form for comment
  *
  *
  * @param unknown $idEvenement
  * @param unknown $fields
  * @param string $ty : type of comment
  * @return string
  */
 public function getFormComment($idEvenement, $fields, $ty = '')
 {
     $t = new Template('modules/archi/templates/');
     $labelButton = "Ajouter un commentaire";
     $type = $ty == '' ? 0 : $ty;
     $classButton = 'addCommentButtonWrapper';
     $auth = new ArchiAuthentification();
     if ($auth->estConnecte()) {
         $t->set_filenames(array('formComment' => 'comment/comment.tpl'));
         $url = "";
         $userId = $auth->getIdUtilisateur();
         $utilisateur = new archiUtilisateur();
         $utilisateur->setUserId($userId);
         $nom = $utilisateur->getNom();
         $prenom = $utilisateur->getPrenom();
         $email = $utilisateur->getEmail();
         $urlProfilePic = $utilisateur->getImageAvatar(array('idUtilisateur' => $userId));
         $profileAlt = $prenom . " " . $nom;
         if ($ty == '') {
             $array_type = array();
             $url = $this->creerUrl('enregistreCommentaire', '', array());
             $labelButton .= " sur l'adresse";
             $classButton .= " addCommentAdresseButtonWrapper";
         } else {
             $array_type = array('type' => array('id' => 'type', 'type' => 'hidden', 'value' => $type));
             $url = $this->creerUrl('enregistreCommentaireEvenement', '', array());
         }
         $inputs = array('nom' => array('id' => 'nom', 'type' => 'hidden', 'value' => $nom), 'prenom' => array('id' => 'prenom', 'type' => 'hidden', 'value' => $prenom), 'email' => array('id' => 'email', 'type' => 'hidden', 'value' => $email), 'idEvenementGroupeAdresse' => array('id' => 'idEvenementGroupeAdresse', 'type' => 'hidden', 'value' => $idEvenement));
         $inputs = array_merge($inputs, $array_type);
         foreach ($inputs as $input) {
             $t->assign_block_vars('input', $input);
         }
         $t->assign_vars(array('urlRedirect' => $url, 'name' => 'formAjoutCommentaire', 'urlProfilePic' => $urlProfilePic, 'profileAlt' => $profileAlt, 'labelButton' => $labelButton, 'classButton' => $classButton, 'idEvenement' => $idEvenement));
     } else {
         $t->set_filenames(array('formComment' => 'comment/notconnected.tpl'));
         $urlConnexion = $this->creerUrl('', 'authentification');
         $urlInscription = $this->creerUrl('', 'inscription');
         if ($ty == '') {
             $labelButton .= " sur l'adresse";
             $classButton .= " addCommentAdresseButtonWrapper";
         }
         $t->assign_vars(array('urlInscription' => $urlInscription, 'urlConnexion' => $urlConnexion, 'labelButton' => $labelButton, 'classButton' => $classButton, 'idEvenement' => $idEvenement));
     }
     //Setting CSS class for opening the form
     if (isset($this->variablesGet['commentFormActive']) && $this->variablesGet['commentFormActive']) {
         if ($this->variablesGet['commentFormActive'] == $idEvenement) {
             $t->assign_var('classWrappingDiv', 'active');
         }
     }
     ob_start();
     $t->pparse('formComment');
     $html .= ob_get_contents();
     ob_end_clean();
     return $html;
 }
 public function getFavorisByCategories()
 {
     $returnArray = array();
     $auth = new ArchiAuthentification();
     if (!$auth->estConnecte()) {
         $this->messages->addError('Impossible de récupérer vos favoris, vous n\'êtes pas connecté.');
         $this->messages->display();
         return false;
     }
     $userId = $auth->getIdUtilisateur();
     //Rues
     $requete = "\n\t\tSELECT idRue\n\t\tFROM _interetRue\n\t\tWHERE idUtilisateur = {$userId}\n\t\t";
     $result = $this->connexionBdd->requete($requete);
     $array = array();
     while ($row = mysql_fetch_assoc($result)) {
         $array[] = $row['idRue'];
     }
     if (!empty($array)) {
         $returnArray['rue'] = $array;
     }
     //Sous-quartier
     $requete = "\n\t\tSELECT idSousQuartier\n\t\tFROM _interetSousQuartier\n\t\tWHERE idUtilisateur = {$userId}\n\t\t";
     $result = $this->connexionBdd->requete($requete);
     $array = array();
     while ($row = mysql_fetch_assoc($result)) {
         $array[] = $row['idSousQuartier'];
     }
     if (!empty($array)) {
         $returnArray['sousQuartier'] = $array;
     }
     //Quartier
     $requete = "\n\t\tSELECT idQuartier\n\t\tFROM _interetQuartier\n\t\tWHERE idUtilisateur = {$userId}\n\t\t";
     $result = $this->connexionBdd->requete($requete);
     $array = array();
     while ($row = mysql_fetch_assoc($result)) {
         $array[] = $row['idQuartier'];
     }
     if (!empty($array)) {
         $returnArray['quartier'] = $array;
     }
     //Villes
     $requete = "\n\t\tSELECT idVille\n\t\tFROM _interetVille\n\t\tWHERE idUtilisateur = {$userId}\n\t\t";
     $result = $this->connexionBdd->requete($requete);
     $array = array();
     while ($row = mysql_fetch_assoc($result)) {
         $array[] = $row['idVille'];
     }
     if (!empty($array)) {
         $returnArray['ville'] = $array;
     }
     //Pays
     $requete = "\n\t\tSELECT idPays\n\t\tFROM _interetPays\n\t\tWHERE idUtilisateur = {$userId}\n\t\t";
     $result = $this->connexionBdd->requete($requete);
     $array = array();
     while ($row = mysql_fetch_assoc($result)) {
         $array[] = $row['idPays'];
     }
     if (!empty($array)) {
         $returnArray['pays'] = $array;
     }
     return $returnArray;
 }