/** * ? * * @param string $nomChamp ? * @param string $nomForm ? * * @return array * */ private function getBBCodeJSMiseEnForme($nomChamp = '', $nomForm = '') { $bbCode = new bbCodeObject(); $arrayRetour = $bbCode->getBoutonsMiseEnFormeTextArea(array('formName' => $nomForm, 'fieldName' => $nomChamp, 'idDivPrevisualisation' => 'previsualisationSource')); return $arrayRetour; }
private function getUserFormMail($idUtilisateur) { $infosArray = $this->getArrayInfosFromUtilisateur($idUtilisateur); $mail = new mailObject(); if ($infosArray['displayProfilContactForm'] == '1' && $infosArray['mail'] != '' && $mail->isMail($infosArray['mail'])) { $authentification = new archiAuthentification(); $mailUtilisateurConnecte = ""; if ($authentification->estConnecte()) { $idUtilisateurConnecte = $authentification->getIdUtilisateur(); $mailUtilisateurConnecte = $this->getMailUtilisateur($idUtilisateurConnecte); if (!$mail->isMail($mailUtilisateurConnecte)) { $mailUtilisateurConnecte = ""; } } $f = new formGenerator(); $bb = new bbCodeObject(); $configBoutonsBBCode = array('formName' => 'messagePrive', 'fieldName' => 'message', 'noUrlInterneButton' => true); $help = $this->getHelpMessages('helpEvenement'); foreach ($help as $index => $value) { $configBoutonsBBCode[$index] = $value; } $configBoutonsBBCode["msgQuote"] = "Selectionnez une partie de votre texte pour le mettre entre quotes"; $configBoutonsBBCode["msgUrlExterne"] = "Tapez une url commencant par http:// , et selectionnez la pour en faire un lien"; $arrayBBCode = $bb->getBoutonsMiseEnFormeTextArea($configBoutonsBBCode); if ($authentification->estConnecte()) { $configFieldsContact = array('idUtilisateurDestinataire' => array('type' => 'hidden', 'value' => '', 'forceValueTo' => $idUtilisateur, 'htmlCode' => '', 'default' => '', 'error' => '', 'required' => true), 'mailEnvoyeur' => array('type' => 'email', 'value' => '', 'forceValueTo' => $mailUtilisateurConnecte, 'htmlCode' => '', 'default' => '', 'libelle' => 'Votre mail', 'error' => '', 'required' => true), 'message' => array('type' => 'bigText', 'value' => '', 'htmlCode' => "style='width:400px;height:100px;'", 'default' => '', 'libelle' => 'Votre message', 'error' => '', 'required' => true, 'htmlCodeBeforeField' => $arrayBBCode['boutonsHTML'])); } else { $configFieldsContact = array('idUtilisateurDestinataire' => array('type' => 'hidden', 'value' => '', 'forceValueTo' => $idUtilisateur, 'htmlCode' => '', 'default' => '', 'error' => '', 'required' => true), 'mailEnvoyeur' => array('type' => 'email', 'value' => '', 'forceValueTo' => $mailUtilisateurConnecte, 'htmlCode' => '', 'default' => '', 'libelle' => 'Votre mail', 'error' => '', 'required' => true), 'message' => array('type' => 'bigText', 'value' => '', 'htmlCode' => "style='width:400px;height:100px;'", 'default' => '', 'libelle' => 'Votre message', 'error' => '', 'required' => true, 'htmlCodeBeforeField' => $arrayBBCode['boutonsHTML']), 'captcha' => array('type' => 'captcha', 'value' => '', 'htmlCode' => "", 'default' => '', 'libelle' => 'Vérification', 'error' => '', 'required' => true)); } if (isset($this->variablesPost['message'])) { $errors = $f->getArrayFromPost($configFieldsContact); $complementMsgVisiteAdresse = ""; if (isset($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']) && $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'] != '') { // recuperation de l'intitule de l'adresse $adresse = new archiAdresse(); $idAdresseMessage = $adresse->getIdAdresseFromIdEvenementGroupeAdresse($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']); $intituleAdresse = $adresse->getIntituleAdresseFrom($this->variablesGet['archiIdEvenementGroupeAdresseOrigine'], 'idEvenementGroupeAdresse', array('ifTitreAfficheTitreSeulement' => true, 'noQuartier' => true, 'noSousQuartier' => true, 'noVille' => true)); $complementMsgVisiteAdresse = " à visité l'adresse <a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresseMessage, 'archiIdEvenementGroupeAdresse' => $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'])) . "'>" . $intituleAdresse . "</a> et"; } if (count($errors) == 0) { // envoi du mail $contenu = "Bonjour, <br><br>"; $contenu .= "Un utilisateur d'archi-strasbourg (<a href=\"mailto:" . $this->variablesPost['mailEnvoyeur'] . "\">" . $this->variablesPost['mailEnvoyeur'] . "</a>){$complementMsgVisiteAdresse} vous envoie un message privé :<br><br>"; $contenu .= stripslashes($bb->convertToDisplay(array('text' => $this->variablesPost['message']))); $contenu .= ""; $contenu .= ""; if ($mail->sendMail($this->siteMail, $infosArray['mail'], "Un utilisateur d'archi-strasbourg vous envoie un message", $contenu, $writeMailToLogs = false, $this->variablesPost['mailEnvoyeur'])) { echo "<span style='color:red;'>Mail envoyé.</span>"; } } } $arrayUrlViensDeAdresse = array(); if (isset($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']) && $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'] != '') { $arrayUrlViensDeAdresse = array('archiIdEvenementGroupeAdresseOrigine' => $this->variablesGet['archiIdEvenementGroupeAdresseOrigine']); } $configForm = array('formAction' => $this->creerUrl('', 'detailProfilPublique', array_merge($arrayUrlViensDeAdresse, array('archiIdUtilisateur' => $idUtilisateur))), 'fields' => $configFieldsContact, 'formName' => 'messagePrive', 'codeHtmlInFormAfterFields' => "Prévisualisation :" . $arrayBBCode['divAndJsAfterForm']); $html .= "<br><br><h2>Lui envoyer un message personnel :</h2>"; $html .= $f->afficherFromArray($configForm); } return $html; }
/** * Afficher la gestion des étapes d'un parcours * * @param array $params Paramètres * * @return string HTML * */ public function getHtmlGestionEtapesParcours($params = array()) { $html = "<h1>Gestion des étapes du parcours</h1>"; $idParcours = 0; if (isset($this->variablesGet['archiIdParcours']) && $this->variablesGet['archiIdParcours'] != '') { $f = new formGenerator(); $a = new archiAdresse(); $bbCode = new bbCodeObject(); $s = new stringObject(); $formName = 'formGestionEtapes'; $popupChoixAdresses = new calqueObject(array('idPopup' => 'popupChoixAdresses')); $popupVisualisationGoogleMap = new calqueObject(array('idPopup' => 'popupVisualisationGoogleMap')); $idParcours = $this->variablesGet['archiIdParcours']; $reqNbEtapes = "SELECT idEtape FROM etapesParcoursArt WHERE idParcours = '" . $idParcours . "'"; $resNbEtapes = $this->connexionBdd->requete($reqNbEtapes); $html .= "<br>nombre d'étapes : " . mysql_num_rows($resNbEtapes) . "<br>"; $reqListeEtapes = "SELECT idEtape,idEvenementGroupeAdresse,position,commentaireEtape FROM etapesParcoursArt WHERE idParcours = '" . $idParcours . "' ORDER BY position ASC,idEtape ASC"; $resListeEtapes = $this->connexionBdd->requete($reqListeEtapes); $listeTriableObject = new imageObject(); // dans l'objet image , il y a une fonction qui permet de creer des listes triables par drag and drop $html .= "<script>" . $listeTriableObject->getJSFunctionsDragAndDrop() . "</script>"; $i = 0; $arrayListeEtapes = array(); while ($fetchListeEtapes = mysql_fetch_assoc($resListeEtapes)) { $arrayListeEtapes[$i]['idEtape'] = array('value' => $fetchListeEtapes['idEtape'], 'type' => 'identifiant'); $arrayListeEtapes[$i]['#'] = array('value' => $i + 1, 'type' => 'free'); $arrayListeEtapes[$i][' '] = array('value' => "<a href='" . $this->creerUrl('', 'etapesParcoursFormulaire', array('archiIdEtape' => $fetchListeEtapes['idEtape'], 'archiIdParcours' => $idParcours)) . "'>" . $fetchListeEtapes['idEtape'] . "</a>", 'type' => 'free', 'widthColonne' => 50); $arrayListeEtapes[$i]['adresse'] = array('value' => $a->getIntituleAdresseFrom($fetchListeEtapes['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('setSeparatorAfterTitle' => '<br>', 'displayFirstTitreAdresse' => true, 'noVille' => true, 'noQuartier' => true, 'noSousQuartier' => true)), 'type' => 'free', 'widthColonne' => 250); $arrayListeEtapes[$i]['commentaire'] = array('type' => 'free', 'widthColonne' => 400, 'value' => $s->coupureTexte($s->sansBalisesHtml(stripslashes($fetchListeEtapes['commentaireEtape'])), 10)); $coords = $a->getCoordonneesFrom($fetchListeEtapes['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse'); $i++; } $boutonValidationOrdreEtapes = "<input type='button' name='validationOrdreAffichage' value='Validation ordre des étapes' onclick=\"document.getElementById('" . $formName . "').action='" . $this->creerUrl('enregistrerOrdreEtapesParcours', 'etapesParcoursFormulaire', array('archiIdParcours' => $idParcours)) . "';" . $listeTriableObject->getJSSubmitDragAndDrop() . "document.getElementById('" . $formName . "').submit();\">"; $html .= $listeTriableObject->createSortableFormListeFromArray($arrayListeEtapes, array('styleEntete' => 'font-weight:bold;background-color:#007799;color:#FFFFFF;')) . $boutonValidationOrdreEtapes; $sousTitre = "Ajout d'une étape"; $idEtape = 0; $libelleAdresse = ''; $commentaireEtape = ''; $idAdresse = ''; $idEvenementGroupeAdresse = 0; $boutonNouveau = ""; $boutonVisualisation = "<input type='button' name='visualisation' value='Visualiser' onclick=\"" . $popupVisualisationGoogleMap->getJSOpenPopup() . "document.getElementById('" . $popupVisualisationGoogleMap->getJSIFrameId() . "').src='" . $this->creerUrl('', 'carteGoogleMapParcoursArt', array('noHeaderNoFooter' => 1, 'archiIdParcours' => $idParcours)) . "'\">"; $boutonRetour = "<input type='button' name='retour' value='Retour' onclick=\"location.href='" . $this->creerUrl('', 'adminListeParcours', array()) . "';\">"; $boutonSupprimer = ""; // ajout d'une nouvelle etape $formAction = $this->creerUrl('ajouterEtapeParcours', 'etapesParcoursFormulaire', array('archiIdParcours' => $idParcours)); if (mysql_num_rows($resNbEtapes) == 0) { // si pas d'etapes encore , on peut definir un message } else { // il y a une ou plusieurs etapes dans le parcours if (isset($this->variablesGet['archiIdEtape']) && $this->variablesGet['archiIdEtape'] != '') { $idEtape = $this->variablesGet['archiIdEtape']; $reqEtape = "SELECT idEvenementGroupeAdresse,commentaireEtape FROM etapesParcoursArt WHERE idEtape='" . $idEtape . "'"; $resEtape = $this->connexionBdd->requete($reqEtape); $fetchEtape = mysql_fetch_assoc($resEtape); $sousTitre = _("Modification d'une étape"); $formAction = $this->creerUrl('modifierEtapeParcours', 'etapesParcoursFormulaire', array('archiIdParcours' => $idParcours, 'archiIdEtape' => $this->variablesGet['archiIdEtape'])); $commentaireEtape = $fetchEtape['commentaireEtape']; $libelleAdresse = $a->getIntituleAdresseFrom($fetchEtape['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse'); $idAdresse = ''; $idEvenementGroupeAdresse = $fetchEtape['idEvenementGroupeAdresse']; $boutonNouveau = "<input type='button' name='boutonNouveau' value='Nouveau' onclick=\"location.href='" . $this->creerUrl('', 'etapesParcoursFormulaire', array('archiIdParcours' => $idParcours)) . "';\">"; $boutonSupprimer = "<input type='button' name='boutonSupprimer' value='Supprimer' onclick=\"location.href='" . $this->creerUrl('supprimerEtapeParcours', 'etapesParcoursFormulaire', array('archiIdParcours' => $idParcours, 'archiIdEtapeSupprimer' => $idEtape)) . "';\">"; $coord = $a->getCoordonneesFrom($fetchEtape['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse'); } else { $coord = array("latitude" => "", "longitude" => ""); } } $bbCodeElementsArray = $bbCode->getBoutonsMiseEnFormeTextArea(array('formName' => $formName, 'fieldName' => 'commentaireEtape')); $html .= "<hr/>"; // formulaire ajout-modif etape $html .= "<h2>{$sousTitre}</h2>"; $configFields = array('idParcours' => array('libelle' => 'idParcours', 'type' => 'hidden', 'error' => '', 'value' => '', 'forceValueTo' => $idParcours, 'htmlCode' => ''), 'idEtape' => array('libelle' => 'idEtape', 'type' => 'hidden', 'error' => '', 'value' => '', 'forceValueTo' => $idEtape, 'htmlCode' => ''), 'libelleEvenementGroupeAdresse' => array('libelle' => _('Adresse'), 'type' => 'text', 'error' => '', 'value' => '', 'forceValueTo' => $libelleAdresse, 'htmlCode' => "style='width:300px;' disabled", 'htmlCode2' => "<input type='button' name='choixAdresse' value='Choisir' onclick=\"document.getElementById('" . $popupChoixAdresses->getJSDivId() . "').style.top=(getScrollHeight()+70)+'px';" . $popupChoixAdresses->getJSOpenPopup() . "document.getElementById('" . $popupChoixAdresses->getJSIFrameId() . "').src='" . $this->creerUrl('', 'recherche', array('noHeaderNoFooter' => 1, 'modeAffichage' => 'popupRechercheAdresseAdminParcours')) . "';\">"), 'latitude' => array('libelle' => _('Latitude'), 'type' => 'text', 'error' => '', 'value' => '', 'forceValueTo' => $coord["latitude"], 'htmlCode' => "style='width:300px;' readonly onclick='this.select();'"), 'longitude' => array('libelle' => _('Longitude'), 'type' => 'text', 'error' => '', 'value' => '', 'forceValueTo' => $coord["longitude"], 'htmlCode' => "style='width:300px;' readonly onclick='this.select();'"), 'idEvenementGroupeAdresse' => array('libelle' => 'idEvenementGroupeAdresse', 'type' => 'hidden', 'error' => '', 'value' => '', 'forceValueTo' => $idEvenementGroupeAdresse, 'htmlCode' => "style='width:300px;'"), 'commentaireEtape' => array('libelle' => 'commentaire', 'type' => 'bigText', 'error' => '', 'value' => '', 'forceValueTo' => $commentaireEtape, 'default' => '', 'htmlCode' => "style='width:500px;height:200px;'", 'htmlCodeBeforeField' => $bbCodeElementsArray['boutonsHTML'], 'htmlCode2' => $bbCodeElementsArray['divAndJsAfterForm'])); $configForm = array('fields' => $configFields, 'formAction' => $formAction, 'formName' => $formName, 'onClickSubmitButton' => $listeTriableObject->getJSSubmitDragAndDrop(), 'codeHtmlAfterSubmitButton' => $boutonSupprimer . $boutonNouveau . $boutonVisualisation . $boutonRetour, 'codeHtmlInFormAfterFields' => $listeTriableObject->getJSInitAfterListDragAndDrop()); $html .= $f->afficherFromArray($configForm); $html .= $popupChoixAdresses->getDiv(array('lienSrcIFrame' => $this->creerUrl('', 'recherche', array('noHeaderNoFooter' => 1, 'modeAffichage' => 'popupRechercheAdresseAdminParcours')), 'width' => 750, 'height' => 500, 'left' => 10, 'top' => 70, 'titre' => 'archi-strasbourg.org : Parcours')); $html .= $popupVisualisationGoogleMap->getDiv(array('lienSrcIFrame' => '')); // on ne precharge pas la carte google map sinon il y a un bug au niveau de la carte , le centre se placerai en haut a gauche $html .= "<script >" . $popupChoixAdresses->getJsToDragADiv() . "</script>"; // on rend le div deplacable $html .= "<script >" . $popupVisualisationGoogleMap->getJsToDragADiv() . "</script>"; // on rend le div deplacable } return $html; }