/**
  * 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("&nbsp;");
             $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;
 }