Skip to content
Extraits de code Groupes Projets
Valider 4d8b569b rédigé par Fil's avatar Fil
Parcourir les fichiers

[9000] avait tue la langue dans les modeles (Paolo)

parent 303807eb
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -21,6 +21,7 @@ charger_generer_url(); ...@@ -21,6 +21,7 @@ charger_generer_url();
function action_redirect_dist() function action_redirect_dist()
{ {
global $redirect; global $redirect;
$redirect = _request('redirect');
if ($mode = _request('var_mode')) $mode = "var_mode=$mode"; if ($mode = _request('var_mode')) $mode = "var_mode=$mode";
......
...@@ -77,11 +77,17 @@ function lang_dir($lang='', $droitier='ltr', $gaucher='rtl') { ...@@ -77,11 +77,17 @@ function lang_dir($lang='', $droitier='ltr', $gaucher='rtl') {
// http://doc.spip.org/@lang_typo // http://doc.spip.org/@lang_typo
function lang_typo($lang='') { function lang_typo($lang='') {
if (!$lang) { if (!$lang) {
$lang = isset($GLOBALS['lang_objet']) ? $GLOBALS['lang_objet'] : $GLOBALS['spip_lang']; $lang = isset($GLOBALS['lang_objet'])
? $GLOBALS['lang_objet']
: $GLOBALS['spip_lang'];
} }
if ($lang == 'eo' OR $lang == 'fr' OR substr($lang, 0, 3) == 'fr_' OR $lang == 'cpf') if ($lang == 'eo'
OR $lang == 'fr'
OR substr($lang, 0, 3) == 'fr_'
OR $lang == 'cpf')
return 'fr'; return 'fr';
else return 'en'; else
return 'en';
} }
// gestion de la globale $lang_objet pour que les textes soient affiches // gestion de la globale $lang_objet pour que les textes soient affiches
......
...@@ -457,28 +457,31 @@ function typo($letexte, $echapper=true) { ...@@ -457,28 +457,31 @@ function typo($letexte, $echapper=true) {
// Caracteres de controle "illegaux" // Caracteres de controle "illegaux"
$letexte = corriger_caracteres($letexte); $letexte = corriger_caracteres($letexte);
// Proteger les caracteres typographiques a l'interieur des tags html // Charger & appliquer la fonction de typographie
$protege = "!':;?~%"; if ($typographie = charger_fonction(lang_typo(), 'typographie')) {
$illegal = "\x1\x2\x3\x4\x5\x6\x7";
if (preg_match_all(",</?[a-z!][^<>]*[!':;\?~%][^<>]*>,imsS", // Proteger les caracteres typographiques a l'interieur des tags html
$letexte, $regs, PREG_SET_ORDER)) { $protege = "!':;?~%";
foreach ($regs as $reg) { $illegal = "\x1\x2\x3\x4\x5\x6\x7";
$insert = $reg[0]; if (preg_match_all(",</?[a-z!][^<>]*[!':;\?~%][^<>]*>,imsS",
// hack: on transforme les caracteres a proteger en les remplacant $letexte, $regs, PREG_SET_ORDER)) {
// par des caracteres "illegaux". (cf corriger_caracteres()) foreach ($regs as $reg) {
$insert = strtr($insert, $protege, $illegal); $insert = $reg[0];
$letexte = str_replace($reg[0], $insert, $letexte); // hack: on transforme les caracteres a proteger en les remplacant
// par des caracteres "illegaux". (cf corriger_caracteres())
$insert = strtr($insert, $protege, $illegal);
$letexte = str_replace($reg[0], $insert, $letexte);
}
} }
}
$lang = lang_typo(); $letexte = $typographie($letexte);
lang_select($lang);
$typographie = charger_fonction($lang, 'typographie'); // Retablir les caracteres proteges
$letexte = strtr($letexte, $illegal, $protege);
}
$letexte = $typographie($letexte);
// Retablir les caracteres proteges
$letexte = strtr($letexte, $illegal, $protege);
// //
// Installer les modeles, notamment images et documents ; // Installer les modeles, notamment images et documents ;
...@@ -495,9 +498,6 @@ function typo($letexte, $echapper=true) { ...@@ -495,9 +498,6 @@ function typo($letexte, $echapper=true) {
if (function_exists('apres_typo')) if (function_exists('apres_typo'))
$letexte = apres_typo($letexte); $letexte = apres_typo($letexte);
// remettre la langue precedente
if ($lang) lang_select();
// reintegrer les echappements // reintegrer les echappements
if ($echapper) if ($echapper)
$letexte = echappe_retour($letexte, 'TYPO'); $letexte = echappe_retour($letexte, 'TYPO');
......
...@@ -56,8 +56,9 @@ if (defined('_INC_PUBLIC')) { ...@@ -56,8 +56,9 @@ if (defined('_INC_PUBLIC')) {
include_spip('inc/headers'); include_spip('inc/headers');
$var_f = charger_fonction($action, 'action'); $var_f = charger_fonction($action, 'action');
$var_f(); $var_f();
if (_request('redirect')) if ($GLOBALS['redirect']
redirige_par_entete(urldecode(_request('redirect'))); OR $GLOBALS['redirect'] = _request('redirect'))
redirige_par_entete(urldecode($GLOBALS['redirect']));
if (!headers_sent()) if (!headers_sent())
http_status(204); // No Content http_status(204); // No Content
exit; exit;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter