From 1f1d9ba6725866f3db9ff8a22de88fb74949369d Mon Sep 17 00:00:00 2001
From: Cerdic <cedric@yterium.com>
Date: Fri, 24 Sep 2010 21:13:38 +0000
Subject: [PATCH] #FORMULAIRE_CONFIGURER_SITES et #FORMULAIRE_CONFIGURER_FLUX
 remplace configuration/syndications

---
 .gitattributes                                |   5 +-
 ecrire/configuration/syndications.php         | 135 ------------------
 prive/formulaires/configurer_flux.html        |  32 +++++
 prive/formulaires/configurer_flux.php         |  36 +++++
 prive/formulaires/configurer_sites.html       |  72 ++++++++++
 prive/formulaires/configurer_sites.php        |  43 ++++++
 .../contenu/page-configurer_contenu.html      |  11 +-
 7 files changed, 193 insertions(+), 141 deletions(-)
 delete mode 100644 ecrire/configuration/syndications.php
 create mode 100644 prive/formulaires/configurer_flux.html
 create mode 100644 prive/formulaires/configurer_flux.php
 create mode 100644 prive/formulaires/configurer_sites.html
 create mode 100644 prive/formulaires/configurer_sites.php

diff --git a/.gitattributes b/.gitattributes
index 42f8d0b4d0..1bd15e3037 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -86,7 +86,6 @@ ecrire/configuration/previsualiseur.php -text
 ecrire/configuration/redacteurs.php -text
 ecrire/configuration/reducteur.php -text
 ecrire/configuration/relayeur.php -text
-ecrire/configuration/syndications.php -text
 ecrire/configuration/visiteurs.php -text
 ecrire/core.xml -text
 ecrire/exec/403.php -text
@@ -382,6 +381,8 @@ prive/formulaires/configurer_breves.html -text
 prive/formulaires/configurer_breves.php -text
 prive/formulaires/configurer_documents.html -text
 prive/formulaires/configurer_documents.php -text
+prive/formulaires/configurer_flux.html -text
+prive/formulaires/configurer_flux.php -text
 prive/formulaires/configurer_identite.html -text
 prive/formulaires/configurer_identite.php -text
 prive/formulaires/configurer_langage.html -text
@@ -397,6 +398,8 @@ prive/formulaires/configurer_preferences.html -text
 prive/formulaires/configurer_preferences.php -text
 prive/formulaires/configurer_rubriques.html -text
 prive/formulaires/configurer_rubriques.php -text
+prive/formulaires/configurer_sites.html -text
+prive/formulaires/configurer_sites.php -text
 prive/formulaires/configurer_transcodeur.html -text
 prive/formulaires/configurer_transcodeur.php -text
 prive/formulaires/editer_article.html -text
