From e2dad15a23dd5c4b493db2ebc7a5ba982b0cd5c1 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Tue, 13 Sep 2005 16:58:15 +0000
Subject: [PATCH] amelioration de l'ergonomie pour les admin restreints: la
 page d'accueil affiche dans le pave a gauche les rubriques qu'ils
 administrent (avec un lien dessus) et dans les formulaires de visualisation
 des auteurs on les voit aussi

---
 ecrire/inc_acces.php3     | 62 +++++++++++++++++++++------------------
 ecrire/inc_calendrier.php |  6 ++--
 ecrire/index.php3         | 17 +++++++++--
 3 files changed, 50 insertions(+), 35 deletions(-)

diff --git a/ecrire/inc_acces.php3 b/ecrire/inc_acces.php3
index 14fa06d70d..77b141ed8b 100644
--- a/ecrire/inc_acces.php3
+++ b/ecrire/inc_acces.php3
@@ -93,13 +93,6 @@ function afficher_formulaire_statut_auteur ($id_auteur, $statut, $post='') {
 	global $connect_statut, $connect_toutes_rubriques, $connect_id_auteur;
 	global $spip_lang_right;
 
-	if ($post) {
-		$url_self = $post;
-		echo "<p />";
-		echo "<form action='$post' method='post'>\n";
-	} else
-		$url_self = "auteur_infos.php3?id_auteur=$id_auteur";
-
 
 	// S'agit-il d'un admin restreint ?
 	if ($statut == '0minirezo') {
@@ -108,49 +101,60 @@ function afficher_formulaire_statut_auteur ($id_auteur, $statut, $post='') {
 		$admin_restreint = (spip_num_rows($result_admin) > 0);
 	}
 
-	// Seuls les admins voient le menu 'statut' ; les admins restreints
-	// ne peuvent l'utiliser que pour mettre un auteur a la poubelle
-	if ($connect_statut == "0minirezo"
-	AND ($connect_toutes_rubriques OR $statut != "0minirezo")
-	AND $connect_id_auteur != $id_auteur) {
+	$droit = ( ($connect_toutes_rubriques OR $statut != "0minirezo")
+		   && ($connect_id_auteur != $id_auteur));
+
+	if ($post && $droit) {
+		$url_self = $post;
+		echo "<p />";
+		echo "<form action='$post' method='post'>\n";
+	} else
+		$url_self = "auteur_infos.php3?id_auteur=$id_auteur";
+
+	// les admins voient et peuvent modifier les droits
+	// les admins restreints les voient mais 
+	// ne peuvent les utiliser que pour mettre un auteur a la poubelle
+	if ($connect_statut == "0minirezo") {
 		debut_cadre_relief();
 
-		if ($statut == '0minirezo') {
+		if ($droit) {
+
+		  if ($statut == '0minirezo') {
 			if ($admin_restreint)
 				echo bouton_block_visible("statut$id_auteur");
 			else
 				echo bouton_block_invisible("statut$id_auteur");
-		}
+		  }
 
-		echo "<b>"._T('info_statut_auteur')." </b> ";
-		echo "<select name='statut' size=1 class='fondl'>";
+		  echo "<b>"._T('info_statut_auteur')." </b> ";
+		  echo "<select name='statut' size=1 class='fondl'>";
 
-		if ($connect_statut == "0minirezo" AND $connect_toutes_rubriques)
+		  if ($connect_toutes_rubriques)
 			echo "<OPTION".mySel("0minirezo",$statut).">"._T('item_administrateur_2');
 
-		echo "<OPTION".mySel("1comite",$statut).">"._T('intem_redacteur');
+		  echo "<OPTION".mySel("1comite",$statut).">"._T('intem_redacteur');
 
-		if (($statut == '6forum')
-		OR (lire_meta('accepter_visiteurs') == 'oui')
-		OR (lire_meta('forums_publics') == 'abo')
-		OR spip_num_rows(spip_query("SELECT statut
+		  if (($statut == '6forum')
+		      OR (lire_meta('accepter_visiteurs') == 'oui')
+		      OR (lire_meta('forums_publics') == 'abo')
+		      OR spip_num_rows(spip_query("SELECT statut
 		FROM spip_auteurs WHERE statut='6forum'")))
 			echo "<OPTION".mySel("6forum",$statut).">"._T('item_visiteur');
-		echo "<OPTION".mySel("5poubelle",$statut).
-		  " style='background:url(" . _DIR_IMG_PACK . "rayures-sup.gif)'>&gt; "._T('texte_statut_poubelle');
-
-		echo "</select>\n";
+		  echo "<OPTION".mySel("5poubelle",$statut).
+		    " style='background:url(" . _DIR_IMG_PACK . "rayures-sup.gif)'>&gt; "._T('texte_statut_poubelle');
 
+		  echo "</select>\n";
+		}
 		//
 		// Gestion restreinte des rubriques
 		//
 		if ($statut == '0minirezo') {
+		  echo debut_block_visible("statut$id_auteur");
 			if (!$admin_restreint) {
-				echo debut_block_invisible("statut$id_auteur");
+#				echo debut_block_invisible("statut$id_auteur");
 				echo "<p /><div style='arial2'>\n";
 				echo _T('info_admin_gere_toutes_rubriques');
 			} else {
-				echo debut_block_visible("statut$id_auteur");
 				echo "<p /><div style='arial2'>\n";
 				echo _T('info_admin_gere_rubriques')."\n";
 				echo "<ul style='list-style-image: url(" . _DIR_IMG_PACK . "rubrique-12.gif)'>";
@@ -191,7 +195,7 @@ function afficher_formulaire_statut_auteur ($id_auteur, $statut, $post='') {
 		}
 
 
-		if ($post) {
+		if ($post && $droit) {
 			echo "<div align='$spip_lang_right'><input type='submit'
 			class='fondo' name='Valider'
 			value=\""._T('bouton_valider')."\" /></div>"; 
diff --git a/ecrire/inc_calendrier.php b/ecrire/inc_calendrier.php
index 21e6bc36f6..0ee1a67d1c 100644
--- a/ecrire/inc_calendrier.php
+++ b/ecrire/inc_calendrier.php
@@ -384,7 +384,7 @@ function http_calendrier_semaine($annee, $mois, $jour, $echelle, $partie_cal, $s
 	    $sd = http_calendrier_sans_date($annee, $mois,$evt[0]);
 	    $finurl = "&echelle=$echelle&partie_cal=$partie_cal$ancre";
 	    $evt =
-	      http_calendrier_semaine_noms($annee, $mois, $init, $scriptep, $finurl) .
+	      http_calendrier_semaine_noms($annee, $mois, $init, $script, $finurl) .
 	      http_calendrier_semaine_sept($annee, $mois, $init, $echelle, $partie_cal, $evt);
 	  }
 
@@ -1322,7 +1322,7 @@ ORDER BY date
 		$id = $row['id_article'];
 		$evenements[$amj][]=
 		    array(
-			'CATEGORIES' => calendrier_categories('articles', $id),
+			'CATEGORIES' => calendrier_categories('spip_articles', $id),
 			'DESCRIPTION' => $row['descriptif'],
 			'SUMMARY' => $row['titre'],
 			'URL' => generer_url_article($id));
@@ -1345,7 +1345,7 @@ ORDER BY date_heure
 		$evenements[$amj][]=
 		array(
 		      'URL' => generer_url_breve($id),
-		      'CATEGORIES' => calendrier_categories('breves', $ir),
+		      'CATEGORIES' => calendrier_categories('spip_breves', $ir),
 		      'SUMMARY' => $row['titre']);
 	}
 }
diff --git a/ecrire/index.php3 b/ecrire/index.php3
index e41b494a61..8429372e02 100644
--- a/ecrire/index.php3
+++ b/ecrire/index.php3
@@ -32,9 +32,20 @@ if ($spip_display != 4) {
 	$titre_cadre = afficher_plus("auteurs_edit.php3?id_auteur=$connect_id_auteur");
 	$titre_cadre .= majuscules(typo($connect_nom));
 	
-	debut_cadre_couleur_foncee("fiche-perso-24.gif", false, '', '');
-	echo "<center><b>".$titre_cadre."</b></center>";
-	fin_cadre_couleur_foncee();
+	debut_cadre_relief("fiche-perso-24.gif", false, '',$titre_cadre);
+	if ($connect_statut) {
+		$result_admin = spip_query("SELECT lien.id_rubrique, titre FROM spip_auteurs_rubriques AS lien, spip_rubriques AS rubriques WHERE lien.id_auteur=$connect_id_auteur AND lien.id_rubrique=rubriques.id_rubrique GROUP BY lien.id_rubrique");
+		if (spip_num_rows($result_admin)) {
+		  echo "<ul style='margin:0px; padding-$spip_lang_left: 20px; margin-bottom: 5px;'>";
+			while ($row_admin = spip_fetch_array($result_admin)) {
+				$id_rubrique = $row_admin["id_rubrique"];
+				echo "<li><a href='naviguer.php3?id_rubrique=$id_rubrique'>", typo($row_admin["titre"]), '</a></li>';
+			}
+			echo "</ul></b>";
+		}
+	}
+
+	fin_cadre_relief();
 	
 
 	//
-- 
GitLab