public function ajouter($parametres = array(), $liaisonsExternes = array()) { $html = ""; $this->fields = array(); $reqFieldsListe = "SHOW COLUMNS FROM " . $parametres['tableName'] . ";"; $resFieldsListe = $this->connexionBdd->requete($reqFieldsListe); // fabrication de la chaine requete d'ajout $arrayFields = array(); $primaryKeyField = ""; while ($fetchFields = mysql_fetch_assoc($resFieldsListe)) { if ($fetchFields['Key'] != 'PRI') { //$requeteModification.=$fetchFields['Field']."='".$this->variablesPost[$fetchFields['Field']]."'"; $arrayFields[] = $fetchFields['Field']; if (preg_match("/date/i", $fetchFields['Type'])) { $d = new dateObject(); if ((pia_ereg("/", $this->variablesPost[$fetchFields['Field']]) || pia_strlen($this->variablesPost[$fetchFields['Field']]) > 3) && !pia_ereg("-", $this->variablesPost[$fetchFields['Field']])) { $arrayValues[] = $d->toBdd($d->convertYears($this->variablesPost[$fetchFields['Field']])); } else { $arrayValues[] = $this->variablesPost[$fetchFields['Field']]; } } else { $arrayValues[] = $this->variablesPost[$fetchFields['Field']]; } } else { $primaryKeyField = $fetchFields['Field']; } } $listeFields = implode(', ', $arrayFields); $listeValues = implode('", "', $arrayValues); $requeteAjout = "insert into " . $parametres['tableName'] . " (" . $listeFields . ") VALUES (\"" . $listeValues . "\")"; $this->connexionBdd->requete($requeteAjout); $idNouvelElement = mysql_insert_id(); // gestion des champs supplementaires du formulaire qui ne sont pas des champs de la base de donnée if (isset($parametres['fieldsNotInBdd']) && is_array($parametres['fieldsNotInBdd']) && count($parametres['fieldsNotInBdd']) > 0) { foreach ($parametres['fieldsNotInBdd'] as $indice => $valuesFields) { // traitement specifiques aux champs qui ne sont pas liés a la base de donnée switch ($valuesFields['type']) { case 'uploadImageLiee': // ce cas d'upload n'ajoute pas de nom de fichier dans la base , on va en principe se referer a l'identifiant de la table courante // exemple , on ajoute une image sur un personne, l'image aura donc pour nom de fichier "idPersonne".jpg par exemple en fonction du parametrage if (isset($_FILES[$valuesFields['name']]) && $_FILES[$valuesFields['name']]['error']) { switch ($_FILES[$valuesFields['name']]['error']) { case 1: // UPLOAD_ERR_INI_SIZE echo "Le fichier dépasse la limite autorisée par le serveur !"; break; case 2: // UPLOAD_ERR_FORM_SIZE echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !"; break; case 3: // UPLOAD_ERR_PARTIAL echo "L'envoi du fichier a été interrompu pendant le transfert !"; break; case 4: // UPLOAD_ERR_NO_FILE echo "Le fichier que vous avez envoyé a une taille nulle !"; break; } } else { // pas d'erreur d'upload $i = new imageObject(); // classe image du framework $f = new fileObject(); if (isset($valuesFields['redimFilesAndSizesConfig']) && is_array($valuesFields['redimFilesAndSizesConfig']) && count($valuesFields['redimFilesAndSizesConfig']) > 0) { foreach ($valuesFields['redimFilesAndSizesConfig'] as $indiceConfigRedims => $valueConfigRedims) { $fichierParametre = ""; // on remplace le parametre par une valeur s'il y en a un $valueReplacementBdd = ""; // valeur que va prendre la parametre a remplacer $matches = array(); preg_match("/\\#\\#\\#bddField\\[(.+)\\]\\#\\#\\#/", $valueConfigRedims['nomFichierDestinationParametre'], $matches); // on detecte si il y a un parametre a remplacer par une valeur de la base de donnée ou pas if (count($matches) > 0) { $req = "SELECT " . $matches[1] . " FROM " . $parametres['tableName'] . " WHERE " . $primaryKeyField . "='" . $idNouvelElement . "'"; $res = $this->connexionBdd->requete($req); $fetchValeurCouranteBdd = mysql_fetch_assoc($res); $valueReplacementBdd = $fetchValeurCouranteBdd[$matches[1]]; $fichierParametre = str_replace($matches[0], $valueReplacementBdd, $valueConfigRedims['nomFichierDestinationParametre']); } $imageType = strtolower($f->getExtensionFromFile($_FILES[$valuesFields['name']]['name'])); if (file_exists($valueConfigRedims['repertoireDestination'] . $fichierParametre)) { // si un fichier du meme nom existe , on l'efface unlink($valueConfigRedims['repertoireDestination'] . $fichierParametre); } if ($fichierParametre != '') { if (isset($valueConfigRedims['taille'])) { $i->redimension($_FILES[$valuesFields['name']]['tmp_name'], $imageType, $valueConfigRedims['repertoireDestination'] . $fichierParametre, $valueConfigRedims['taille'], array('redimOnlyIfFileSizesSuperiorToRedimValue' => true)); } } else { echo "Le fichier n'a pu être redimensionné. Erreur de parametrage dans la fonction du framework formGenerator::modifier()<br>"; } } unlink($_FILES[$valuesFields['name']]['tmp_name']); } } break; } } } return $html; }
public function modifier() { $authentification = new archiAuthentification(); $majOK = false; $formulaire = new formGenerator(); $mail = new mailObject(); $avatarFile = new fileObject(); $image = new imageObject(); // suppression de l'avatar si la checkbox est cochée if (isset($this->variablesPost['supprFichierAvatar']) && $this->variablesPost['supprFichierAvatar'] == '1') { if (file_exists($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/avatar.jpg")) { unlink($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/avatar.jpg"); } if (file_exists($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/original.jpg")) { unlink($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/original.jpg"); } } // gestion de l'image de l'avatar if (isset($this->variablesPost['idUtilisateurModif']) && $this->variablesPost['idUtilisateurModif'] != '' && isset($_FILES['fichierAvatar']['name']) && $_FILES['fichierAvatar']['name'] != '') { if (pia_strtolower($avatarFile->getExtensionFromFile($_FILES['fichierAvatar']['name'])) == 'jpg') { if (!file_exists($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/")) { if (!$avatarFile->creerRepertoire($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/")) { echo "archiUtilisateur::modifier => erreur de création du répertoire pour l'image avatar<br>"; } } $avatarFile->handleUploadedFileSimpleMoveTo(array('inputFileName' => 'fichierAvatar', 'renameFileTo' => 'original.jpg', 'repertoireDestination' => $this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/")); // ensuite on redimensionne l'image $image->redimension($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/original.jpg", 'jpg', $this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/avatar.jpg", 120); } else { echo "Le fichier de l'avatar doit être au format jpg."; } } // gestion infos du compte if ($authentification->estConnecte()) { if ($authentification->estAdmin()) { // cas d'un utilisateur connecté et admin et dans l'admin if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] == 'utilisateurDetail') { $tabForm = $this->getUtilisateurFieldsForAdmin(); } elseif (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] == 'profil') { $tabForm = $this->getUtilisateurFieldsForAdminProfil(); } $errors = $formulaire->getArrayFromPost($tabForm); if (count($errors) == 0) { $sqlChampDisplayNumeroArchiveField = ""; $sqlChampDisplayDateFinField = ""; if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] == 'utilisateurDetail') { $sqlChampDisplayNumeroArchiveField = ", displayNumeroArchiveFieldInSaisieEvenement=\"" . $tabForm['displayNumeroArchiveField']['value'] . "\""; $sqlChampDisplayDateFinField = ", displayDateFinFieldInSaisieEvenement=\"" . $tabForm['displayDateFinField']['value'] . "\""; } // test sur le mot de passe if ($tabForm['mdp1']['value'] != '') { // un mot de passe a ete entré , donc si pas d'erreur , on peut faire l'ajout a la base $reqUpdate = 'update utilisateur set nom="' . $tabForm['nom']['value'] . '", prenom="' . $tabForm['prenom']['value'] . '", mail="' . $tabForm['mail']['value'] . '", motDePasse="' . md5($tabForm['mdp1']['value']) . '", urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", idProfil="' . $tabForm['idProfil']['value'] . '", alerteMail="' . $tabForm['alerteMail']['value'] . '", idVilleFavoris="' . $tabForm['ville']['value'] . '", canCopyright="' . $tabForm['canCopyright']['value'] . '", canModifyTags="' . $tabForm['canModifyTags']['value'] . '", canAddWithoutStreet="' . $tabForm['canAddWithoutStreet']['value'] . '", alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", idPeriodeEnvoiMailsRegroupes="' . $tabForm['idPeriodeEnvoiMailsRegroupes']['value'] . '", alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '" ' . $sqlChampDisplayNumeroArchiveField . ' ' . $sqlChampDisplayDateFinField . ' where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '" '; if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) { $majOK = true; } } else { //aucun mot de passe entré , on ne le met pas a jour $reqUpdate = 'update utilisateur set nom="' . $tabForm['nom']['value'] . '", prenom="' . $tabForm['prenom']['value'] . '", mail="' . $tabForm['mail']['value'] . '", urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", idProfil="' . $tabForm['idProfil']['value'] . '", alerteMail="' . $tabForm['alerteMail']['value'] . '", idVilleFavoris="' . $tabForm['ville']['value'] . '", canCopyright="' . $tabForm['canCopyright']['value'] . '", canModifyTags="' . $tabForm['canModifyTags']['value'] . '", canAddWithoutStreet="' . $tabForm['canAddWithoutStreet']['value'] . '", idPeriodeEnvoiMailsRegroupes="' . $tabForm['idPeriodeEnvoiMailsRegroupes']['value'] . '", alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '" ' . $sqlChampDisplayNumeroArchiveField . ' ' . $sqlChampDisplayDateFinField . ' where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '" '; if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) { $majOK = true; } } if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] == 'utilisateurDetail') { // Si un utilisateur est banni, on inactive son compte et on met le champs compteBanni à 1 $this->majBannissementUtilisateur(array('idUtilisateur' => $this->variablesPost['idUtilisateurModif'], 'champsBanissementApresValidationFormulaire' => $tabForm['bannirUtilisateur']['value'])); } } } elseif ($this->getIdProfilFromUtilisateur($authentification->getIdUtilisateur()) == '3') { // cas d'un utilisateur connecté moderateurs $tabForm = $this->getUtilisateurFieldsForModerators(); $errors = $formulaire->getArrayFromPost($tabForm); if (count($errors) == 0) { // test sur le mot de passe if ($tabForm['mdp1']['value'] != '') { // un mot de passe a ete entré , donc si pas d'erreur , on peut faire l'ajout a la base $reqUpdate = 'update utilisateur set nom="' . $tabForm['nom']['value'] . '", prenom="' . $tabForm['prenom']['value'] . '", mail="' . $tabForm['mail']['value'] . '", motDePasse="' . md5($tabForm['mdp1']['value']) . '", urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", idVilleFavoris="' . $tabForm['ville']['value'] . '", idPeriodeEnvoiMailsRegroupes="' . $tabForm['idPeriodeEnvoiMailsRegroupes']['value'] . '", alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", alerteMail="' . $tabForm['alerteMail']['value'] . '", displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '" where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '" '; if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) { $majOK = true; } } else { //aucun mot de passe entré , on ne le met pas a jour $reqUpdate = 'update utilisateur set nom="' . $tabForm['nom']['value'] . '", prenom="' . $tabForm['prenom']['value'] . '", mail="' . $tabForm['mail']['value'] . '", idVilleFavoris="' . $tabForm['ville']['value'] . '", urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", idPeriodeEnvoiMailsRegroupes="' . $tabForm['idPeriodeEnvoiMailsRegroupes']['value'] . '", alerteMail="' . $tabForm['alerteMail']['value'] . '", displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '" where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '" '; if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) { $majOK = true; } } } } else { // cas d'un utilisateur connecté non admin $tabForm = $this->getUtilisateurFieldsNotAdmin(); $errors = $formulaire->getArrayFromPost($tabForm); if (count($errors) == 0) { // test sur le mot de passe if ($tabForm['mdp1']['value'] != '') { // un mot de passe a ete entré , donc si pas d'erreur , on peut faire l'ajout a la base $reqUpdate = 'update utilisateur set nom="' . $tabForm['nom']['value'] . '", prenom="' . $tabForm['prenom']['value'] . '", mail="' . $tabForm['mail']['value'] . '", urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", motDePasse="' . md5($tabForm['mdp1']['value']) . '", idVilleFavoris="' . $tabForm['ville']['value'] . '", alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", alerteMail="' . $tabForm['alerteMail']['value'] . '", displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '" where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '" '; if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) { $majOK = true; } } else { //aucun mot de passe entré , on ne le met pas a jour $reqUpdate = 'update utilisateur set nom="' . $tabForm['nom']['value'] . '", prenom="' . $tabForm['prenom']['value'] . '", mail="' . $tabForm['mail']['value'] . '", urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", idVilleFavoris="' . $tabForm['ville']['value'] . '", alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", alerteMail="' . $tabForm['alerteMail']['value'] . '", displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '" where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '" '; if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) { $majOK = true; } } } } } else { echo "Vous n'êtes pas connecté.<br>"; } if ($majOK && !$authentification->estAdmin()) { echo "La mise à jour a été effectuée"; // envoi d'un mail a l'admin $message = ""; $message .= "Un utilisateur a modifié son compte , pour vérifier : <a href='" . $this->creerUrl('', 'utilisateurDetail', array('idUtilisateur' => $this->variablesPost['idUtilisateurModif'])) . "'>Cliquez ici</a>"; $mail->sendMailToAdministrators($mail->getSiteMail(), "Un utilisateur a modifié son compte", $message, '', true); $this->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $message, 'idTypeMailRegroupement' => 7, 'criteres' => "")); // on met a jour la session contenant la ville favorite , si on est soi meme l'utilisateur courant if ($this->variablesPost['idUtilisateurModif'] == $authentification->getIdUtilisateur()) { $this->session->addToSession("idVilleFavoris", $tabForm['ville']['value']); } } elseif ($authentification->estAdmin()) { echo "La mise à jour a été effectuée"; if ($this->variablesPost['idUtilisateurModif'] == $authentification->getIdUtilisateur()) { $this->session->addToSession("idVilleFavoris", $tabForm['ville']['value']); } } else { echo "La mise à jour n'a pas pu être effectuée."; } //echo $this->afficher($tabForm, $this->variablesPost['idUtilisateurModif']); }
/** * 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; }