From d6fbea18147f1bb3e81f7773d617a68023aadf15 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Wed, 5 Apr 2006 06:59:59 +0000
Subject: [PATCH] =?UTF-8?q?Enfin=20trouv=C3=A9=20le=20moyen=20de=20revenir?=
 =?UTF-8?q?=20au=20comportement=20standard=20du=20calendier=20interne,=20s?=
 =?UTF-8?q?ans=20ecrire=20en=20dur=20le=20nom=20des=20scripts.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc/agenda.php |  9 +++---
 ecrire/inc/urls.php   | 69 ++++++++++++++++++++++++-------------------
 2 files changed, 42 insertions(+), 36 deletions(-)

diff --git a/ecrire/inc/agenda.php b/ecrire/inc/agenda.php
index 8d52b61ade..bf42d2a439 100644
--- a/ecrire/inc/agenda.php
+++ b/ecrire/inc/agenda.php
@@ -1153,8 +1153,7 @@ function calendrier_categories($table, $num, $objet)
     return generer_calendrier_class($table, $num, $objet);
   else {
     // cf calendrier.css
-    $result= spip_fetch_array(spip_query("
-SELECT	" . (($objet != 'id_breve') ? 'id_secteur' : 'id_rubrique') . "
+    $result= spip_fetch_array(spip_query("SELECT " . (($objet != 'id_breve') ? 'id_secteur' : 'id_rubrique') . "
 FROM	$table
 WHERE	$objet=$num
 "));
@@ -1248,7 +1247,7 @@ ORDER BY date
 			  'CATEGORIES' => calendrier_categories('spip_articles', $id, 'id_article'),
 			'DESCRIPTION' => $row['descriptif'],
 			'SUMMARY' => $row['titre'],
-			'URL' => generer_url_article($id));
+			'URL' => generer_url_article($id, 'prop'));
 	}
 }
 
@@ -1271,7 +1270,7 @@ ORDER BY date
 			  'CATEGORIES' => calendrier_categories('spip_rubriques', $id, 'id_rubrique'),
 			'DESCRIPTION' => $row['descriptif'],
 			'SUMMARY' => $row['titre'],
-			'URL' => generer_url_rubrique($id));
+			'URL' => generer_url_rubrique($id, 'prop'));
 	}
 }
 
@@ -1290,7 +1289,7 @@ ORDER BY date_heure
 		$ir = $row['id_rubrique'];
 		$evenements[$amj][]=
 		array(
-		      'URL' => generer_url_breve($id),
+		      'URL' => generer_url_breve($id, 'prop'),
 		      'CATEGORIES' => calendrier_categories('spip_breves', $ir, 'id_breve'),
 		      'SUMMARY' => $row['titre']);
 	}
diff --git a/ecrire/inc/urls.php b/ecrire/inc/urls.php
index aa50e7598f..74aa85f77a 100644
--- a/ecrire/inc/urls.php
+++ b/ecrire/inc/urls.php
@@ -10,51 +10,58 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
-//
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
-
-function generer_url_article($id_article) {
-	if (($row = spip_fetch_array(spip_query(
-	"SELECT statut FROM spip_articles WHERE id_article=$id_article"
-	))) AND ($row['statut'] == 'publie'))
-	  return generer_url_action('redirect', "id_article=$id_article");
-	else	return generer_url_ecrire('articles',"id_article=$id_article");
+function generer_url_article($id_article, $statut='') {
+	$args = "id_article=" . intval($id_article);
+	if (!$statut)
+		list($statut) = spip_fetch_array(spip_query("SELECT statut FROM spip_articles WHERE $args"));
+	if ($statut == 'publie')
+		return generer_url_action('redirect', $args);
+	else	return generer_url_ecrire('articles', $args);
 }
 
-function generer_url_rubrique($id_rubrique) {
-	if (($row = spip_fetch_array(spip_query(
-	"SELECT statut FROM spip_rubriques WHERE id_rubrique=$id_rubrique"
-	))) AND ($row['statut'] == 'publie'))
-	  return generer_url_action('redirect', "id_rubrique=$id_rubrique");
-	else
-	  return generer_url_ecrire('naviguer',"id_rubrique=$id_rubrique");
+function generer_url_rubrique($id_rubrique, $statut='') {
+	$args = "id_rubrique=" . intval($id_rubrique);
+	if (!$statut)
+		list($statut) = spip_fetch_array(spip_query("SELECT statut FROM spip_rubriques WHERE $args"));
+	if ($statut == 'publie')
+		return generer_url_action('redirect', $args);
+	else	return generer_url_ecrire('naviguer',$args);
 }
 
-function generer_url_breve($id_breve) {
-	if (($row = spip_fetch_array(spip_query(
-	"SELECT statut FROM spip_breves WHERE id_breve=$id_breve"
-	))) AND ($row['statut'] == 'publie'))
-	  return generer_url_action('redirect', "id_breve=$id_breve");
-	else
-		return generer_url_ecrire('breves_voir',"id_breve=$id_breve");
+function generer_url_breve($id_breve, $statut='') {
+	$args = "id_breve=" . intval($id_breve);
+	if (!$statut)
+		list($statut) = spip_fetch_array(spip_query("SELECT statut FROM spip_breves WHERE $args"));
+	if ($statut == 'publie')
+		return generer_url_action('redirect', $args);
+	else	return generer_url_ecrire('breves_voir',$args);
 }
 
-function generer_url_forum($id_forum) {
-  return generer_url_action('redirect', "id_forum=$id_forum");
+function generer_url_mot($id_mot, $statut='') {
+	$args = "id_mot=" . intval($id_mot);
+	if (!$statut)
+		return generer_url_action('redirect', $args);
+	else	return generer_url_ecrire('mots_edit',$args);
 }
 
-function generer_url_mot($id_mot) {
-  return  generer_url_action('redirect', "id_mot=$id_mot");
+function generer_url_site($id_syndic, $statut='') {
+	$args = "id_syndic=" . intval($id_syndic);
+	if (!$statut)
+		return generer_url_action('redirect', $args);
+	else	return generer_url_ecrire('sites',$args);
 }
 
-function generer_url_site($id_syndic) {
-  return  generer_url_action('redirect', "id_syndic=$id_syndic");
+function generer_url_auteur($id_auteur, $statut='') {
+	$args = "id_auteur=" . intval($id_auteur);
+	if (!$statut)
+		return generer_url_action('redirect', $args);
+	else	return generer_url_ecrire('auteurs_edit',$args);
 }
 
-function generer_url_auteur($id_auteur) {
-  return generer_url_action('redirect', "id_auteur=$id_auteur");
+function generer_url_forum($id_forum) {
+	return generer_url_action('redirect', "id_forum=$id_forum");
 }
 
 function generer_url_document($id_document) {
-- 
GitLab