From 4c1ffe0bd9a7fd32d29b22672bf824a795f83e0e Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sat, 16 Jun 2007 21:42:06 +0000
Subject: [PATCH] simplification : proposer d'activer ou pas les champs texte
 et descriptif sur les rubriques ; par defaut texte est actif, et descriptif
 desactive (il n'est pas dans les squelettes par defaut)

---
 .gitattributes                     |  1 +
 ecrire/configuration/rubriques.php | 61 ++++++++++++++++++++++++++++++
 ecrire/exec/configuration.php      |  3 ++
 ecrire/exec/rubriques_edit.php     | 24 +++++++-----
 ecrire/inc/config.php              |  6 +++
 ecrire/inc/editer_article.php      |  2 +-
 6 files changed, 86 insertions(+), 11 deletions(-)
 create mode 100644 ecrire/configuration/rubriques.php

diff --git a/.gitattributes b/.gitattributes
index 5c6048b502..7a4e43cb78 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -434,6 +434,7 @@ ecrire/configuration/redacteurs.php -text
 ecrire/configuration/reducteur.php -text
 ecrire/configuration/referenceur.php -text
 ecrire/configuration/relayeur.php -text
+ecrire/configuration/rubriques.php -text
 ecrire/configuration/syndications.php -text
 ecrire/configuration/transcodeur.php -text
 ecrire/configuration/versionneur.php -text
diff --git a/ecrire/configuration/rubriques.php b/ecrire/configuration/rubriques.php
new file mode 100644
index 0000000000..fedfc3c6b1
--- /dev/null
+++ b/ecrire/configuration/rubriques.php
@@ -0,0 +1,61 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2007                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+include_spip('inc/presentation');
+include_spip('inc/config');
+
+//
+// Options des rubriques
+//
+
+function configuration_rubriques_dist(){
+	global $spip_lang_left;
+
+	$rubriques_descriptif = $GLOBALS['meta']["rubriques_descriptif"];
+	$rubriques_texte = $GLOBALS['meta']["rubriques_texte"];
+
+	$res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">"
+
+	. "<tr><td colspan='2' class='verdana2'>"
+	. typo(_L('Activer les champs suivants').':')
+	. "</td></tr>"
+
+	. "<tr>"
+	. "<td align='$spip_lang_left' class='verdana2'>"
+	. _T('info_descriptif')
+	. "</td>"
+	. "<td align='$spip_lang_left' class='verdana2'>"
+	. afficher_choix('rubriques_descriptif', $rubriques_descriptif,
+		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
+	. "</td></tr>\n"
+
+	. "<tr>"
+	. "<td align='$spip_lang_left' class='verdana2'>"
+	. typo(_T('info_texte').':')
+	. "</td>"
+	. "<td align='$spip_lang_left' class='verdana2'>"
+	. afficher_choix('rubriques_texte', $rubriques_texte,
+		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
+	. "</td></tr>\n"
+
+	. "</table>";
+
+	$res = debut_cadre_trait_couleur("rubrique-24.gif", true, "", _T('icone_rubriques'))
+	. ajax_action_post('configurer', 'rubriques', 'configuration','',$res)
+	. fin_cadre_trait_couleur(true);
+
+	return ajax_action_greffe('configurer-rubriques', '', $res);
+
+}
+?>
diff --git a/ecrire/exec/configuration.php b/ecrire/exec/configuration.php
index 90fb0f9b4b..5ec257cc3f 100644
--- a/ecrire/exec/configuration.php
+++ b/ecrire/exec/configuration.php
@@ -65,6 +65,9 @@ function exec_configuration_dist(){
 	echo $futurs();
 	echo fin_cadre_trait_couleur(true);
 
+	$rubriques = charger_fonction('rubriques', 'configuration');
+	echo $rubriques();
+
 	$breves = charger_fonction('breves', 'configuration');
 	echo $breves();
 
diff --git a/ecrire/exec/rubriques_edit.php b/ecrire/exec/rubriques_edit.php
index 7b20f06ca7..83139aadb2 100644
--- a/ecrire/exec/rubriques_edit.php
+++ b/ecrire/exec/rubriques_edit.php
@@ -130,17 +130,21 @@ function exec_rubriques_edit_dist()
 	$form .= fin_cadre_couleur(true)
 	. "<br />";
 
-	$form .= "<b>"._T('texte_descriptif_rapide')."</b><br />"
-		. _T('entree_contenu_rubrique')."<br />"
-		. "<textarea name='descriptif' class='forml' rows='4' cols='40'>"
-		. entites_html($descriptif)
-		. "</textarea>\n";
+	if (($config['rubriques_descriptif'] == "oui") OR strlen($descriptif)) {
+		$form .= "<b>"._T('texte_descriptif_rapide')."</b><br />"
+			. _T('entree_contenu_rubrique')."<br />"
+			. "<textarea name='descriptif' class='forml' rows='4' cols='40'>"
+			. entites_html($descriptif)
+			. "</textarea>\n";
+	}
 
-	$form .= "<b>"._T('info_texte_explicatif')."</b>"
-	. aide ("raccourcis")
-	. "<br /><textarea name='texte' rows='15' class='formo' cols='40'>"
-	. entites_html($texte)
-	. "</textarea>\n";
+	if (($config['rubriques_texte'] == "oui") OR strlen($texte)) {
+		$form .= "<b>"._T('info_texte_explicatif')."</b>"
+		. aide ("raccourcis")
+		. "<br /><textarea name='texte' rows='15' class='formo' cols='40'>"
+		. entites_html($texte)
+		. "</textarea>\n";
+	}
 
 	if ($champs_extra) {
 		include_spip('inc/extra');
diff --git a/ecrire/inc/config.php b/ecrire/inc/config.php
index 2299eedf04..508d006105 100644
--- a/ecrire/inc/config.php
+++ b/ecrire/inc/config.php
@@ -50,6 +50,9 @@ function liste_metas()
 		'taille_preview' => 150,
 		'articles_modif' => 'non',
 
+		'rubriques_descriptif' => 'non',
+		'rubriques_texte' => 'oui',
+
 		'activer_sites' => 'non',
 		'proposer_sites' => 0,
 		'activer_syndic' => 'oui',
@@ -227,6 +230,9 @@ function appliquer_modifs_config() {
 		'taille_preview',
 		'articles_modif',
 
+		'rubriques_descriptif',
+		'rubriques_texte',
+
 		'activer_sites',
 		'proposer_sites',
 		'activer_syndic',
diff --git a/ecrire/inc/editer_article.php b/ecrire/inc/editer_article.php
index e9cba3cd49..db7179c82c 100644
--- a/ecrire/inc/editer_article.php
+++ b/ecrire/inc/editer_article.php
@@ -171,7 +171,7 @@ function editer_article_soustitre($soustitre, $config, $aider)
 // http://doc.spip.org/@editer_article_descriptif
 function editer_article_descriptif($descriptif, $config, $aider)
 {
-	if (($config['articles_descriptif'] == "non") AND !$descriptif)
+	if (($config['articles_descriptif'] == "non") AND !strlen($descriptif))
 		return '';
 
 	$msg = _T('texte_contenu_article');
-- 
GitLab