public function getParcoursDetail($params = array()) { $html = ""; $idParcours = 0; if (isset($this->variablesGet['archiIdParcours']) && $this->variablesGet['archiIdParcours'] != '') { $idParcours = $this->variablesGet['archiIdParcours']; } if (isset($params['idParcours']) && $params['idParcours'] != '') { $idParcours = $params['idParcours']; } if ($idParcours != 0) { $bbCode = new bbCodeObject(); $resParcours = $this->getMysqlParcours(array('sqlWhere' => "AND idParcours='" . $idParcours . "'")); $fetchParcours = mysql_fetch_assoc($resParcours); $html .= "<h1>" . stripslashes($fetchParcours['libelleParcours']) . "</h1>"; $html .= $this->getGoogleMapParcours(array('idParcours' => $idParcours, 'width' => 700)); // affichage de la liste des etapes $alphaChars = 'abcdefghijklmnopqrstuvwxyz'; // on fait simple $reqEtapes = "SELECT idEtape,idEvenementGroupeAdresse,commentaireEtape,position FROM etapesParcoursArt WHERE idParcours='" . $idParcours . "' ORDER BY position ASC"; $resEtapes = $this->connexionBdd->requete($reqEtapes); $t = new tableau(); $i = 0; while ($fetchEtapes = mysql_fetch_assoc($resEtapes)) { $arrayPhoto = $this->getPhotoFromEtape(array('idEtape' => $fetchEtapes['idEtape'])); $photo = " "; if ($arrayPhoto['trouve']) { $photo = "<img src='" . $arrayPhoto['url'] . "' border=0>"; } $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($fetchEtapes['idEvenementGroupeAdresse']); $intituleAdresse = $this->getIntituleAdresseFrom($fetchEtapes['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('setSeparatorAfterTitle' => '<br>', 'displayFirstTitreAdresse' => true, 'noVille' => true, 'noQuartier' => true, 'noSousQuartier' => true)); $marqueur = "<div style=\"font-size:10px; padding-top:3px; width:20px; height:34px; background-repeat:no-repeat; background-image:url(" . $this->getUrlImage() . "greenMarkerGM.gif); font-weight:bold; text-align:center;\">" . ($i + 1) . "</div>"; $t->addValue($marqueur); $t->addValue("<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $fetchEtapes['idEvenementGroupeAdresse'], 'archiIdAdresse' => $idAdresse)) . "'>{$photo}</a>", "align=center"); $t->addValue("<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $fetchEtapes['idEvenementGroupeAdresse'], 'archiIdAdresse' => $idAdresse)) . "'>" . $intituleAdresse . "</a>"); $t->addValue(stripslashes($bbCode->convertToDisplay(array('text' => $fetchEtapes['commentaireEtape'])))); $i++; } require_once __DIR__ . '/archiParcours.php'; $parcours = new ArchiParcours($_GET['archiIdParcours']); $html .= '<p>' . $parcours->desc . '</p>'; $html .= "<br><h2>Etapes du parcours : </h2>"; $html .= $t->createTable(4); } return $html; }
/** * Affichage du formulaire d'ajout/édition * * @param array $params Paramètres * * @return string HTML * */ public function formulaireActualites($params = array()) { $html = ""; $f = new formGenerator(); $d = new dateObject(); $c = new calqueObject(); $this->addToJsHeader("<script>" . $c->getJSScrollHeight() . "</script>"); $html .= $c->getDiv(array('width' => 900, 'lienSrcIFrame' => '', 'titre' => 'Prévisualisation')); $idActualite = 0; $boutonNouveau = ""; $boutonSupprimer = ""; $boutonPrevisualiser = "<input type='button' name='previsualisation' value='Prévisualisation' onclick=\"tinyMCE.triggerSave(true,true);document.getElementById('" . $c->getJSDivId() . "').style.top=(50+getScrollHeight())+'px';document.getElementById('" . $c->getJSIFrameId() . "').src='" . $this->creerUrl('', 'previsualisationActualite', array()) . "';" . $c->getJSOpenPopup() . "\">"; $boutonValiderEtEnvoiMailPrevisualisation = "<input type='button' name='valideEtEnvoi' id='valideEtEnvoi' value=\"Envoyer le mail tout de suite\" onclick=\"document.getElementById('formActu').action+='&previsualisationMail=1';document.getElementById('formActu').submit();\">\n <input type='button' name='valideEtPrev' id='valideEtPrev' value='" . _("Prévisualiser le mail") . "' onclick=\"document.getElementById('formActu').action+='&previsualisationMail=1&preview=1';document.getElementById('formActu').setAttribute('target', '_blank'); document.getElementById('formActu').submit();\">\n <input type='button' name='testMail' id='testMail' value='" . _("Envoyer un mail de test") . "' onclick=\"document.getElementById('formActu').action+='&previsualisationMail=1&preview=1&testMail=1';document.getElementById('formActu').setAttribute('target', '_blank'); document.getElementById('formActu').submit();\">\n "; if (isset($this->variablesGet['archiIdActualite']) && $this->variablesGet['archiIdActualite'] != '') { $idActualite = $this->variablesGet['archiIdActualite']; $reqActu = "SELECT date,titre, sousTitre,photoIllustration, texte,urlFichier, fichierPdf, desactive,texteMailHebdomadaire,envoiMailHebdomadaire FROM actualites WHERE idActualite='" . $idActualite . "'"; $resActu = $this->connexionBdd->requete($reqActu); $fetchActu = mysql_fetch_assoc($resActu); $date = $d->toFrenchAffichage($fetchActu['date']); $titre = $fetchActu['titre']; $sousTitre = $fetchActu['sousTitre']; $illustration = $fetchActu['photoIllustration']; $description = $fetchActu['texte']; $urlFichier = $fetchActu['urlFichier']; $fichierPdf = $fetchActu['fichierPdf']; $isDesactivated = $fetchActu['desactive']; $texteMailHebdomadaire = $fetchActu['texteMailHebdomadaire']; $isEnvoi = $fetchActu['envoiMailHebdomadaire']; $formAction = $this->creerUrl('modifierActu', 'adminActualites', array('archiIdActualite' => $idActualite)); $boutonNouveau = "<input type='button' name='nouveauButton' value='Nouveau' onclick=\"location.href='" . $this->creerUrl('', 'adminActualites', array()) . "'\">"; $boutonSupprimer = "<input type='button' name='supprimerBouton' value='Supprimer' onclick=\"location.href='" . $this->creerUrl('supprimerActu', 'adminActualites', array("idActuSuppr" => $idActualite)) . "'\">"; } else { $date = date("d/m/Y"); $titre = ""; $sousTitre = ""; $illustration = ""; $description = ""; $urlFichier = ""; $fichierPdf = ""; $isDesactivated = 0; $texteMailHebdomadaire = ""; $isEnvoi = 0; $formAction = $this->creerUrl('ajouterActu', 'adminActualites', array('check' => 1)); // check sert juste a ne pas avoir a gerer le ? ou le & dans l'url quand on rajoute un parametre en js } $idActualitePathImage = ""; if ($idActualite != 0) { $idActualitePathImage = $idActualite; } // bibliotheques d'images $fileObject = new fileObject(); $arrayFiles = $fileObject->getListeFichiersArrayFrom($this->getCheminPhysique() . "images/actualites/" . $idActualite . "/"); $listeFichiers = ""; $t = new tableau(); foreach ($arrayFiles as $indiceFichier => $fichier) { if (strtolower($fileObject->getExtensionFromFile($fichier)) == 'jpg' || strtolower($fileObject->getExtensionFromFile($fichier)) == 'gif' || strtolower($fileObject->getExtensionFromFile($fichier)) == 'png') { $t->addValue("<a onclick='injectInTinyMce(\"<img src=\\\"" . $this->getUrlImage() . "actualites/" . $idActualite . "/" . str_replace("'", "\\\\'", $fichier) . "\\\" border=0>\");'><img src=\"" . $this->getUrlImage() . "actualites/" . $idActualite . "/" . $fichier . "\" border=0 width=100 height=100></a>"); $t->addValue("{$fichier}"); } else { $t->addValue(" "); $t->addValue("{$fichier}"); } } $listeFichiers = $t->createTable(2); $gestionBibliothequeImages = "Bibliothèque d'images de l'actualité <span style='font-size:11px;'>(cliquez sur une image pour l'inserer à la position du curseur)</span> : <div id='listeFichiers' style='background-color:#87CEFF;width:300px;height:200px;overflow:scroll;'>" . $listeFichiers . "</div>"; $this->addToJsHeader("<script>\n function injectInTinyMce(txt)\n {\n tinyMCE.execInstanceCommand('texte','mceInsertContent',false,txt);\n }\n \n function goRedim(idActualite)\n {\n // validation du formulaire pour creer l'identifiant de l'actu et pouvoir ranger les photos\n document.getElementById('formActu').submit();\n }\n </script>"); // on ne gere pas de timestamp , on assume que seul l'admin fera des mises a jour des actualités $applet = $fileObject->getAppletUploadMultiple(array('cheminApplet' => $this->getUrlRacine() . "/includes/", 'uploadDirPart1' => $this->getCheminPhysique() . "images/", 'uploadDirPart2' => "uploadMultipleActualites/", 'jsFunctionNameOnExit' => "goRedim({$idActualite})")); $configFields = array('idActualite' => array('libelle' => "idActualite", 'type' => 'hidden', 'required' => true, 'value' => '', 'forceValueTo' => $idActualite, 'htmlCode' => '', 'error' => ''), 'desactive' => array('libelle' => "désactiver", 'type' => 'singleCheckBox', 'required' => false, 'value' => '', 'forceValueTo' => '1', 'isChecked' => $isDesactivated, 'htmlCode' => '', 'error' => '', 'default' => ''), 'date' => array('libelle' => "date", 'withDatePicker' => true, 'type' => 'date', 'required' => true, 'value' => '', 'forceValueTo' => $date, 'htmlCode' => '', 'error' => ''), 'titre' => array('libelle' => "titre", 'type' => 'text', 'required' => false, 'value' => '', 'forceValueTo' => $titre, 'htmlCode' => "style='width:300px;'", 'error' => ''), 'sousTitre' => array('libelle' => "sous-titre", 'type' => 'text', 'required' => false, 'value' => '', 'forceValueTo' => $sousTitre, 'htmlCode' => "style='width:300px;'", 'error' => ''), 'photoIllustration' => array('libelle' => "illustration", 'type' => 'uploadImage', 'required' => false, 'value' => '', 'forceValueTo' => $illustration, 'physicalImagePathForTestExists' => $this->getCheminPhysique() . "images/actualites/" . $idActualitePathImage . "/", 'urlImagePathForDisplayInForm' => $this->getUrlImage() . "actualites/" . $idActualitePathImage . "/", 'htmlCode' => '', 'error' => ''), 'texte' => array('libelle' => "description", 'type' => 'tinyMCE', 'required' => false, 'value' => '', 'forceValueTo' => $description, 'htmlCode' => "cols=80 rows=30", 'error' => '', 'htmlCode2' => $gestionBibliothequeImages . "<div><a onclick=\"if(document.getElementById('divApplet').style.display=='none'){document.getElementById('divApplet').style.display='block';}else{document.getElementById('divApplet').style.display='none';}\" style='cursor:pointer;'>Voir/cacher ajouter une image</a></div><div id='divApplet' style='float:left;display:none'>" . $applet . "</div>"), 'urlFichier' => array('libelle' => "url redirection", 'type' => 'text', 'required' => false, 'value' => '', 'forceValueTo' => $urlFichier, 'htmlCode' => "style='width:300px;'", 'error' => ''), 'fichierPdf' => array('libelle' => "fichier pdf", 'type' => 'text', 'required' => false, 'value' => '', 'forceValueTo' => $fichierPdf, 'htmlCode' => "style='width:300px;'", 'error' => ''), 'texteMailHebdomadaire' => array('libelle' => "description mail hebdomadaire <span style='color:red;'>(ne pas oublier de préciser le titre)</span>", 'type' => 'tinyMCE', 'required' => false, 'value' => '', 'forceValueTo' => $texteMailHebdomadaire, 'htmlCode' => "cols=80 rows=30", 'error' => ''), 'envoiMailHebdomadaire' => array('libelle' => "envoi avec la newsletter hebdomadaire", 'type' => 'singleCheckBox', 'required' => false, 'value' => '', 'forceValueTo' => '1', 'isChecked' => $isEnvoi, 'htmlCode' => '', 'error' => '', 'default' => '')); $configForm = array("fields" => $configFields, 'formAction' => $formAction, 'codeHtmlAfterSubmitButton' => $boutonNouveau . $boutonSupprimer . $boutonPrevisualiser . $boutonValiderEtEnvoiMailPrevisualisation, 'formName' => 'formActu'); $html .= $f->afficherFromArray($configForm); return $html; }