From 11f77a3397bd4b036c48a7de4c2e84ab0f3be03b Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Fri, 21 Dec 2007 15:33:05 +0000
Subject: [PATCH] =?UTF-8?q?Atterrir=20directement=20sur=20le=20formulaire?=
 =?UTF-8?q?=20permettant=20d'effacer=20une=20signature,=20apr=C3=A8es=20l'?=
 =?UTF-8?q?avoir=20recherch=C3=A9e.=20Cet=20atterrissage=20=C3=A0=20partir?=
 =?UTF-8?q?=20de=20l'espace=20public=20=C3=A9tant=20malcommode=20(autorisa?=
 =?UTF-8?q?tion=20pr=C3=A9alable=20pas=20toujours=20faite)=20on=20se=20con?=
 =?UTF-8?q?tente=20=C3=A0=20ce=20niveau=20de=20mettre=20l'id=5Fsignature?=
 =?UTF-8?q?=20dans=20le=20source=20HTML.=20Pour=20l'espace=20priv=C3=A9,?=
 =?UTF-8?q?=20cette=20recherche=20autoris=C3=A9e=20incidemment=20par=20[10?=
 =?UTF-8?q?866]=C2=A0avait=20en=20fait=20un=20bug=20d'affichage.=20Il=20es?=
 =?UTF-8?q?t=20corrig=C3=A9,=20et=20c'est=20donc=20=C3=A0=20partir=20du=20?=
 =?UTF-8?q?script=20''recherche''=20qu'on=20va=20pouvoir=20atterrir=20sur?=
 =?UTF-8?q?=20l'endroit=20d=C3=A9sir=C3=A9.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 dist/inc-petition.html            |  2 +-
 ecrire/exec/controle_petition.php | 13 ++++++++++---
 ecrire/inc/afficher_objets.php    |  7 +++++--
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/dist/inc-petition.html b/dist/inc-petition.html
index c9719ca259..e46348b7f4 100644
--- a/dist/inc-petition.html
+++ b/dist/inc-petition.html
@@ -23,7 +23,7 @@
 	{recherche ?#ENV{cherche_signature}}
 	{!par #ENV{tri}}{par #ENV{tri_inverse}}
 	{!par #ENV{tri,#ENV{tri_inverse}}|?{'',date_time}}>
-		<tr>
+		<tr id='id_signature#ID_SIGNATURE'>
 		<td class="signature-date">[(#DATE|affdate_jourcourt)]</td>
 		<td class="signature-nom"><div class="#EDIT{qui}">#NOM</div>[
 		<div class="#EDIT{hyperlien}"><a href="(#URL_SITE)" class="spip_out" style="font-size: small;">[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]</a></div>]</td>
diff --git a/ecrire/exec/controle_petition.php b/ecrire/exec/controle_petition.php
index d7e42cfad1..a4cb241978 100644
--- a/ecrire/exec/controle_petition.php
+++ b/ecrire/exec/controle_petition.php
@@ -17,15 +17,22 @@ function exec_controle_petition_dist()
 {
 	exec_controle_petition_args(intval(_request('id_article')),
 				    _request('type'),
-				    intval(_request('debut')));
+				    intval(_request('debut')),
+				    intval(_request('id_signature')));
 }
 
-function exec_controle_petition_args($id_article, $type, $debut)
+function exec_controle_petition_args($id_article, $type, $debut, $id_signature)
 {
 	include_spip('inc/presentation');
 
 	$titre =' ';
 	$statut='new';
+	$where = '';
+	if ($id_signature) {
+		$id_article = sql_getfetsel("id_article", "spip_signatures", "id_signature=$id_signature");
+		if ($id_article)
+			$where = '(id_signature=' . sql_quote($id_signature) . ') AND ';
+	}
 	if ($id_article) {
 		if ($row = sql_fetsel("titre,statut", "spip_articles", "id_article=$id_article"));
 		if (!$row)
@@ -50,7 +57,7 @@ function exec_controle_petition_args($id_article, $type, $debut)
 		$r = $signatures('controle_petition',
 			$id_article,
 			$debut, 
-			"(statut='publie' OR statut='poubelle')",
+			$where . "(statut='publie' OR statut='poubelle')",
 			"date_time DESC",
 			 10,
 			 $type);
diff --git a/ecrire/inc/afficher_objets.php b/ecrire/inc/afficher_objets.php
index acce2034e2..79183d62cd 100644
--- a/ecrire/inc/afficher_objets.php
+++ b/ecrire/inc/afficher_objets.php
@@ -28,7 +28,7 @@ function lien_editer_objet($type,$key,$id){
 // http://doc.spip.org/@lien_voir_objet
 function lien_voir_objet($type,$key,$id){
 	if ($type == 'document') return generer_url_document($id);
-	$exec = array('article'=>'articles','breve'=>'breves_voir','rubrique'=>'naviguer','mot'=>'mots_edit');
+	$exec = array('article'=>'articles','breve'=>'breves_voir','rubrique'=>'naviguer','mot'=>'mots_edit', 'signature'=>'controle_petition');
 	$exec = isset($exec[$type])?$exec[$type]:$type . "s";
 	return generer_url_ecrire($exec,"$key=$id");
 }
@@ -89,8 +89,11 @@ function afficher_numero_edit($id, $key, $type,$row=NULL) {
 function afficher_titre_objet($type,$row){
 	if (function_exists($f = "afficher_titre_$type"))
 		return $f($row);
+
 	$titre = isset($row['titre'])?sinon($row['titre'], _T('ecrire:info_sans_titre')):
-	  (isset($row['nom'])?sinon($row['nom'], _T('ecrire:info_sans_titre')):"");
+	(isset($row['nom'])?sinon($row['nom'], _T('ecrire:info_sans_titre')):
+	 (isset($row['nom_email'])?sinon($row['nom_email'], _T('ecrire:info_sans_titre')):
+	  ""));
 	return array(typo(supprime_img($titre,'')),'');
 }
 // http://doc.spip.org/@afficher_titre_site
-- 
GitLab