From 35f223bbe7047199d5f0e2d97305d3cf632f8442 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Mon, 23 Jul 2007 22:17:14 +0000
Subject: [PATCH] programme de simplification : on peut desactiver les champs
 des forums (par defau on laisse titre et texte, pas hyperlien) ; pour
 simplifier encore supprimer titre, mais c'est pas l'habitude spipienne

---
 .gitattributes                          |  1 +
 dist/formulaires/forum.html             |  9 ++++
 dist/formulaires/forum_previsu.html     |  5 +-
 ecrire/balise/formulaire_forum.php      |  6 ++-
 ecrire/configuration/contenu_forums.php | 72 +++++++++++++++++++++++++
 ecrire/exec/config_contenu.php          |  4 ++
 ecrire/inc/config.php                   |  4 ++
 7 files changed, 98 insertions(+), 3 deletions(-)
 create mode 100644 ecrire/configuration/contenu_forums.php

diff --git a/.gitattributes b/.gitattributes
index 6dbe8105ab..992f562b76 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -421,6 +421,7 @@ ecrire/configuration/articles.php -text
 ecrire/configuration/avertisseur.php -text
 ecrire/configuration/breves.php -text
 ecrire/configuration/compteur.php -text
+ecrire/configuration/contenu_forums.php -text
 ecrire/configuration/documents.php -text
 ecrire/configuration/futurs.php -text
 ecrire/configuration/index.php -text
diff --git a/dist/formulaires/forum.html b/dist/formulaires/forum.html
index c2f270ce33..fc02045d8c 100644
--- a/dist/formulaires/forum.html
+++ b/dist/formulaires/forum.html
@@ -36,14 +36,22 @@
 
 	<fieldset>
 	<legend><:form_pet_message_commentaire:></legend>
+
+[(#CONFIG{forums_titre}|=={oui}|?{
 	<p><label for="titre"><:forum_titre:></label>
 	<input type="text" class="forml" name="titre" id="titre"[ value="(#ENV{titre})"] size="40" /></p>
+,
+	<input type="hidden" name="titre" id="titre"[ value="(#ENV{titre})"] />
+})]
 
+[(#CONFIG{forums_texte}|=={oui}|?{
 	<label><:forum_texte:></label>
 	<p><small><:info_creation_paragraphe:></small></p>
 	[(#ENV**{texte}|barre_textarea{12,40})]
 	</fieldset>
+})]
 
+[(#CONFIG{forums_urlref}|=={oui}|?{
 	<fieldset>
 	<legend><:forum_lien_hyper:></legend>
 	<p><:forum_page_url:></p>
@@ -52,6 +60,7 @@
 	<p><label for="url_site"><:forum_url:></label>
 	<input type="text" class="forml" name="url_site" id="url_site" style="text-align: left;" dir="ltr" size="40" value="#ENV{url_site}" /></p>
 	</fieldset>
+})]
 
 	<fieldset>
 	<legend><:forum_qui_etes_vous:></legend>
diff --git a/dist/formulaires/forum_previsu.html b/dist/formulaires/forum_previsu.html
index bcd0b733e3..cb298568ea 100644
--- a/dist/formulaires/forum_previsu.html
+++ b/dist/formulaires/forum_previsu.html
@@ -1,7 +1,10 @@
 <fieldset class="previsu">
 <legend><:previsualisation:></legend>
 
