diff --git a/ecrire/inc_base.php3 b/ecrire/inc_base.php3 index ed75e5ac4408452ef9977ba4519b240c1f6d5e76..67c6b945cecef92d4b8bd9ffd9d35279b1b3d0f3 100644 --- a/ecrire/inc_base.php3 +++ b/ecrire/inc_base.php3 @@ -44,6 +44,7 @@ function creer_base() { PRIMARY KEY (id_article), KEY id_rubrique (id_rubrique), KEY id_secteur (id_secteur), + KEY lang (lang), KEY statut (statut, date))"; $result = spip_query($query); @@ -73,6 +74,7 @@ function creer_base() { PRIMARY KEY (id_auteur), KEY login (login), KEY statut (statut), + KEY lang (lang), KEY en_ligne (en_ligne))"; $result = spip_query($query); @@ -149,6 +151,7 @@ function creer_base() { lang VARCHAR(10) DEFAULT '' NOT NULL, extra longblob NULL, PRIMARY KEY (id_rubrique), + KEY lang (lang), KEY id_parent (id_parent))"; $result = spip_query($query); @@ -1295,6 +1298,13 @@ function maj_base() { maj_version (1.703); } + if ($version_installee < 1.704) { + spip_query("ALTER TABLE spip_articles ADD INDEX lang (lang)"); + spip_query("ALTER TABLE spip_auteurs ADD INDEX lang (lang)"); + spip_query("ALTER TABLE spip_rubriques ADD INDEX lang (lang)"); + maj_version (1.704); + } + } ?> diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3 index 375c230114c2bb3fb293114c33538e62c476bdcc..0b07e2753dc0472f973bebbf35b2cf4ac01e01b6 100644 --- a/ecrire/inc_filtres.php3 +++ b/ecrire/inc_filtres.php3 @@ -444,6 +444,7 @@ function extra ($letexte,$champ) { // <body[ dir="(#LANG|lang_rtl)"]> pour l'ecriture droite->gauche function lang_rtl ($lang) { include_ecrire('inc_lang.php3'); + $lang = lang_supprimer_point($lang); if ($lang=='fa' OR $lang=='ar') return 'rtl'; } @@ -453,7 +454,7 @@ function lang_select ($lang='') { global $pile_langues, $spip_lang; include_ecrire('inc_lang.php3'); array_push($pile_langues, $spip_lang); - changer_langue($lang); + changer_langue(lang_supprimer_point($lang)); } // revenir a la langue precedente @@ -463,9 +464,4 @@ function lang_dselect ($rien='') { changer_langue(array_pop($pile_langues)); } -// nettoyer les langues affectees automatiquement (cf. calculer_langues_rubriques) -function lang_supprimer_point ($langue) { - return ereg_replace('^\.', '', $langue); -} - ?> diff --git a/ecrire/inc_lang.php3 b/ecrire/inc_lang.php3 index c8538541fc3718be1f5e7db83bd3b4bf50e3f056..fd430af4402dee4534622f3c646e8d2f1d74ee00 100644 --- a/ecrire/inc_lang.php3 +++ b/ecrire/inc_lang.php3 @@ -101,6 +101,7 @@ function traduire_chaine($code, $args) { } function traduire_nom_langue($lang) { + $lang = lang_supprimer_point ($lang); $codes_langues = array( 'aa' => "Afar", 'ab' => "Abkhazian", @@ -259,11 +260,13 @@ function menu_langues($nom_select = 'var_lang', $default = '', $texte = '') { if ($default == '') $default = $GLOBALS['spip_lang']; else if ($default == '--') { - $premier_option = "<option value='--'>--</option>\n"; + $parenthese_o = '('; + $parenthese_f = ')'; + $default = lire_meta('langue_site'); } else if (substr($default,0,1) == '.') { $parenthese_o = '('; $parenthese_f = ')'; - $default = substr($default,1); + $default = lang_supprimer_point($default); } $langues = explode(',', $GLOBALS['all_langs']); @@ -349,6 +352,11 @@ function init_langues() { } } +// nettoyer les langues affectees automatiquement (cf. calculer_langues_rubriques) +function lang_supprimer_point ($langue) { + return ereg_replace('^\.', '', $langue); +} + init_langues(); utiliser_langue_site(); diff --git a/ecrire/inc_rubriques.php3 b/ecrire/inc_rubriques.php3 index 87bf7b0667aebfb9cf724e4dd5028e2174f336cf..35d59bf03a9c90fdcfeef85185bbf5e904b12dec 100644 --- a/ecrire/inc_rubriques.php3 +++ b/ecrire/inc_rubriques.php3 @@ -169,7 +169,7 @@ function calculer_langues_rubriques_etape() { while ($row = spip_fetch_array($s)) { $lang = addslashes(lang_supprimer_point($row['lang'])); $id_rubrique = $row['id_rubrique']; - spip_log ("rubrique $id_rubrique = .$lang"); + spip_debug ("rubrique $id_rubrique = .$lang"); $t = spip_query ("UPDATE spip_rubriques SET lang='.$lang' WHERE id_rubrique=$id_rubrique"); } @@ -189,7 +189,7 @@ function calculer_langues_rubriques() { while ($row = spip_fetch_array($s)) { $lang = addslashes(lang_supprimer_point($row['lang'])); $id_article = $row['id_article']; - spip_log ("article $id_article = .$lang"); + spip_debug ("article $id_article = .$lang"); spip_query ("UPDATE spip_articles SET lang='.$lang' WHERE id_article=$id_article"); } diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3 index 78c8676c1f891c21ba7e9ec40558069e03a5904c..e48f118181d36c8e8645ac45d0a3aa19a55f99e9 100644 --- a/ecrire/inc_version.php3 +++ b/ecrire/inc_version.php3 @@ -149,10 +149,10 @@ if ($flag_ecrire) { // (utilise pour les modifs de la base de donnees) // version de la base -$spip_version = 1.703; +$spip_version = 1.704; // version de spip -$spip_version_affichee = "1.7a1 CVS"; +$spip_version_affichee = "1.7a2 CVS"; // version de spip / tag cvs if (ereg('Name: v(.*) ','$Name$', $regs)) $spip_version_affichee = $regs[1];