public function enregistreModificationAdresse() { $errors = array(); if (isset($this->variablesGet['tableName']) && $this->variablesGet['tableName'] != '') { switch ($this->variablesGet['tableName']) { // ********************************************************************************************************************************************************** // rue // ********************************************************************************************************************************************************** case 'rue': $req = ""; if (isset($this->variablesPost['sousQuartiers']) && $this->variablesPost['sousQuartiers'] != '0') { $req = "UPDATE rue SET idSousQuartier='" . $this->variablesPost['sousQuartiers'] . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'"; $idModifie = $this->variablesPost['idRue']; } elseif (isset($this->variablesPost['quartiers']) && $this->variablesPost['quartiers'] != '0') { // recherche du sous quartier 'autre' , s'il n'existe pas , on le cree $reqSousQuartierAutre = "\n SELECT idSousQuartier\n FROM sousQuartier\n WHERE idQuartier = '" . $this->variablesPost['quartiers'] . "'\n AND nom='autre'\n "; $resSousQuartierAutre = $this->connexionBdd->requete($reqSousQuartierAutre); $idSousQuartierAutre = 0; if (mysql_num_rows($resSousQuartierAutre) == 1) { // le sousQuartier autre existe , on recupere son ID $fetchSousQuartierAutre = mysql_fetch_assoc($resSousQuartierAutre); $idSousQuartierAutre = $fetchSousQuartierAutre['idSousQuartier']; } if (mysql_num_rows($resSousQuartierAutre) > 1) { $errors[] = "Probleme detecté dans les sousQuartiers 'autre', merci de contacter l'administrateur.<br>"; } if (mysql_num_rows($resSousQuartierAutre) == 0) { // le sousQuartier 'autre' pour le quartier n'existe pas , il faut le creer et renvoyer son ID $reqInsertNouveauSousQuartierAutre = "INSERT INTO sousQuartier (idQuartier,nom) VALUES ('" . $this->variablesPost['quartiers'] . "',\"autre\")"; $resInsertNouveauSousQuartierAutre = $this->connexionBdd->requete($reqInsertNouveauSousQuartierAutre); $idSousQuartierAutre = mysql_insert_id(); } if ($idSousQuartierAutre != 0) { $req = "UPDATE rue SET idSousQuartier='" . $idSousQuartierAutre . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'"; $idModifie = $this->variablesPost['idRue']; } else { $errors[] = "Il y a eu un souci a la selection automatique du sous quartier, merci de contacter l'administrateur.<br>"; } } elseif (isset($this->variablesPost['ville']) && $this->variablesPost['ville'] != '0') { // l'adresse est une ville , ceci ne sera pas beaucoup utilisé car en principe une adresse est au moins une ville et un quartier , mais il a des adresses qui ne sont que des villes quand meme // recherche du quartier 'autre' de la ville s'il n'existe pas , on le cree $reqQuartierAutre = "SELECT idQuartier FROM quartier WHERE idVille='" . $this->variablesPost['ville'] . "' and nom='autre'"; $resQuartierAutre = $this->connexionBdd->requete($reqQuartierAutre); $idQuartierAutre = 0; if (mysql_num_rows($resQuartierAutre) == 1) { // le quartier autre existe, on passe au sousQuartier $fetchQuartierAutre = mysql_fetch_assoc($resQuartierAutre); $idQuartierAutre = $fetchQuartierAutre['idQuartier']; // on verifie que le sousQuartiers 'autre' existe pour le quartier 'autre' trouve // recherche du sous quartier 'autre' , s'il n'existe pas , on le cree $reqSousQuartierAutre = "\n SELECT idSousQuartier\n FROM sousQuartier\n WHERE idQuartier = '" . $idQuartierAutre . "'\n AND nom='autre'\n "; $resSousQuartierAutre = $this->connexionBdd->requete($reqSousQuartierAutre); $idSousQuartierAutre = 0; if (mysql_num_rows($resSousQuartierAutre) == 1) { // le sousQuartier autre existe , on recupere son ID $fetchSousQuartierAutre = mysql_fetch_assoc($resSousQuartierAutre); $idSousQuartierAutre = $fetchSousQuartierAutre['idSousQuartier']; } if (mysql_num_rows($resSousQuartierAutre) > 1) { $errors[] = "Probleme detecté dans les sousQuartiers 'autre', merci de contacter l'administrateur.<br>"; } if (mysql_num_rows($resSousQuartierAutre) == 0) { // le sousQuartier 'autre' pour le quartier n'existe pas , il faut le creer et renvoyer son ID $reqInsertNouveauSousQuartierAutre = "INSERT INTO sousQuartier (idQuartier,nom) VALUES ('" . $idQuartierAutre . "',\"autre\")"; $resInsertNouveauSousQuartierAutre = $this->connexionBdd->requete($reqInsertNouveauSousQuartierAutre); $idSousQuartierAutre = mysql_insert_id(); } if ($idSousQuartierAutre != 0) { $req = "UPDATE rue SET idSousQuartier='" . $idSousQuartierAutre . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'"; } else { $errors[] = "Il y a eu un souci a la selection automatique du sous quartier, merci de contacter l'administrateur.<br>"; } if (mysql_num_rows($resQuartierAutre) > 1) { $errors[] = "Probleme detecté dans les quartiers 'autre', merci de contacter l'administrateur.<br>"; } } if (mysql_num_rows($resQuartierAutre) == 0) { // le quartier autre n'existe pas , il faut le cree $reqInsertQuartierAutre = "INSERT INTO quartier (idVille,nom) VALUES ('" . $this->variablesPost['ville'] . "','autre')"; $resInsertQuartierAutre = $this->connexionBdd->requete($reqInsertQuartierAutre); $idQuartierAutre = mysql_insert_id(); // on ajoute aussi le sousQuartier 'autre' pour le quartier 'autre' cree , on va quand meme regarder s'il n'existe pas un enregistrement pour etre sur qu'il n'y a pas de souci d'integrité // recherche du sous quartier 'autre' , s'il n'existe pas , on le cree $reqSousQuartierAutre = "\n SELECT idSousQuartier\n FROM sousQuartier\n WHERE idQuartier = '" . $idQuartierAutre . "'\n AND nom='autre'\n "; $resSousQuartierAutre = $this->connexionBdd->requete($reqSousQuartierAutre); $idSousQuartierAutre = 0; if (mysql_num_rows($resSousQuartierAutre) == 1) { // le sousQuartier autre existe , on recupere son ID $fetchSousQuartierAutre = mysql_fetch_assoc($resSousQuartierAutre); $idSousQuartierAutre = $fetchSousQuartierAutre['idSousQuartier']; } if (mysql_num_rows($resSousQuartierAutre) > 1) { $errors[] = "Probleme detecté dans les sousQuartiers 'autre', merci de contacter l'administrateur.<br>"; } if (mysql_num_rows($resSousQuartierAutre) == 0) { // le sousQuartier 'autre' pour le quartier n'existe pas , il faut le creer et renvoyer son ID $reqInsertNouveauSousQuartierAutre = "INSERT INTO sousQuartier (idQuartier,nom) VALUES ('" . $idQuartierAutre . "',\"autre\")"; $resInsertNouveauSousQuartierAutre = $this->connexionBdd->requete($reqInsertNouveauSousQuartierAutre); $idSousQuartierAutre = mysql_insert_id(); } if ($idSousQuartierAutre != 0) { $req = "UPDATE rue SET idSousQuartier='" . $idSousQuartierAutre . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'"; } else { $errors[] = "Il y a eu un souci a la selection automatique du sous quartier, merci de contacter l'administrateur.<br>"; } if (mysql_num_rows($resQuartierAutre) > 1) { $errors[] = "Probleme detecté dans les quartiers 'autre', merci de contacter l'administrateur.<br>"; } } } if ($req != "") { // execution de la requete de mise a jour de la rue $res = $this->connexionBdd->requete($req); $idModifie = $this->variablesPost['idRue']; } else { $errors[] = "erreur dans la modification de la rue<br>"; } break; // ********************************************************************************************************************************************************** // sous quartier // ********************************************************************************************************************************************************** // ********************************************************************************************************************************************************** // sous quartier // ********************************************************************************************************************************************************** case 'sousQuartier': // un sousQuartier appartient toujours a un quartier //array(8) { ["idRue"]=> string(1) "5" ["pays"]=> string(1) "1" ["ville"]=> string(1) "1" ["quartiers"]=> string(2) "13" ["sousQuartiers"]=> string(1) "8" ["intitule"]=> string(13) "Saint-Nicolas" ["complement"]=> string(4) "quai" ["modifier"]=> string(8) "Modifier" } $req = ""; if ($this->variablesPost['quartiers'] != '0' && $this->variablesPost['ville'] != '0' && $this->variablesPost['pays'] != '0') { $req = "UPDATE sousQuartier SET idQuartier = '" . $this->variablesPost['quartiers'] . "',nom=\"" . $this->variablesPost['intitule'] . "\" WHERE idSousQuartier = '" . $this->variablesPost['idSousQuartier'] . "'"; } else { $errors[] = "Erreur : un sous quartier ne peut pas appartenir a aucun quartier.<br>"; } if ($req != "") { // execution de la requete de mise a jour de la rue $res = $this->connexionBdd->requete($req); $idModifie = $this->variablesPost['idSousQuartier']; } else { $errors[] = "erreur dans la modification du sous quartier<br>"; } break; // ********************************************************************************************************************************************************** // quartier // ********************************************************************************************************************************************************** // ********************************************************************************************************************************************************** // quartier // ********************************************************************************************************************************************************** case 'quartier': // un quartier appartient toujours a une ville //array(8) { ["idRue"]=> string(1) "5" ["pays"]=> string(1) "1" ["ville"]=> string(1) "1" ["quartiers"]=> string(2) "13" ["sousQuartiers"]=> string(1) "8" ["intitule"]=> string(13) "Saint-Nicolas" ["complement"]=> string(4) "quai" ["modifier"]=> string(8) "Modifier" } $req = ""; if ($this->variablesPost['ville'] != '0' && $this->variablesPost['pays'] != '0') { $req = "UPDATE quartier SET idVille = '" . $this->variablesPost['ville'] . "',nom=\"" . $this->variablesPost['intitule'] . "\" WHERE idQuartier = '" . $this->variablesPost['idQuartier'] . "'"; } else { $errors[] = "Erreur : un quartier ne peut pas appartenir a aucune ville.<br>"; } if ($req != "") { // execution de la requete de mise a jour de du quartier $res = $this->connexionBdd->requete($req); $idModifie = $this->variablesPost['idQuartier']; } else { $errors[] = "erreur dans la modification du quartier<br>"; } break; // ********************************************************************************************************************************************************** // ville // ********************************************************************************************************************************************************** // ********************************************************************************************************************************************************** // ville // ********************************************************************************************************************************************************** case 'ville': // une ville appartient toujours a un pays //array(8) { ["idRue"]=> string(1) "5" ["pays"]=> string(1) "1" ["ville"]=> string(1) "1" ["quartiers"]=> string(2) "13" ["sousQuartiers"]=> string(1) "8" ["intitule"]=> string(13) "Saint-Nicolas" ["complement"]=> string(4) "quai" ["modifier"]=> string(8) "Modifier" } $req = ""; if ($this->variablesPost['pays'] != '0') { $req = "UPDATE ville SET idPays = '" . $this->variablesPost['pays'] . "',nom=\"" . $this->variablesPost['intitule'] . "\",codepostal=\"" . $this->variablesPost['codePostal'] . "\", longitude='" . $this->variablesPost['longitude'] . "',latitude='" . $this->variablesPost['latitude'] . "' WHERE idVille = '" . $this->variablesPost['idVille'] . "'"; } else { $errors[] = "Erreur : une ville ne peut pas appartenir a aucun pays.<br>"; } if ($req != "") { // execution de la requete de mise a jour de la ville $res = $this->connexionBdd->requete($req); $idModifie = $this->variablesPost['idVille']; } else { $errors[] = "erreur dans la modification de la ville<br>"; } break; // ********************************************************************************************************************************************************** // pays // ********************************************************************************************************************************************************** // ********************************************************************************************************************************************************** // pays // ********************************************************************************************************************************************************** case 'pays': $req = "UPDATE pays SET nom=\"" . $this->variablesPost['intitule'] . "\" WHERE idPays = '" . $this->variablesPost['idPays'] . "'"; $res = $this->connexionBdd->requete($req); $idModifie = $this->variablesPost['idPays']; break; } if (isset($this->variablesGet['tableName']) && isset($req) && $req != '') { $mail = new mailObject(); $a = new archiAuthentification(); $u = new archiUtilisateur(); $arrayInfosUtilisateur = $u->getArrayInfosFromUtilisateur($a->getIdUtilisateur()); $messageAdmins = "Un élément d'adresse a été modifié"; $messageAdmins .= " par : " . $arrayInfosUtilisateur['nom'] . " " . $arrayInfosUtilisateur['prenom'] . "<br>"; $messageAdmins .= "type d'élément : " . $this->variablesGet['tableName'] . "<br><br>"; $messageAdmins .= "<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "'>" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "</a>"; $messageModerateur = "Un élément d'adresse a été modifié<br>"; $messageModerateur .= "type d'élément : " . $this->variablesGet['tableName'] . "<br><br>"; $messageModerateur .= "<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "'>" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "</a>"; $mail->sendMailToAdministrators($mail->getSiteMail(), "archi-strasbourg.org : un utilisateur modifié un élément d'adresse", $messageAdmins, " and alerteMail='1' ", true); $u->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $messageAdmins, 'idTypeMailRegroupement' => 6, 'criteres' => " and alerteMail='1' ")); $tableName = $this->variablesGet['tableName']; // envoi de mail aux moderateur de la ville /*if(in_array($tableName,array('rue','sousQuartier','quartier'))) { $identifiantName=''; switch($tableName) { case 'rue': $identifiantName='idRue'; break; case 'sousQuartier': $identifiantName='idSousQuartier'; break; case 'quartier': $identifiantName='idQuartier'; break; } $idVille = $this->getIdVilleFrom($idModifie,$identifiantName); $arrayListeModerateurs = $u->getArrayIdModerateursActifsFromVille($idVille,array("sqlWhere"=>" AND alerteAdresses='1' ")); if(count($arrayListeModerateurs)>0) { foreach($arrayListeModerateurs as $indice => $idModerateur) { if($idModerateur!=$a->getIdUtilisateur() && $u->isAuthorized('admin_rues',$idModerateur) && $u->isAuthorized('admin_sousQuartiers',$idModerateur) && $u->isAuthorized('admin_quartiers',$idModerateur)) { $mailModerateur = $u->getMailUtilisateur($idModerateur); $mail->sendMail($mail->getSiteMail(),$mailModerateur,"archi-strasbourg.org : un utilisateur a modifié un élément d'adresse",$messageModerateur,true); } } } }*/ } } return $errors; }
break; case 'afficheImageOriginale': $image = new archiImage(); echo $image->afficheImageOriginale($_GET['archiIdImage']); break; case 'comparaisonEvenement': $evenement = new archiEvenement(); echo $evenement->afficheComparateur(); break; case 'contact': $nom = ""; $prenom = ""; $email = ""; if ($authentification->estConnecte()) { $utilisateur = new archiUtilisateur(); $arrayUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($authentification->getIdUtilisateur()); $nom = $arrayUtilisateur['nom']; $prenom = $arrayUtilisateur['prenom']; $email = $arrayUtilisateur['mail']; } $fieldsContactForm['nom']['default'] = $nom; $fieldsContactForm['prenom']['default'] = $prenom; $fieldsContactForm['email']['default'] = $email; $configFormContact['fields'] = $fieldsContactForm; $contact = new formGenerator(); echo $contact->afficherFromArray($configFormContact); break; case 'affichePopupAttente': echo "<div style='text-align:center;" . "border:1px solid #000000;height:148px;'>"; echo "<div style='padding-top:20px;'>" . "<img src='images/indicator.gif'></div>"; echo "<div style='padding-top:20px;'>" . "Veuillez patienter, le chargement est en cours...</div>";
public function getFormulaireCommentairesHistorique($idHistoriqueAdresse = 0, $fieldsCommentaires = array(), $type = 'evenement', $id = null) { $html = ""; //$e = new archiEvenement(); //$idHistoriqueAdresse = $e->getIdEvenementGroupeAdresseFromIdEvenement($idHistoriqueAdresse); $fieldsCommentaires["idEvenementGroupeAdresse"]['default'] = $idHistoriqueAdresse; // si un utilisateur est connecté , on renseigne directement ces infos , mais on lui laisse la possibilité de modifier $authentification = new archiAuthentification(); if ($authentification->estConnecte()) { $idUtilisateur = $authentification->getIdUtilisateur(); $utilisateur = new archiUtilisateur(); $fetchUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($idUtilisateur); // patchs pour que l'on reaffiche les nom prenom et mail une fois le formulaire validé et le commentaire enregistré if (isset($this->variablesPost['nom'])) { unset($this->variablesPost['nom']); unset($_POST['nom']); } if (isset($this->variablesPost['prenom'])) { unset($this->variablesPost['prenom']); unset($_POST['prenom']); } if (isset($this->variablesPost['email'])) { unset($this->variablesPost['email']); unset($_POST['email']); } $fieldsCommentaires['nom']['default'] = stripslashes($fetchUtilisateur['nom']); $fieldsCommentaires['prenom']['default'] = stripslashes($fetchUtilisateur['prenom']); $fieldsCommentaires['email']['default'] = $fetchUtilisateur['mail']; $fieldsCommentaires['nom']['type'] = 'hidden'; $fieldsCommentaires['prenom']['type'] = 'hidden'; $fieldsCommentaires['email']['type'] = 'hidden'; unset($fieldsCommentaires['captcha']); // pas de captcha quand on est connecté $titre = ""; $type = $fieldsCommentaires['type']['default']; switch ($type) { case 'evenement': $titre = _("Ajouter un commentaire concernant l'événement"); break; case 'personne': $titre = _("Ajouter un commentaire concernant la personne"); break; default: $titre = _("Ajouter un commentaire"); } } $help = $this->getHelpMessages('helpEvenement'); $bbMiseEnFormBoutons = "<div style=''><input type=\"button\" value=\"b\" style=\"width:50px;font-weight:bold\" onclick=\"bbcode_ajout_balise('b', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('" . $help["msgGras"] . "');\" onMouseOut=\"closeContextHelp();\"/>\n\t\t\t\t<input type=\"button\" value=\"i\" style=\"width:50px;font-style:italic\" onclick=\"bbcode_ajout_balise('i', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('" . $help["msgItalic"] . "');\" onMouseOut=\"closeContextHelp();\"/>\n\t\t\t\t<input type=\"button\" value=\"u\" style=\"width:50px;text-decoration:underline;\" onclick=\"bbcode_ajout_balise('u', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('" . $help["msgUnderline"] . "');\" onMouseOut=\"closeContextHelp();\"/>\n\t\t\t\t<input type=\"button\" value=\"quote\" style=\"width:50px\" onclick=\"bbcode_ajout_balise('quote', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('" . $help["msgQuotes"] . "');\" onMouseOut=\"closeContextHelp();\"/>\n\t\t\t\t<!--<input type=\"button\" value=\"code\" style=\"width:50px\" onclick=\"bbcode_ajout_balise('code', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('{msgCode}');\" onMouseOut=\"closeContextHelp();\" onkeyup=\"bbcode_keyup(this,'apercu');\"/>-->\n\t\t\t\t<input type=\"button\" value=\"url interne\" style=\"width:75px\" onclick=\"bbcode_ajout_balise('url', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('Insérer une adresse WEB interne à archi-strasbourg.org');\" onMouseOut=\"closeContextHelp();\" onkeyup=\"bbcode_keyup(this,'apercu');\"/>\n\t\t\t\t<input type=\"button\" value=\"url externe\" style=\"width:80px\" onclick=\"bbcode_ajout_balise('urlExterne', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('Insérer une adresse WEB externe à archi-strasbourg.org');\" onMouseOut=\"closeContextHelp();\" onkeyup=\"bbcode_keyup(this,'apercu');\"/></div>"; //$fieldsCommentaires['commentaire']['htmlCodeBeforeField'] = $bbMiseEnFormBoutons; $tabCommentaires = array('titrePage' => $titre, 'formName' => 'formAjoutCommentaireEvenement', 'formAction' => $this->creerUrl('enregistreCommentaireEvenement', '', array()), 'tableHtmlCode' => " class='formComment'", 'fields' => $fieldsCommentaires, 'type' => $type); $formulaire = new formGenerator(); $bbCode = new bbCodeObject(); $jsPop = "\n\t\t\t\t<script>\n\t\t\t\t(function(\$) {\n\t\t\t\t\$(function(){\n\t\t\t\t\$('.addCommentButton').on('click',function(e){\n\t\t\t\te.preventDefault();\n\t\t\t\t\$(e.target).next().next().toggleClass('formComment');\n\t\t\t\t\$(e.target).next().next().toggleClass('activeForm');\n\t});\n\t});\n\t})(jQuery);\n\t\t\t\t</script>\n\t\t\t\t"; //formAjoutCommentaireEvenement //$this->addToJsHeader($jsPop); $this->addToJsFooter($jsPop); $html .= '<a href="#" class="addCommentButton">Ajouter un commentaire</a>'; $html .= $formulaire->afficherFromArray($tabCommentaires); return $html; }
public function afficher($tabTravail = array(), $idUtilisateur = '', $modeAffichage = 'utilisateurDetail') { $html = ''; $tabParametresPredefinis = array('pays', 'ville'); $authentification = new archiAuthentification(); $u = new archiUtilisateur(); $t = new Template('modules/archi/templates/'); $t->set_filenames(array('ev' => $modeAffichage . '.tpl')); if (empty($idUtilisateur) or !is_numeric($idUtilisateur) or $idUtilisateur < 1) { // erreur $html .= 'Erreur id invalide'; if (!$authentification->estConnecte()) { echo "<script >location.href='" . $this->creerUrl('', 'authentification', array()) . "';</script>"; } } else { // si l'on n'est pas admin on ne peut modifier que son propre compte if ($authentification->estConnecte() && ($idUtilisateur == $authentification->getIdUtilisateur() || $authentification->estAdmin())) { if ($modeAffichage == 'utilisateurProfil') { $s = new objetSession(); $infos = $u->getArrayInfosFromUtilisateur($s->getFromSession('utilisateurConnecte' . $this->idSite)); $t->assign_vars(array("phraseBienvenu" => _("Modifier vos informations"))); $t->assign_vars(array("srcImgTrombone" => $this->getUrlImage(null, "trombone.jpg"))); } $sqlIdUtilisateur = $idUtilisateur; $rep = $this->getInfosModifsPerso($idUtilisateur); if ($rep) { $idUtilisateur = $rep['idUtilisateur']; if (!empty($rep['nomVille'])) { $t->assign_block_vars('villeFavoris', array()); } $t->assign_vars(array('villeFavorite' => $rep['nomVille'], 'urlVilleFavorite' => $this->creerUrl('', 'adresseListe', array('selection' => 'ville', 'id' => $rep['idVille'], 'debut' => 0)), 'paysVilleFavorite' => $rep['nomPays'], 'urlPaysVilleFavorite' => $this->creerUrl('', 'adresseListe', array('selection' => 'pays', 'id' => $rep['idPays'], 'debut' => 0)))); // évènements créés par l'utilisateur //$e = new archiEvenement(); //$evenements = $e->afficherListe(array('selection'=>'utilisateurAjout', 'id' => $idUtilisateur)); // liste des evenements de l'utilisateur // images créés par l'utilisateur //$i = new archiImage(); //$images = $i->afficherListe(array('selection'=>'utilisateur', 'id' => $idUtilisateur)); // liste des images de l'utilisateur $t->assign_vars(array('idUtilisateurModif' => $idUtilisateur)); // **************************** if (count($tabTravail) > 0) { // recuperation des infos du formulaire $nom = $tabTravail['nom']['value']; $prenom = $tabTravail['prenom']['value']; $mail = $tabTravail['mail']['value']; if (isset($tabTravail['idProfil']['value'])) { $idProfil = $tabTravail['idProfil']['value']; } if (isset($tabTravail['alerteMail']['value'])) { $alerteMail = $tabTravail['alerteMail']['value']; } if (isset($tabTravail['idPeriodeEnvoiMailsRegroupes']['value'])) { $idPeriodeEnvoiMailsRegroupes = $tabTravail['idPeriodeEnvoiMailsRegroupes']['value']; } if (isset($tabTravail['urlSiteWeb']['value'])) { $urlSiteWeb = $tabTravail['urlSiteWeb']['value']; } if (isset($tabTravail['displayProfilContactForm']['value'])) { $displayProfilContactForm = $tabTravail['displayProfilContactForm']['value']; } foreach ($tabTravail as $name => $value) { $t->assign_vars(array($name . '-error' => $value['error'])); } } else { // recuperation des infos de la base $nom = $rep['nom']; $prenom = $rep['prenom']; $mail = $rep['mail']; $idProfil = $rep['idProfil']; $alerteMail = $rep['alerteMail']; $urlSiteWeb = $rep['urlSiteWeb']; $displayProfilContactForm = $rep['displayProfilContactForm']; $idPeriodeEnvoiMailsRegroupes = $rep['idPeriodeEnvoiMailsRegroupes']; } $d = new droitsObject(); $arrayProfils = $d->getArrayListeProfils(); $selectProfil = "<select name='idProfil' style='width:145px;'>"; foreach ($arrayProfils as $idProfilListe => $libelleProfilListe) { $checked = ""; if ($idProfil == $idProfilListe) { $checked = "selected"; } $selectProfil .= "<option value='{$idProfilListe}' {$checked}>{$libelleProfilListe}</option>"; } $selectProfil .= "</select>"; // periodicite d'envoi des mails $reqPeriodicite = "SELECT idPeriode, intitule FROM periodesEnvoiMailsRegroupes"; $resPeriodicite = $this->connexionBdd->requete($reqPeriodicite); $selectPeriodiciteMail = "<select name='idPeriodeEnvoiMailsRegroupes'>"; while ($fetchPeriodicite = mysql_fetch_assoc($resPeriodicite)) { $selected = ""; if ($idPeriodeEnvoiMailsRegroupes == $fetchPeriodicite['idPeriode']) { $selected = "selected"; } $selectPeriodiciteMail .= "<option value='" . $fetchPeriodicite['idPeriode'] . "' {$selected}>" . $fetchPeriodicite['intitule'] . "</option>"; } $selectPeriodiciteMail .= "</select>"; $t->assign_block_vars('detailUtilisateur', array('nom' => $nom, 'prenom' => $prenom, 'email' => $mail, 'onClickChoixVilleFavorite' => "document.getElementById('calqueVille').style.top=getScrollHeight()+150+'px';document.getElementById('paramChampAppelantVille').value='ville';document.getElementById('calqueVille').style.display='block';", 'ville' => $rep['idVille'], 'villetxt' => $rep['nomVille'], 'urlSiteWeb' => $urlSiteWeb, 'imageAvatar' => "<img src='" . $this->getImageAvatar(array('idUtilisateur' => $idUtilisateur)) . "' border=0>")); $authentifie = new archiAuthentification(); if ($authentifie->estConnecte() && $authentifie->estAdmin()) { $t->assign_block_vars('detailUtilisateur.utilisateurCourantIsAdmin', array()); $t->assign_vars(array('selectProfil' => $selectProfil)); //$t->assign_vars(array("urlLogsMails"=>"<a href='".$this->creerUrl('', 'afficheLogsMails', array('idUtilisateur'=>$idUtilisateur))."'>Acceder au log des mail de cet utilisateur</a>")); } if ($modeAffichage == "utilisateurDetail") { if ($authentifie->estConnecte() && $authentifie->estAdmin()) { $t->assign_vars(array('selectPeriodiciteMail' => $selectPeriodiciteMail)); $t->assign_block_vars('detailUtilisateur.banissementUtilisateurParAdmin', array()); if ($rep['compteBanni'] == '1') { $t->assign_vars(array('checkDisplayBannirUtilisateurOui' => 'checked')); } else { $t->assign_vars(array('checkDisplayBannirUtilisateurNon' => 'checked')); } } if ($this->canChangeNumeroArchiveField(array('idUtilisateur' => $idUtilisateur))) { $t->assign_vars(array('checkDisplayNumeroArchiveFieldOui' => 'checked')); } else { $t->assign_vars(array('checkDisplayNumeroArchiveFieldNon' => 'checked')); } if ($this->canChangeDateFinField(array('idUtilisateur' => $idUtilisateur))) { $t->assign_vars(array('checkDisplayDateFinFieldOui' => 'checked')); } else { $t->assign_vars(array('checkDisplayDateFinFieldNon' => 'checked')); } if ($this->canCopyright(array('idUtilisateur' => $idUtilisateur))) { $t->assign_vars(array('canCopyright1' => 'checked')); } else { $t->assign_vars(array('canCopyright0' => 'checked')); } if ($this->canModifyTags(array('idUtilisateur' => $idUtilisateur))) { $t->assign_vars(array('canModifyTags1' => 'checked')); } else { $t->assign_vars(array('canModifyTags0' => 'checked')); } if ($this->canAddWithoutStreet(array('idUtilisateur' => $idUtilisateur))) { $t->assign_vars(array('canAddWithoutStreet1' => 'checked')); } else { $t->assign_vars(array('canAddWithoutStreet0' => 'checked')); } } if ($modeAffichage == 'utilisateurProfil') { if ($authentifie->estConnecte() && ($idProfil == '3' || $idProfil == '4')) { $t->assign_block_vars('detailUtilisateur.utilisateurCourantIsAdminOrModerateur', array()); $t->assign_vars(array('selectPeriodiciteMail' => $selectPeriodiciteMail)); } } if ($authentifie->estConnecte()) { if ($rep['alerteCommentaires'] == '1') { $t->assign_vars(array('checkAlertesCommentairesOui' => 'checked="checked"')); } else { $t->assign_vars(array('checkAlertesCommentairesNon' => 'checked="checked"')); } if ($rep['alerteAdresses'] == '1') { $t->assign_vars(array('checkAlertesAdressesOui' => 'checked="checked"')); } else { $t->assign_vars(array('checkAlertesAdressesNon' => 'checked="checked"')); } if ($alerteMail == '1') { $t->assign_vars(array('checkAlerteMailOui' => 'checked="checked"')); } else { $t->assign_vars(array('checkAlerteMailNon' => 'checked="checked"')); } if ($displayProfilContactForm == '1') { $t->assign_vars(array('checkContactPersoProfilOui' => 'checked="checked"')); } else { $t->assign_vars(array('checkContactPersoProfilNon' => 'checked="checked"')); } } if ($modeAffichage == "utilisateurDetail") { $t->assign_vars(array('formAction' => $this->creerUrl('modifierUtilisateur', 'utilisateurDetail', array('modeAffichage' => 'utilisateurDetail', 'idUtilisateur' => $idUtilisateur)))); } else { $t->assign_vars(array('formAction' => $this->creerUrl('modifierUtilisateur', 'afficheAccueil', array('modeAffichage' => 'profil')))); } // gestion de la popup du choix de la ville $adresses = new archiAdresse(); $t->assign_vars(array('popupChoixVille' => $adresses->getPopupChoixVille('modifUtilisateur'))); ob_start(); $t->pparse('ev'); $html = ob_get_contents(); ob_end_clean(); } else { $html .= 'Aucun résultat'; } } else { if ($authentification->estConnecte()) { echo "Vous n'avez pas les droits pour effectuer cette action.<br>"; } else { echo "Vous n'êtes pas connecté.<br>"; } } } $ongletUtilisateur = $html; $onglets = new ongletObject('0'); $onglets->setLargeurTotale('700'); $onglets->setLargeurEtiquette('200'); $onglets->setHauteurOnglets('25'); $onglets->setStyleContoursContenu("style='border-left:#007799 solid 2px;border-right:#007799 solid 2px;border-bottom:#007799 solid 2px;'"); $onglets->setStyleTable("style='margin:0;padding:0;'"); $onglets->setStyleTableEtiquettes("style='margin:0;padding:0;'"); $onglets->setStylesOnglets(''); $onglets->setStyleBorderHautContenu("style='border-bottom:2px solid #007799;'"); $isCompteModerateur = false; if ($this->getIdProfilFromUtilisateur($idUtilisateur) == '3') { $isCompteModerateur = true; } if (isset($this->variablesGet['archiOnglet']) && $this->variablesGet['archiOnglet'] == 'listeVilles') { $afficheOngletUtilisateur = false; $afficheOngletListeVille = true; $afficheOngletLogsMails = false; } elseif (isset($this->variablesGet['recherche'])) { $afficheOngletUtilisateur = false; $afficheOngletListeVille = false; $afficheOngletLogsMails = true; } else { $afficheOngletUtilisateur = true; $afficheOngletListeVille = false; $afficheOngletLogsMails = false; } if ($modeAffichage == 'utilisateurDetail' && $u->isAuthorized('admin_ville_par_moderateur', $authentification->getIdUtilisateur())) { $onglets->addContent("utilisateur", $ongletUtilisateur, $afficheOngletUtilisateur); } if ($modeAffichage == 'utilisateurDetail' && $isCompteModerateur && $u->isAuthorized('admin_ville_par_moderateur', $authentification->getIdUtilisateur())) { $ongletListeVille = ""; $reqVilles = "\n SELECT * \n FROM ville \n WHERE nom!='autre'"; $resVilles = $this->connexionBdd->requete($reqVilles); $reqVillesModeration = "SELECT idVille FROM utilisateurModerateurVille WHERE idUtilisateur='" . $idUtilisateur . "'"; $resVillesModeration = $this->connexionBdd->requete($reqVillesModeration); $arrayListeVillesModerees = array(); if (mysql_num_rows($resVillesModeration) > 0) { while ($fetchVillesModeration = mysql_fetch_assoc($resVillesModeration)) { $arrayListeVillesModerees[] = $fetchVillesModeration['idVille']; } } $tableau = new tableau(); while ($fetchVilles = mysql_fetch_assoc($resVilles)) { $checked = ""; $baliseOuvrante = ""; $baliseFermante = ""; if (in_array($fetchVilles['idVille'], $arrayListeVillesModerees)) { $checked = "checked"; $baliseOuvrante = "<b>"; $baliseFermante = "</b>"; } $tableau->addValue("<input type='checkbox' name='idVillesModerateur[]' value='" . $fetchVilles['idVille'] . "' {$checked}> {$baliseOuvrante}" . $fetchVilles['nom'] . $baliseFermante); } $ongletListeVille .= "<h3>Cet utilisateur modère :</h3>"; $ongletListeVille .= "<form action='" . $this->creerUrl('enregistreListeVillesModerateur', 'utilisateurDetail', array('idUtilisateur' => $idUtilisateur, 'archiOnglet' => 'listeVilles')) . "' name='formulaireModerationVille' enctype='multipart/form-data' method='POST'>"; $ongletListeVille .= $tableau->createHtmlTableFromArray(4); $ongletListeVille .= "<input type='hidden' value='" . $idUtilisateur . "' name='idUtilisateurModerateur'>"; $ongletListeVille .= "<input type='submit' value='Enregistrer'>"; $ongletListeVille .= "</form>"; $onglets->addContent("modération de ville", $ongletListeVille, $afficheOngletListeVille); } if ($modeAffichage == 'utilisateurDetail' && $u->isAuthorized('admin_ville_par_moderateur', $authentification->getIdUtilisateur())) { // utilisateur administrateur $administration = new archiAdministration(); $ongletLogsMail = $administration->getLoggedMails(); $onglets->addContent("log mails", $ongletLogsMail, $afficheOngletLogsMails); } if ($modeAffichage == 'utilisateurDetail' && $u->isAuthorized('admin_ville_par_moderateur', $authentification->getIdUtilisateur())) { $html = $onglets->getHTML(); } return $html; }
/** * Est ce que l'utilisateur est admin ? * * @param array $params Paramètres * Si pas de parametre, on verifie l'utilisateur connecté courant * * @return bool * */ public function estAdmin($params = array()) { $retour = false; $utilisateur = new archiUtilisateur(); if (isset($params['idUtilisateur']) && $params['idUtilisateur'] != '' || $this->estConnecte()) { if (isset($params['idUtilisateur']) && $params['idUtilisateur'] != '') { $infos = $utilisateur->getArrayInfosFromUtilisateur($params['idUtilisateur']); } else { $infos = $utilisateur->getArrayInfosFromUtilisateur($this->session->getFromSession('utilisateurConnecte' . $this->idSite)); } $idProfil = $infos['idProfil']; $d = new droitsObject(); $arrayProfil = $d->getProfilFromIdProfil($idProfil); if ($arrayProfil['libelle'] == 'administrateur') { $retour = true; } } return $retour; }
/** * Fonction permettant a l'administrateur de visualiser l'historique de l'image * * @param int $idImage ID de l'image * * @return string HTML * */ public function afficheHistoriqueImage($idImage = 0) { $u = new archiUtilisateur(); $html = ""; $req = "SELECT idHistoriqueImage, dateUpload, idImage, idUtilisateur, description, dateCliche, isDateClicheEnviron, idSource FROM historiqueImage WHERE idImage='" . $idImage . "'"; $res = $this->connexionBdd->requete($req); $t = new tableau(); $d = new dateObject(); $bb = new bbCodeObject(); $s = new archiSource(); $authentification = new archiAuthentification(); $droitsObject = new droitsObject(); $idProfilUtilisateur = $u->getIdProfilFromUtilisateur($authentification->getIdUtilisateur()); $isRegenerationPossible = false; if ($droitsObject->isAuthorized('image_regenerer', $idProfilUtilisateur)) { $isRegenerationPossible = true; } while ($fetch = mysql_fetch_assoc($res)) { //$html.="<img src='".$this->getUrlImage("moyen").$fetch['dateUpload']."/".$fetch['idHistoriqueImage'].".jpg"."'><br>"; $t->addValue("<img src='" . $this->getUrlImage("moyen") . $fetch['dateUpload'] . "/" . $fetch['idHistoriqueImage'] . ".jpg" . "'>", "valign=top"); $arrayInfosUtilisateur = $u->getArrayInfosFromUtilisateur($fetch['idUtilisateur'], array('listeChamps' => 'nom, prenom')); $libelleUtilisateur = $arrayInfosUtilisateur['nom'] . " " . $arrayInfosUtilisateur['prenom']; $dateCliche = " - "; if ($fetch['dateCliche'] != '0000-00-00') { $environ = ""; if ($fetch['isDateClicheEnviron'] == '1') { $environ = "Environ "; } $dateCliche = $environ . $d->toFrenchAffichage($fetch['dateCliche']); } $libelleSource = $s->getSourceLibelle($fetch['idSource']); if ($libelleSource != '') { $libelleSource = "<tr><td><b>source : </b>" . $libelleSource . "</td></tr>"; } $description = ""; if ($fetch['description'] != '') { $description = "<tr><td><b>description :</b><br>" . $bb->convertToDisplay(array('text' => $fetch['description'])) . "</td></tr>"; } $detailHistoriqueImage = "<table><tr><td>de <a href='" . $this->creerUrl('', 'detailProfilPublique', array('archiIdUtilisateur' => $fetch['idUtilisateur'])) . "'>" . $libelleUtilisateur . "</a> (le " . $d->toFrenchAffichage($fetch['dateUpload']) . ")</td></tr><tr><td><b>date cliché : </b>" . $dateCliche . "</td></tr>" . $description . "" . $libelleSource . "</table>"; $t->addValue($detailHistoriqueImage); if ($isRegenerationPossible) { $reqRegenerationAvailable = "SELECT idHistoriqueImage , idImage , cheminImageUploadee FROM imagesUploadeesPourRegeneration WHERE idHistoriqueImage = '" . $fetch['idHistoriqueImage'] . "' AND idImage='" . $idImage . "'"; $resRegenerationAvailable = $this->connexionBdd->requete($reqRegenerationAvailable); if (mysql_num_rows($resRegenerationAvailable) > 0) { $fetchRegenerationAvailable = mysql_fetch_assoc($resRegenerationAvailable); if (file_exists($this->getCheminPhysique() . "/images/uploadMultiple/" . $fetchRegenerationAvailable['cheminImageUploadee'])) { $t->addValue("<input type='button' name='regenere' value='régéréner les photos à partir de la source' onclick=\"location.href='" . $this->creerUrl('regenereImageFromUploadDir', 'imageDetail', array('archiIdHistoriqueImage' => $fetch['idHistoriqueImage'], 'archiIdImage' => $idImage)) . "';\">"); } else { $t->addValue("Enregistrement trouvé, mais fichier source de régénération inexistant."); } } else { $t->addValue("Pas de régénération possible"); } } } // En principe cette variable represente un idEvenement, a changer pour l'id evenementGroupeAdresse if (isset($this->variablesGet['archiRetourIdValue']) && $this->variablesGet['archiRetourIdValue'] != '') { $adresse = new archiAdresse(); $evenement = new archiEvenement(); $idEvenementGroupeAdresse = $evenement->getIdEvenementGroupeAdresseFromIdEvenement($this->variablesGet['archiRetourIdValue']); $html .= $adresse->afficherRecapitulatifAdresses($idEvenementGroupeAdresse); } $html .= "<h2>Historique de l'image {$idImage}</h2>"; if ($isRegenerationPossible) { $html .= $t->createHtmlTableFromArray(3, '', '', ''); } else { $html .= $t->createHtmlTableFromArray(2, '', '', ''); } return $html; }
/** * Récupere la liste des mails loggés * Si un parametres idUtilisateur est précisé en GET , on affiche pas la colonne des mails ( inutile sur la fiche de l'utilisateur) * * @param array $params Paramètres * * @return string HTML * */ public function getLoggedMails($params = array()) { $html = ""; $titre = "<h1>Log des mails du site"; $sqlSelect = ""; $arrayUtilisateur = array(); if (isset($this->variablesGet['idUtilisateur'])) { $u = new archiUtilisateur(); $arrayInfosUtilisateur = $u->getArrayInfosFromUtilisateur($this->variablesGet['idUtilisateur']); $sqlSelect = " AND destinataire='" . $arrayInfosUtilisateur['mail'] . "' "; $arrayUtilisateur = array('idUtilisateur' => $this->variablesGet['idUtilisateur']); // pour le passage de parametres $titre .= " pour " . $arrayInfosUtilisateur['nom'] . " " . $arrayInfosUtilisateur['prenom']; } $titre .= "</h1>"; $html .= $titre; // gestion de la recherche $sqlSelectRecherche = ""; if (isset($this->variablesGet['recherche']) && $this->variablesGet['recherche'] == '1' && isset($this->variablesPost['motCleRechercheLogsMail'])) { $motCle = $this->variablesPost['motCleRechercheLogsMail']; $arraySqlSelectRecherche[] = "destinataire LIKE \"%" . $motCle . "%\""; $arraySqlSelectRecherche[] = "sujet LIKE \"%" . $motCle . "%\""; $arraySqlSelectRecherche[] = "message LIKE \"%" . $motCle . "%\""; $arraySqlSelectRecherche[] = "date LIKE \"%" . $motCle . "%\""; $sqlSelectRecherche = " AND (" . implode(" OR ", $arraySqlSelectRecherche) . ") "; } // formulaire de recherche $f = new formGenerator(); $configFields = array("motCleRechercheLogsMail" => array('type' => 'text', 'htmlCode' => '', 'error' => '', 'libelle' => 'Recherche :', 'default' => '', 'value' => '', 'required' => false), "pageCourante" => array('type' => 'hidden', 'htmlCode' => '', 'error' => '', 'default' => '', 'value' => '', 'required' => false)); if (isset($this->variablesGet['archiAffichage']) && $this->variablesGet['archiAffichage'] == 'utilisateurDetail') { $configForm = array('titrePage' => '', 'fields' => $configFields, 'submitButtonValue' => 'Envoyer', 'formAction' => $this->creerUrl('', 'utilisateurDetail', array_merge(array('recherche' => 1), $arrayUtilisateur)), 'templateFileName' => 'rechercheLogsMail.tpl', 'formName' => 'formRechercheLogsMail'); } else { $configForm = array('titrePage' => '', 'fields' => $configFields, 'submitButtonValue' => 'Envoyer', 'formAction' => $this->creerUrl('', 'afficheLogsMails', array_merge(array('recherche' => 1), $arrayUtilisateur)), 'templateFileName' => 'rechercheLogsMail.tpl', 'formName' => 'formRechercheLogsMail'); } $html .= $f->afficherFromArray($configForm); $reqCount = "SELECT idMail FROM logMails WHERE 1=1 {$sqlSelect} {$sqlSelectRecherche}"; $resCount = $this->connexionBdd->requete($reqCount); $nbEnregistrementTotaux = mysql_num_rows($resCount); $pagination = new paginationObject(); $nbEnregistrementsParPage = 15; $arrayPagination = $pagination->pagination(array('nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbEnregistrementTotaux, 'typeLiens' => 'formulaire', 'champPageCourante' => 'pageCourante', 'nomParamPageCourante' => 'pageCourante', 'idFormulaire' => 'formRechercheLogsMail')); $req = "\n SELECT * \n FROM logMails \n LEFT JOIN utilisateur ON utilisateur.mail = logMails.destinataire \n WHERE 1=1 {$sqlSelect} {$sqlSelectRecherche}\n "; // on affiche pas les mails de debugs $req = $pagination->addLimitToQuery($req); $res = $this->connexionBdd->requete($req); $tableau = new tableau(); if (!isset($this->variablesGet['idUtilisateur'])) { $tableau->addValue("<h3>Destinataire</h3>"); } $tableau->addValue("<h3>Sujet</h3>"); $tableau->addValue("<h3>Message</h3>"); $tableau->addValue("<h3>Date</h3>"); while ($fetch = mysql_fetch_assoc($res)) { if (!isset($this->variablesGet['idUtilisateur'])) { $tableau->addValue("<a href='" . $this->creerUrl('', 'afficheLogsMails', array('idUtilisateur' => $fetch["idUtilisateur"])) . "'>" . $fetch["destinataire"] . "</a>"); } $tableau->addValue(stripslashes(stripslashes($fetch["sujet"]))); $tableau->addValue(stripslashes("<textarea style='width:250px;height:150px;'>" . stripslashes($fetch["message"])) . "</textarea>"); $tableau->addValue($this->date->toFrench($fetch["date"])); } $html .= $arrayPagination['html']; $nbColonnes = 3; if (!isset($this->variablesGet['idUtilisateur'])) { $nbColonnes = 4; } $html .= $tableau->createHtmlTableFromArray($nbColonnes); $html .= $arrayPagination['html']; return $html; }