-<p>[<strong>(#ENV*{titre})</strong>][<em> - (#ENV*{auteur}|supprimer_numero|couper{80})</em>]</p>
+[(#CONFIG{forums_titre}|=={oui}|?{
+	<p>[<strong>(#ENV*{titre})</strong>][<em> - (#ENV*{auteur}|supprimer_numero|couper{80})</em>]</p>
+})]
+
 [(#ENV*{texte}|lignes_longues)]
 [<p><a[ href="(#ENV{url_site}|attribut_html)"] class="spip_out">(#ENV*{nom_site}|sinon{#ENV{url_site}|couper{80}})</a></p>]
 
diff --git a/ecrire/balise/formulaire_forum.php b/ecrire/balise/formulaire_forum.php
index c86ddb831e..928585a734 100644
--- a/ecrire/balise/formulaire_forum.php
+++ b/ecrire/balise/formulaire_forum.php
@@ -240,9 +240,11 @@ $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour)
 function inclure_previsu($texte,$titre, $email_auteur, $auteur, $url_site, $nom_site, $ajouter_mot)
 {
 	$erreur = $bouton = '';
-	if (strlen($texte) < 10 AND !$ajouter_mot)
+	if (strlen($texte) < 10
+	AND !$ajouter_mot AND $GLOBALS['meta']['forums_texte'] == 'oui')
 		$erreur = _T('forum_attention_dix_caracteres');
-	else if (strlen($titre) < 3)
+	else if (strlen($titre) < 3
+	AND $GLOBALS['meta']['forums_titre'] == 'oui')
 		$erreur = _T('forum_attention_trois_caracteres');
 	else if (defined('_FORUM_LONGUEUR_MAXI')
 	AND _FORUM_LONGUEUR_MAXI > 0
diff --git a/ecrire/configuration/contenu_forums.php b/ecrire/configuration/contenu_forums.php
new file mode 100644
index 0000000000..8a55304139
--- /dev/null
+++ b/ecrire/configuration/contenu_forums.php
@@ -0,0 +1,72 @@
+<?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 du contenu des forums
+//
+
+function configuration_contenu_forums_dist(){
+	global $spip_lang_left;
+
+	$forums_titre = $GLOBALS['meta']["forums_titre"];
+	$forums_texte = $GLOBALS['meta']["forums_texte"];
+	$forums_urlref = $GLOBALS['meta']["forums_urlref"];
+
+	$res = "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">"
+
+	. "<tr><td colspan='2' class='verdana2'>"
+	. typo(_T('config_activer_champs').':')
+	. "</td></tr>"
+
+	. "<tr>"
+	. "<td align='$spip_lang_left' class='verdana2'>"
+	. _T('info_titre')
+	. "</td>"
+	. "<td align='$spip_lang_left' class='verdana2'>"
+	. afficher_choix('forums_titre', $forums_titre,
+		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('forums_texte', $forums_texte,
+		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
+	. "</td></tr>\n"
+
+
+	. "<tr>"
+	. "<td align='$spip_lang_left' class='verdana2'>"
+	. _T('info_urlref')
+	. "</td>"
+	. "<td align='$spip_lang_left' class='verdana2'>"
+	. afficher_choix('forums_urlref', $forums_urlref,
+		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
+	. "</td></tr>\n"
+
+	. "</table>";
+
+	$res = debut_cadre_trait_couleur("forum-24.gif", true, "", _T('titre_forum'))
+	. ajax_action_post('configurer', 'contenu_forums', 'configuration','',$res)
+	. fin_cadre_trait_couleur(true);
+
+	return ajax_action_greffe('configurer-contenu_forums', '', $res);
+
+}
+?>
diff --git a/ecrire/exec/config_contenu.php b/ecrire/exec/config_contenu.php
index 2f49f3170d..abf24743cc 100644
--- a/ecrire/exec/config_contenu.php
+++ b/ecrire/exec/config_contenu.php
@@ -46,6 +46,7 @@ function exec_config_contenu_dist()
 	$participants = charger_fonction('participants', 'configuration');
 	$redacteurs = charger_fonction('redacteurs', 'configuration');
 	$visiteurs = charger_fonction('visiteurs', 'configuration');
+	$contenu_forums = charger_fonction('contenu_forums', 'configuration');
 	$annonces = charger_fonction('annonces', 'configuration');
 	$notifications_forum = charger_fonction('notifications_forum', 'configuration');
 	$administrateurs = charger_fonction('administrateurs', 'configuration');
@@ -60,6 +61,9 @@ function exec_config_contenu_dist()
 //
 	echo  $redacteurs(),  $visiteurs(), "<br />";
 
+// Champs actives sur les forums
+	echo $contenu_forums();
+
 //
 // Activer/desactiver mails automatiques
 //
diff --git a/ecrire/inc/config.php b/ecrire/inc/config.php
index 6f878942ec..ed7fa9f6f0 100644
--- a/ecrire/inc/config.php
+++ b/ecrire/inc/config.php
@@ -54,6 +54,10 @@ function liste_metas()
 		'rubriques_descriptif' => 'non',
 		'rubriques_texte' => 'oui',
 
+		'forums_titre' => 'oui',
+		'forums_texte' => 'oui',
+		'forums_urlref' => 'non',
+
 		'activer_sites' => 'non',
 		'proposer_sites' => 0,
 		'activer_syndic' => 'oui',
-- 
GitLab