From 72c06c22f9079edbc5e6947f628f7082f108b3b2 Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Wed, 22 Sep 2010 23:03:27 +0000 Subject: [PATCH] mise en squelette de la configuration de la langue principale du site (work in progress) --- .gitattributes | 5 ++ prive/formulaires/configurer_langue.html | 30 ++++++++++ prive/formulaires/configurer_langue.php | 60 +++++++++++++++++++ prive/formulaires/configurer_transcodeur.html | 36 +++++++++++ prive/formulaires/configurer_transcodeur.php | 41 +++++++++++++ .../contenu/page-configurer_langue.html | 6 ++ 6 files changed, 178 insertions(+) create mode 100644 prive/formulaires/configurer_langue.html create mode 100644 prive/formulaires/configurer_langue.php create mode 100644 prive/formulaires/configurer_transcodeur.html create mode 100644 prive/formulaires/configurer_transcodeur.php create mode 100644 prive/squelettes/contenu/page-configurer_langue.html diff --git a/.gitattributes b/.gitattributes index bac3198da6..40d06ea0f4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -411,9 +411,13 @@ prive/formulaires/configurer_identite.html -text prive/formulaires/configurer_identite.php -text prive/formulaires/configurer_langage.html -text prive/formulaires/configurer_langage.php -text +prive/formulaires/configurer_langue.html -text +prive/formulaires/configurer_langue.php -text prive/formulaires/configurer_metas.php -text prive/formulaires/configurer_preferences.html -text prive/formulaires/configurer_preferences.php -text +prive/formulaires/configurer_transcodeur.html -text +prive/formulaires/configurer_transcodeur.php -text prive/formulaires/editer_article.html -text prive/formulaires/editer_article.php -text prive/formulaires/editer_auteur.html -text @@ -741,6 +745,7 @@ prive/squelettes/contenu/page-charte.html -text prive/squelettes/contenu/page-configurer.html -text prive/squelettes/contenu/page-configurer_identite.html -text prive/squelettes/contenu/page-configurer_langage.html -text +prive/squelettes/contenu/page-configurer_langue.html -text prive/squelettes/contenu/page-configurer_preferences.html -text prive/squelettes/extra/dist.html -text prive/squelettes/head/dist.html -text diff --git a/prive/formulaires/configurer_langue.html b/prive/formulaires/configurer_langue.html new file mode 100644 index 0000000000..45e4836c5e --- /dev/null +++ b/prive/formulaires/configurer_langue.html @@ -0,0 +1,30 @@ +<div class="formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}"> +<h3 class='titrem'><img src="#CHEMIN_IMAGE{langue-24.png}" class="cadre-icone" /><:info_langue_principale:> : #ENV{_langue_site}</h3> + [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] + [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] + [(#ENV{editable}) + <form method='post' action='#ENV{action}' enctype='multipart/form-data'><div> + [(#REM) declarer les hidden qui declencheront le service du formulaire + parametre : url d'action ] + #ACTION_FORMULAIRE{#ENV{action}} + <ul> + <li> + <div class="explication"> + <:texte_selection_langue_principale|inserer_attribut{class,spip}:> + </div> + </li> + #SET{name,changer_langue_site}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} + <li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> + <label for="#GET{name}"><:info_langue_principale:></label> + [<span class='erreur_message'>(#GET{erreurs})</span>] + [<select name="changer_langue_site" id="changer_langue_site"> + (#ENV*{_langues}) + </select>] + </li> + </ul> + [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] + <!--extra--> + <p class='boutons'><span class='image_loading'> </span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p> + </div></form> + ] +</div> \ No newline at end of file diff --git a/prive/formulaires/configurer_langue.php b/prive/formulaires/configurer_langue.php new file mode 100644 index 0000000000..5d48f9b7f5 --- /dev/null +++ b/prive/formulaires/configurer_langue.php @@ -0,0 +1,60 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2010 * + * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * + * * + * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * + * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * +\***************************************************************************/ + +if (!defined("_ECRIRE_INC_VERSION")) return; + +function formulaires_configurer_langue_charger_dist(){ + $valeurs = array(); + + include_spip('inc/lang'); + $l_site = $GLOBALS['meta']['langue_site']; + $langue_site = traduire_nom_langue($l_site); + + $langues = explode(",",$GLOBALS['meta']['langues_proposees']); + if (!in_array($l_site, $langues)) + $langues[] = $l_site; + sort($langues); + + $res = ""; + foreach ($langues as $l) { + $res .= "<option value='$l'" + . ($l==$l_site ? " selected='selected'":"") + .">".traduire_nom_langue($l)."</option>\n"; + } + + $valeurs = array( + '_langues' => $res, + '_langue_site' => $langue_site, + 'changer_langue_site' => '', + ); + + return $valeurs; +} + + +function formulaires_configurer_langue_traiter_dist(){ + $res = array('editable'=>true); + + if ($lang = _request('changer_langue_site')) { + include_spip('inc/lang'); + // verif que la langue demandee est licite + if (changer_langue($lang)) { + ecrire_meta('langue_site', $lang); + $res['message_ok'] = _T('config_info_enregistree'); + } + // le test a defait ca: + utiliser_langue_visiteur(); + } + if (!$res['message_ok']) + $res['message_erreur'] = _L('erreur'); + return $res; +} diff --git a/prive/formulaires/configurer_transcodeur.html b/prive/formulaires/configurer_transcodeur.html new file mode 100644 index 0000000000..eed6e9307b --- /dev/null +++ b/prive/formulaires/configurer_transcodeur.html @@ -0,0 +1,36 @@ +<div class="formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}"> +<h3 class='titrem'><:info_jeu_caractere:></h3> + [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] + [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] + <p><:texte_jeu_caractere:></p> + [(#ENV{editable}) + <form method='post' action='#ENV{action}' enctype='multipart/form-data'><div> + [(#REM) declarer les hidden qui declencheront le service du formulaire + parametre : url d'action ] + #ACTION_FORMULAIRE{#ENV{action}} + <ul> + <li> + <div class="explication"> + <p><:texte_jeu_caractere_3:></p> + <div style='text-align: center'><b><tt>#ENV{charset}</tt></b></div> + <p><:texte_jeu_caractere_4:></p> + </div> + </li> + #SET{name,charset}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} + <li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"> + <label for="#GET{name}"><:info_jeu_caractere:></label>[ + <span class='erreur_message'>(#GET{erreurs})</span> + ]<input type="text" class="text" name="#GET{name}" id="#GET{name}" value="#ENV*{#GET{name}}" /> + </li> + [(#ENV{charset}|=={utf-8}|non|et{#GET{erreurs}|non}) + <li> + <p class="explication"><:texte_jeu_caractere_conversion{url=#URL_ECRIRE{convert_utf8}}:></p> + </li> + ] + </ul> + [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] + <!--extra--> + <p class='boutons'><span class='image_loading'> </span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p> + </div></form> + ] +</div> \ No newline at end of file diff --git a/prive/formulaires/configurer_transcodeur.php b/prive/formulaires/configurer_transcodeur.php new file mode 100644 index 0000000000..fe091306eb --- /dev/null +++ b/prive/formulaires/configurer_transcodeur.php @@ -0,0 +1,41 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2010 * + * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * + * * + * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * + * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * +\***************************************************************************/ + +if (!defined("_ECRIRE_INC_VERSION")) return; + +function formulaires_configurer_transcodeur_charger_dist(){ + $valeurs = array( + 'charset' => $GLOBALS['meta']["charset"], + ); + + return $valeurs; +} + +function formulaires_configurer_transcodeur_verifier_dist(){ + include_spip('inc/charsets'); + + $erreurs = array(); + if (!$charset=_request('charset')) + $erreurs['charset'] = _T('info_obligatoire'); + elseif ($charset!='utf-8' AND !load_charset($charset)) + $erreurs['charset'] = _T('utf8_convert_erreur_orig',array('charset'=>$charset)); + + return $erreurs; +} + + +function formulaires_configurer_transcodeur_traiter_dist(){ + $res = array('editable'=>true); + ecrire_meta('charset', _request('charset')); + $res['message_ok'] = _T('config_info_enregistree'); + return $res; +} \ No newline at end of file diff --git a/prive/squelettes/contenu/page-configurer_langue.html b/prive/squelettes/contenu/page-configurer_langue.html new file mode 100644 index 0000000000..c2f9ff117a --- /dev/null +++ b/prive/squelettes/contenu/page-configurer_langue.html @@ -0,0 +1,6 @@ +<div class="ajax"> + #FORMULAIRE_CONFIGURER_LANGUE +</div> +<div class="ajax"> + #FORMULAIRE_CONFIGURER_TRANSCODEUR +</div> \ No newline at end of file -- GitLab