From 74b7fa6bbb599ec56efc29ae91bf47ba963ecf09 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Mon, 24 Oct 2005 06:31:38 +0000 Subject: [PATCH] oubli de l'action sur les langues --- ecrire/inc_lang.php3 | 4 ++-- ecrire/inc_naviguer.php | 49 ++++++++++++++++++++--------------------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/ecrire/inc_lang.php3 b/ecrire/inc_lang.php3 index eb204cc4d0..3be1e7b7df 100644 --- a/ecrire/inc_lang.php3 +++ b/ecrire/inc_lang.php3 @@ -243,7 +243,7 @@ function lang_dselect ($rien='') { // - 'var_lang' = langue de l'article, espace public // - 'changer_lang' = langue de l'article, espace prive // -function menu_langues($nom_select = 'var_lang', $default = '', $texte = '', $herit = '') { +function menu_langues($nom_select = 'var_lang', $default = '', $texte = '', $herit = '', $lien='') { global $couleur_foncee, $couleur_claire, $connect_id_auteur; include_ecrire('inc_filtres.php3'); @@ -253,7 +253,7 @@ function menu_langues($nom_select = 'var_lang', $default = '', $texte = '', $her if (!$couleur_foncee) $couleur_foncee = '#044476'; - $lien = $GLOBALS['clean_link']; + if (!$lien) $lien = $GLOBALS['clean_link']; if ($nom_select == 'changer_lang') { $lien->delvar('changer_lang'); diff --git a/ecrire/inc_naviguer.php b/ecrire/inc_naviguer.php index 09a5817561..4ab893c854 100644 --- a/ecrire/inc_naviguer.php +++ b/ecrire/inc_naviguer.php @@ -8,13 +8,13 @@ include_ecrire ("inc_abstract_sql.php3"); function naviguer_dist($action) { - global $id_parent, $id_rubrique, $nouv_mot, $spip_display, $connect_statut, $supp_mot, $champs_extra, $cherche_mot, $descriptif, $texte, $titre; + global $id_parent, $id_rubrique, $nouv_mot, $spip_display, $connect_statut, $supp_mot, $champs_extra, $cherche_mot, $descriptif, $texte, $titre, $changer_lang; $flag_editable = ($connect_statut == '0minirezo' AND (acces_rubrique($id_parent) OR acces_rubrique($id_rubrique))); // id_parent necessaire en cas de creation de sous-rubrique // si action vide, simple visite if ($flag_editable AND $action) - $id_rubrique = maj_naviguer($action, $id_rubrique, $id_parent, $titre, $texte, $descriptif, $flag_editable); + $id_rubrique = maj_naviguer($action, $id_rubrique, $id_parent, $titre, $texte, $descriptif, $flag_editable, $changer_lang); // // recuperer les infos sur cette rubrique @@ -220,7 +220,8 @@ if ($id_rubrique>0 AND lire_meta('multi_rubriques') == 'oui' AND (lire_meta('mul echo debut_block_invisible('languesrubrique'); echo "<div class='verdana2' align='center'>"; - echo menu_langues('changer_lang', $langue_rubrique, '', $langue_parent); + $link = new Link("naviguer.php3?action=coloniser&id_rubrique=$id_rubrique"); + echo menu_langues('changer_lang', $langue_rubrique, '', $langue_parent, $link); echo "</div>\n"; echo fin_block(); @@ -373,7 +374,7 @@ if ($relief) { supprimer_naviguer($id_rubrique, $id_parent, $ze_logo, $flag_editable); } -function maj_naviguer($action, $id_rubrique, $id_parent, $titre, $texte, $descriptif, $flag_editable) +function maj_naviguer($action, $id_rubrique, $id_parent, $titre, $texte, $descriptif, $flag_editable, $changer_lang) { if ($action == 'supprimer') { spip_query("DELETE FROM spip_rubriques WHERE id_rubrique=$id_rubrique"); @@ -382,6 +383,24 @@ function maj_naviguer($action, $id_rubrique, $id_parent, $titre, $texte, $descri $_POST['id_rubrique'] = $id_rubrique; $GLOBALS['clean_link'] = new Link(); } + elseif ($action == 'coloniser') { + if ($changer_lang + AND $id_rubrique>0 + AND lire_meta('multi_rubriques') == 'oui' + AND (lire_meta('multi_secteurs') == 'non' OR $id_parent == 0)) { + if ($changer_lang != "herit") + spip_query("UPDATE spip_rubriques SET lang='".addslashes($changer_lang)."', langue_choisie='oui' WHERE id_rubrique=$id_rubrique"); + else { + if ($id_parent == 0) + $langue_parent = lire_meta('langue_site'); + else { + $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_parent")); + $langue_parent = $row['lang']; + } + spip_query("UPDATE spip_rubriques SET lang='".addslashes($langue_parent)."', langue_choisie='non' WHERE id_rubrique=$id_rubrique"); + } + } + } // pour le cas 'calculer_rubriques' (retour de spip_image), // i.e. document/logo ajoute/supprime/tourne // suffit seulement de faire le calculer_rubriques() final @@ -426,32 +445,12 @@ WHERE id_rubrique=$id_rubrique"); // toute action entraine ceci: calculer_rubriques(); + calculer_langues_rubriques(); - // invalider et reindexer if ($GLOBALS['invalider_caches']) { include_ecrire ("inc_invalideur.php3"); suivre_invalideur("id='id_rubrique/$id_rubrique'"); } -// -// Appliquer le changement de langue -// - if ($GLOBALS['changer_lang'] - AND $id_rubrique>0 - AND lire_meta('multi_rubriques') == 'oui' - AND (lire_meta('multi_secteurs') == 'non' OR $id_parent == 0)) { - if ($changer_lang != "herit") - spip_query("UPDATE spip_rubriques SET lang='".addslashes($changer_lang)."', langue_choisie='oui' WHERE id_rubrique=$id_rubrique"); - else { - if ($id_parent == 0) - $langue_parent = lire_meta('langue_site'); - else { - $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_parent")); - $langue_parent = $row['lang']; - } - spip_query("UPDATE spip_rubriques SET lang='".addslashes($langue_parent)."', langue_choisie='non' WHERE id_rubrique=$id_rubrique"); - } - } - calculer_langues_rubriques(); return $id_rubrique; } -- GitLab