Feat: gestion basique du multilinguisme :

- les sujets et textes des slugs peuvent désormais être multilangue en utilisant des <multi>
- la langue utilisée pour le mail est celle passée dans options[lang] de l'appel de FORMULAIRE_GAMUMAIL
TODO : voir comment on pourrait faire pour gérer la langue du mail non pas pour l'ensemble des destinataires mais pour chacun d'eux....
This commit is contained in:
cy_altern 2023-11-06 00:45:55 +01:00
parent dddde4449f
commit 15d9526132
3 changed files with 13 additions and 4 deletions

View file

@ -57,7 +57,7 @@
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
#SET{obli,"obligatoire"} #SET{obli,"obligatoire"}
<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
<label for="#GET{name}">Sujet</label> <label for="#GET{name}"><:gamumail:sujet:></label>
[<span class="erreur_message">(#GET{erreurs})</span>] [<span class="erreur_message">(#GET{erreurs})</span>]
<input required type="text" class="text sujet" name="#GET{name}" id="#GET{name}" value="#ENV{#GET{name}}" > <input required type="text" class="text sujet" name="#GET{name}" id="#GET{name}" value="#ENV{#GET{name}}" >
</div> </div>
@ -68,7 +68,7 @@
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
#SET{obli,"obligatoire"} #SET{obli,"obligatoire"}
<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> <div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
<label for="#GET{name}">Texte</label> <label for="#GET{name}"><:gamumail:corps_message:></label>
[<span class="erreur_message">(#GET{erreurs})</span>] [<span class="erreur_message">(#GET{erreurs})</span>]
<textarea required class="textarea texte" name="#GET{name}" id="#GET{name}" rows="7">[(#ENV{#GET{name}})]</textarea> <textarea required class="textarea texte" name="#GET{name}" id="#GET{name}" rows="7">[(#ENV{#GET{name}})]</textarea>
</div> </div>

View file

@ -76,10 +76,17 @@ function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient =
} }
//var_dump($Tcc); //var_dump($Tcc);
$gamuMail = sql_fetsel('sujet, texte, id_docs', 'spip_gamumails', 'slug='.sql_quote($slug)); $gamuMail = sql_fetsel('sujet, texte, id_docs', 'spip_gamumails', 'slug='.sql_quote($slug));
$texte = $gamuMail['texte'] ?? '';
$sujet = $gamuMail['sujet'] ?? '';
// faire les remplacement <multi> selon la langue du destinataire (passée en $options[lang])
if (!empty($options['lang']) && in_array($options['lang'], liste_options_langues('var_lang'))) {
$texte = extraire_multi($texte, $options['lang']);
$sujet = extraire_multi($sujet, $options['lang']);
}
$valeurs = array( $valeurs = array(
"slug" => $slug, "slug" => $slug,
'sujet' => $gamuMail['sujet'] ?? '', 'sujet' => $sujet,
'texte' => $gamuMail['texte'] ?? '', 'texte' => $texte,
'pour' => implode(',', $Tmails), 'pour' => implode(',', $Tmails),
'cc' => implode(',', $Tcc), 'cc' => implode(',', $Tcc),
'cci' => implode(',', $Tcci), 'cci' => implode(',', $Tcci),

View file

@ -21,6 +21,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'choix_slug' => 'Choix du modèle', 'choix_slug' => 'Choix du modèle',
'contenu_mail' => 'Contenu du mail', 'contenu_mail' => 'Contenu du mail',
'creer_modele' => 'Créer un modèle de mail', 'creer_modele' => 'Créer un modèle de mail',
'corps_message' => 'Texte',
// D // D
'documents_attaches' => 'Documents attachés', 'documents_attaches' => 'Documents attachés',
@ -84,6 +85,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'selectionnez_modele' => 'Sélectionnez un modèle...', 'selectionnez_modele' => 'Sélectionnez un modèle...',
'supprimer_modele' => 'Supprimer le modèle', 'supprimer_modele' => 'Supprimer le modèle',
'slug' => 'Slug', 'slug' => 'Slug',
'sujet' => 'Sujet',
'switch_modele_public' => 'Modifier la visibilité publique du modèle', 'switch_modele_public' => 'Modifier la visibilité publique du modèle',
// T // T