From 4ceac7d012e250a3e2c335571d4c5828d30968f2 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Thu, 2 Mar 2006 14:50:04 +0000
Subject: [PATCH] petits bugs lors de la creation d une rubrique ou d un site

---
 ecrire/exec/articles.php    | 16 ++++++----------
 ecrire/exec/breves_voir.php |  9 ++++-----
 ecrire/exec/naviguer.php    | 13 ++++++++-----
 ecrire/exec/sites.php       |  8 +++-----
 ecrire/exec/sites_edit.php  |  7 ++-----
 5 files changed, 23 insertions(+), 30 deletions(-)

diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php
index d56babdfcd..78c86b4ab3 100644
--- a/ecrire/exec/articles.php
+++ b/ecrire/exec/articles.php
@@ -496,20 +496,16 @@ function   comparer_statut_articles($id_article, $statut_nouv, $statut_article,
 		$ok_nouveau_statut =  ($statut_nouv != $statut_article);
 
 		// 'depublie' => invalider les caches
-		if ($ok_nouveau_statut AND $statut_article == 'publie' 
-		    AND $GLOBALS['invalider_caches']) {
-		  include_spip('inc/invalideur');
-		  suivre_invalideur("id='id_article/$id_article'");
+		if ($ok_nouveau_statut AND $statut_article == 'publie') {
+			include_spip('inc/invalideur');
+			suivre_invalideur("id='id_article/$id_article'");
 		}
 	}
 	return $ok_nouveau_statut ;
 }
 
 
-function cron_articles($id_article, $statut, $statut_ancien)
-{
-	global $invalider_caches;
-
+function cron_articles($id_article, $statut, $statut_ancien) {
 	calculer_rubriques();
 
 	if ($statut == 'publie') {
@@ -521,8 +517,8 @@ function cron_articles($id_article, $statut, $statut_ancien)
 		envoyer_mail_publication($id_article);
 	}
 
-	if ($statut_ancien == 'publie' AND $invalider_caches) {
-	  	include_spip('inc/invalideur');
+	if ($statut_ancien == 'publie') {
+		include_spip('inc/invalideur');
 		suivre_invalideur("id='id_article/$id_article'");
 	}
 
diff --git a/ecrire/exec/breves_voir.php b/ecrire/exec/breves_voir.php
index 3b63a11636..1f02e45876 100644
--- a/ecrire/exec/breves_voir.php
+++ b/ecrire/exec/breves_voir.php
@@ -241,7 +241,7 @@ function exec_breves_voir_dist()
 global $id_breve, $id_parent, $texte, $titre, $statut,
   $annee, $mois, $jour, $lien_titre, $lien_url,$champs_extra,
   $new, $modifier_breve, $changer_lang, $cherche_mot, $nouv_mot,$supp_mot,
-  $connect_statut, $invalider_caches;
+  $connect_statut;
 
 $id_breve = intval($id_breve);
 
@@ -275,10 +275,9 @@ if (strval($titre)!='' AND $modifier_breve) {
 	spip_query("UPDATE spip_breves SET titre='$titre', texte='$texte', lien_titre='$lien_titre', lien_url='$lien_url', statut='$statut', id_rubrique='$id_rubrique' $add_extra WHERE id_breve=$id_breve");
 
 	// invalider et reindexer
-	if ($invalider_caches) {
-		include_spip('inc/invalideur');
-		suivre_invalideur("id='id_breve/$id_breve'");
-	}
+	include_spip('inc/invalideur');
+	suivre_invalideur("id='id_breve/$id_breve'");
+
 	if ($GLOBALS['meta']['activer_moteur'] == 'oui') {
 		include_spip("inc/indexation");
 		marquer_indexer('breve', $id_breve);
diff --git a/ecrire/exec/naviguer.php b/ecrire/exec/naviguer.php
index 106b51b970..47de006491 100644
--- a/ecrire/exec/naviguer.php
+++ b/ecrire/exec/naviguer.php
@@ -43,16 +43,19 @@ function exec_naviguer_dist()
 				$descriptif,
 				$changer_lang
 			);
-			if (is_int($res)) $id_rubrique = $res;
+
+			// Suite a une creation, rediriger vers l'objet cree
+			if (is_int($res) AND $id_rubrique != $res)
+				redirige_par_entete(generer_url_ecrire('naviguer',
+					'id_rubrique='.$res, true));
 
 			// toute action entraine ceci:
 			calculer_rubriques();
 			calculer_langues_rubriques();
 
-			if ($GLOBALS['invalider_caches']) {
-				include_spip('inc/invalideur');
-				suivre_invalideur("id='id_rubrique/$id_rubrique'");
-			}
+			// invalider les caches marques de cette rubrique
+			include_spip('inc/invalideur');
+			suivre_invalideur("id='id_rubrique/$id_rubrique'");
 		}
 	}
 
diff --git a/ecrire/exec/sites.php b/ecrire/exec/sites.php
index 60a2478ebd..c7524e5260 100644
--- a/ecrire/exec/sites.php
+++ b/ecrire/exec/sites.php
@@ -32,7 +32,6 @@ global
   $connect_statut,
   $id_parent,
   $id_syndic,
-  $invalider_caches,
   $jour,
   $miroir,
   $moderation,
@@ -190,10 +189,9 @@ if (strval($nom_site)!='' AND $modifier_site == 'oui' AND $flag_editable) {
 
 	// invalider et reindexer
 	if ($statut == 'publie') {
-		if ($invalider_caches) {
-			include_spip('inc/invalideur');
-			suivre_invalideur("id='id_syndic/$id_syndic'");
-		}
+		include_spip('inc/invalideur');
+		suivre_invalideur("id='id_syndic/$id_syndic'");
+
 		if ($GLOBALS['meta']['activer_moteur'] == 'oui') {
 			include_spip("inc/indexation");
 			marquer_indexer('syndic', $id_syndic);
diff --git a/ecrire/exec/sites_edit.php b/ecrire/exec/sites_edit.php
index 10dbd82b99..a6b9696c8b 100644
--- a/ecrire/exec/sites_edit.php
+++ b/ecrire/exec/sites_edit.php
@@ -71,18 +71,15 @@ if ($new == 'oui'){
 	if ($connect_statut == '0minirezo' OR $GLOBALS['meta']["proposer_sites"] > 0) {
 		debut_cadre_relief("site-24.gif");
 		
-		echo generer_url_post_ecrire('sites', "id_rubrique=$id_rubrique"),
+		echo generer_url_post_ecrire('sites', "id_parent=$id_rubrique"),
 		  "<input type='hidden' name='new' value='oui' />\n",
 		  "<input type='hidden' name='analyser_site' value='oui' />\n",
-		  "<input type='hidden' name='redirect' value='",
-		  urlencode(generer_url_ecrire('sites_edit', "id_rubrique=$id_rubrique&new=oui", true)),
-		  "' />\n",
 		  "<font face='Verdana,Arial,Sans,sans-serif' size='2'>",
 		  _T('texte_referencement_automatique'),
 		  "</font>",
 		  "\n<div align='right'><input type=\"text\" name=\"url\" class='fondl' size='40' value=\"http://\" />\n",
 		  "<input type=\"submit\"  value=\""._T('bouton_ajouter')."\" class='fondo' />\n",
-		  "</form>";		
+		  "</form>";
 		fin_cadre_relief();
 		
 		echo "\n<p><blockquote><b>"._T('texte_non_fonction_referencement')."</b>";
-- 
GitLab