diff --git a/ecrire/configuration/syndications.php b/ecrire/configuration/syndications.php
deleted file mode 100644
index f07e742202..0000000000
--- a/ecrire/configuration/syndications.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-
-/***************************************************************************\
- *  SPIP, Systeme de publication pour l'internet                           *
- *                                                                         *
- *  Copyright (c) 2001-2010                                                *
- *  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');
-
-//
-// Actives/desactiver systeme de syndication
-//
-
-function configuration_syndications_dist()
-{
-	global $spip_lang_left;
-	
-	$activer_sites = $GLOBALS['meta']['activer_sites'];
-	$activer_syndic = $GLOBALS['meta']["activer_syndic"];
-	$proposer_sites = $GLOBALS['meta']["proposer_sites"];
-	$moderation_sites = $GLOBALS['meta']["moderation_sites"];
-	
-	$res = "\n<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">";
-	
-	$res .= "<tr><td align='$spip_lang_left' class='verdana2'>";
-	
-	$res .= bouton_radio("activer_sites", "oui", _T('item_gerer_annuaire_site_web'), $activer_sites == "oui", "changeVisible(this.checked, 'config-site', 'block', 'none');");
-	$res .= " &nbsp;";
-	$res .= bouton_radio("activer_sites", "non", _T('item_non_gerer_annuaire_site_web'), $activer_sites == "non", "changeVisible(this.checked, 'config-site', 'none', 'block');");
-	
-	$res .= "</td></tr></table>\n";
-
-
-
-	if ($activer_sites != 'non') $style = "display: block;";
-	else $style = "display: none;";
-
-	$res .= "<div id='config-site' style='$style'>";
-	
-	// Utilisateurs autorises a proposer des sites references
-	//
-	$res .= "<br />\n";
-	$res .= debut_cadre_relief('',true);
-	$res .= "\n<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">";
-	$res .= "\n<tr><td style='color: #000000' class='verdana1 spip_x-small'>";
-	$res .= "<label for='proposer_sites'>" . _T('info_question_proposer_site') ."</label>";
-	$res .= "\n<div style='text-align: center'><select name='proposer_sites' id='proposer_sites' class='fondo' size='1'>\n";
-	$res .= "<option".mySel('0',$proposer_sites).">"._T('item_choix_administrateurs')."</option>\n";
-	$res .= "<option".mySel('1',$proposer_sites).">"._T('item_choix_redacteurs')."</option>\n";
-	$res .= "<option".mySel('2',$proposer_sites).">"._T('item_choix_visiteurs')."</option>\n";
-	$res .= "</select></div>\n";
-	$res .= "</td></tr></table>\n";
-	$res .= fin_cadre_relief(true);
-
-	$res .= debut_cadre_relief("", true, "", _T('titre_syndication').aide ("rubsyn"));
-	
-	$res .= "\n<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">";
-	//
-	// Reglage de la syndication
-	//
-	$res .= "<tr><td class='verdana2'>";
-	$res .= _T('texte_syndication');
-	$res .= "</td></tr>";
-
-	$res .= "<tr><td align='$spip_lang_left' class='verdana2'>";
-
-	$res .= bouton_radio("activer_syndic", "oui", _T('item_utiliser_syndication'), $activer_syndic == "oui", "changeVisible(this.checked, 'config-syndic', 'block', 'none');");
-	$res .= "<br />\n";
-	$res .= bouton_radio("activer_syndic", "non", _T('item_non_utiliser_syndication'), $activer_syndic == "non", "changeVisible(this.checked, 'config-syndic', 'none', 'block');");
-
-	if ($activer_syndic != "non") $style = "display: block;";
-	else $style = "display: none;";
-			
-	$res .= "<div id='config-syndic' style='$style'>";
-		
-	// Moderation par defaut des sites syndiques
-	$res .= "<hr /><p style='text-align: $spip_lang_left'>";
-	$res .= _T('texte_liens_sites_syndiques')."</p>";
-
-	$res .= afficher_choix('moderation_sites', $moderation_sites,
-		array('oui' => _T('item_bloquer_liens_syndiques'),
-		'non' => _T('item_non_bloquer_liens_syndiques')));
-
-	$res .= "</div>";
-		
-	$res .= "</td></tr>\n";
-
-	$res .= "</table>\n";
-
-	$res .= fin_cadre_relief(true);
-	$res .= "</div>";
-
-	//
-	// Gestion des flux RSS
-	//
-
-	$res .= debut_cadre_relief("feed.png", true, "", _T('ical_titre_rss'));
-	
-	$res .= "<table border='0' cellspacing='1' cellpadding='3' width=\"100%\">";
-	
-	$res .= "<tr><td class='verdana2'>";
-	$res .= _T('info_syndication_integrale_1',
-			array('url' => generer_url_ecrire('synchro'),
-			'titre' => _T("icone_suivi_activite"))
-		).
-		'<p>' .
-	  _T('info_syndication_integrale_2').
-	  '</p>';
-	$res .= "</td></tr>";
-	
-	$res .= "<tr>";
-	$res .= "<td align='$spip_lang_left' class='verdana2'>";
-	$res .= afficher_choix('syndication_integrale', $GLOBALS['meta']["syndication_integrale"],
-		array('oui' => _T('item_autoriser_syndication_integrale'),
-			'non' => _T('item_non_autoriser_syndication_integrale')), "<br />\n");
-	$res .= "</td></tr>";
-	$res .= "</table>\n";
-	
-	$res .= fin_cadre_relief(true);
-
-	$res = debut_cadre_trait_couleur("site-24.png",true, "", _T('titre_referencement_sites').aide ("reference"))
-	. ajax_action_post('configuration', 'syndications', 'configuration','#configurer-syndications',$res)
-	. fin_cadre_trait_couleur(true);
-
-	return ajax_action_greffe('configurer-syndications', '', $res);
-}
-?>
diff --git a/prive/formulaires/configurer_flux.html b/prive/formulaires/configurer_flux.html
new file mode 100644
index 0000000000..27da773018
--- /dev/null
+++ b/prive/formulaires/configurer_flux.html
@@ -0,0 +1,32 @@
+<div class="formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}">
+<h3 class='titrem'><img src="#CHEMIN_IMAGE{rss-24.png}" class="cadre-icone" /><:ical_titre_rss:></h3>
+	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
+	[(#ENV{editable})
+	[(#SET{titre,<:icone_suivi_activite:>})]
+	<p><:info_syndication_integrale_1{url=#URL_ECRIRE{synchro},titre=#GET{titre}}:></p>
+	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
+		[(#REM) declarer les hidden qui declencheront le service du formulaire
+		parametre : url d'action ]
+		#ACTION_FORMULAIRE{#ENV{action}}
+		<ul>
+			#SET{name,syndication_integrale}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+			<li class="long_label editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+				<label for="#GET{name}"><:info_syndication_integrale_2:></label>[
+				<span class='erreur_message'>(#GET{erreurs})</span>
+				]<div class="choix">
+						<input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui"
+						[(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:item_autoriser_syndication_integrale:></label>
+					</div>
+					<div class="choix">
+						<input type="radio" name="#GET{name}" id="#GET{name}_non" value="non"
+						[(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:item_non_autoriser_syndication_integrale:></label>
+					</div>
+			</li>
+		</ul>
+	  [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
+	  <!--extra-->
+	  <p class='boutons'><span class='image_loading'>&nbsp;</span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
+	</div></form>
+	]
+</div>
\ No newline at end of file
diff --git a/prive/formulaires/configurer_flux.php b/prive/formulaires/configurer_flux.php
new file mode 100644
index 0000000000..a6c6f400da
--- /dev/null
+++ b/prive/formulaires/configurer_flux.php
@@ -0,0 +1,36 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2010                                                *
+ *  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;
+
+function formulaires_configurer_flux_charger_dist(){
+	foreach(array(
+		"syndication_integrale",
+		) as $m)
+		$valeurs[$m] = $GLOBALS['meta'][$m];
+
+	return $valeurs;
+}
+
+
+function formulaires_configurer_flux_traiter_dist(){
+	$res = array('editable'=>true);
+	foreach(array(
+		"syndication_integrale",
+		) as $m)
+		if (!is_null($v=_request($m)))
+			ecrire_meta($m, $v=='oui'?'oui':'non');
+
+	$res['message_ok'] = _T('config_info_enregistree');
+	return $res;
+}
+
diff --git a/prive/formulaires/configurer_sites.html b/prive/formulaires/configurer_sites.html
new file mode 100644
index 0000000000..e96df6a47a
--- /dev/null
+++ b/prive/formulaires/configurer_sites.html
@@ -0,0 +1,72 @@
+<div class="formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}">
+<h3 class='titrem'><img src="#CHEMIN_IMAGE{site-24.png}" class="cadre-icone" /><:titre_referencement_sites:>#AIDER{reference}</h3>
+	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
+	[(#ENV{editable})
+	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
+		[(#REM) declarer les hidden qui declencheront le service du formulaire
+		parametre : url d'action ]
+		#ACTION_FORMULAIRE{#ENV{action}}
+		<ul>
+			#SET{name,activer_sites}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+			<li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+				[<span class='erreur_message'>(#GET{erreurs})</span>
+				]<div class="choix">
+					<input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui"
+					[(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:item_gerer_annuaire_site_web:></label>
+				</div>
+				<div class="choix">
+					<input type="radio" name="#GET{name}" id="#GET{name}_non" value="non"
+					[(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:item_non_gerer_annuaire_site_web:></label>
+				</div>
+			</li>
+			#SET{name,proposer_sites}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+			<li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]"[(#ENV{activer_sites}|=={oui}|non)style='display:none;']>
+				<label for="#GET{name}"><:info_question_proposer_site:></label>[
+				<span class='erreur_message'>(#GET{erreurs})</span>
+				]
+				<select name="#GET{name}" id="#GET{name}">
+					<option value="0"[(#ENV{#GET{name}}|=={0}|oui)selected="selected"]><:item_choix_administrateurs:></option>
+					<option value="1"[(#ENV{#GET{name}}|=={1}|oui)selected="selected"]><:item_choix_redacteurs:></option>
+					<option value="2"[(#ENV{#GET{name}}|=={2}|oui)selected="selected"]><:item_choix_visiteurs:></option>
+				</select>
+			</li>
+			<li class="fieldset"[(#ENV{activer_sites}|=={oui}|non)style='display:none;']>
+				<fieldset><legend><:titre_syndication:>#AIDER{rubsyn}</legend>
+					<ul>
+						#SET{name,activer_syndic}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+						<li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+							<div class="explication"><:texte_syndication:></div>[
+							<span class='erreur_message'>(#GET{erreurs})</span>
+							]<div class="choix">
+								<input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui"
+								[(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:item_utiliser_syndication:></label>
+							</div>
+							<div class="choix">
+								<input type="radio" name="#GET{name}" id="#GET{name}_non" value="non"
+								[(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:item_non_utiliser_syndication:></label>
+							</div>
+						</li>
+						#SET{name,moderation_sites}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+						<li class="editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+							<div class="explication"><:texte_liens_sites_syndiques:></div>[
+							<span class='erreur_message'>(#GET{erreurs})</span>
+							]<div class="choix">
+								<input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui"
+								[(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:item_bloquer_liens_syndiques:></label>
+							</div>
+							<div class="choix">
+								<input type="radio" name="#GET{name}" id="#GET{name}_non" value="non"
+								[(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:item_non_bloquer_liens_syndiques:></label>
+							</div>
+						</li>
+					</ul>
+				</fieldset>
+			</li>
+		</ul>
+	  [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
+	  <!--extra-->
+	  <p class='boutons'><span class='image_loading'>&nbsp;</span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
+	</div></form>
+	]
+</div>
\ No newline at end of file
diff --git a/prive/formulaires/configurer_sites.php b/prive/formulaires/configurer_sites.php
new file mode 100644
index 0000000000..3475d816b7
--- /dev/null
+++ b/prive/formulaires/configurer_sites.php
@@ -0,0 +1,43 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2010                                                *
+ *  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;
+
+function formulaires_configurer_sites_charger_dist(){
+	foreach(array(
+		"activer_sites",
+		"activer_syndic",
+		"proposer_sites",
+		"moderation_sites",
+		) as $m)
+		$valeurs[$m] = $GLOBALS['meta'][$m];
+
+	return $valeurs;
+}
+
+function formulaires_configurer_sites_traiter_dist(){
+	$res = array('editable'=>true);
+	foreach(array(
+		"activer_sites",
+		"activer_syndic",
+		"moderation_sites",
+		) as $m)
+		if (!is_null($v=_request($m)))
+			ecrire_meta($m, $v=='oui'?'oui':'non');
+
+	$v = _request('moderation_sites');
+	ecrire_meta($m, in_array($v,array('0','1','2'))?$v:'0');
+
+	$res['message_ok'] = _T('config_info_enregistree');
+	return $res;
+}
+
diff --git a/prive/squelettes/contenu/page-configurer_contenu.html b/prive/squelettes/contenu/page-configurer_contenu.html
index 9656a3a4f8..15dd84af22 100644
--- a/prive/squelettes/contenu/page-configurer_contenu.html
+++ b/prive/squelettes/contenu/page-configurer_contenu.html
@@ -20,9 +20,10 @@
 	#FORMULAIRE_CONFIGURER_DOCUMENTS
 </div>
 
-<?php
-include_spip('inc/presentation');
+<div class="ajax">
+	#FORMULAIRE_CONFIGURER_SITES
+</div>
 
-	$syndications = charger_fonction('syndications', 'configuration');
-	echo $syndications();
-?>
+<div class="ajax">
+	#FORMULAIRE_CONFIGURER_FLUX
+</div>
-- 
GitLab