diff --git a/.gitattributes b/.gitattributes index eca76f96d96336f0ccb1b90aa59f33ace9741a40..596b42bab9224a1f20570bfb02d8ba04a52659df 100644 --- a/.gitattributes +++ b/.gitattributes @@ -309,6 +309,7 @@ ecrire/action/editer_auteurs.php -text ecrire/action/editer_forum.php -text ecrire/action/editer_mot.php -text ecrire/action/editer_rubrique.php -text +ecrire/action/editer_signatures.php -text ecrire/action/ical.php -text ecrire/action/iconifier.php -text ecrire/action/instituer_article.php -text diff --git a/ecrire/action/editer_signatures.php b/ecrire/action/editer_signatures.php new file mode 100644 index 0000000000000000000000000000000000000000..fd97dccfb504db0b5ed3e893d58a5d63eab27682 --- /dev/null +++ b/ecrire/action/editer_signatures.php @@ -0,0 +1,56 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2006 * + * 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/actions'); + +// Modifier le reglage des forums publics de l'article x +// http://doc.spip.org/@action_poster_dist +function action_editer_signatures_dist() +{ + $var_f = charger_fonction('controler_action_auteur', 'inc'); + $var_f(); + + $arg = _request('arg'); + + if (!preg_match(",^(-?\d+)$,", $arg, $r)) { + spip_log("action_editer_signature_dist $arg pas compris"); + } else action_editer_signatures_post($r); +} + +// http://doc.spip.org/@action_poster_post +function action_editer_signatures_post($r) +{ + $id = intval($r[1]); + + if ($id < 0){ + $id = 0 - $id; + $result_forum = spip_query("UPDATE spip_signatures SET statut='poubelle' WHERE id_signature=$id"); + + } elseif ($id > 0){ + $result_forum = spip_query("UPDATE spip_signatures SET statut='publie' WHERE id_signature=$id"); + + } +spip_log("action_editer_signature_dist $id maj"); + // Invalider les pages ayant trait aux petitions + if ($id) { + include_spip('inc/invalideur'); + $id_article = spip_fetch_array(spip_query("SELECT id_article FROM spip_signatures WHERE id_signature=$id")); + $id_article = $id_article['id_article']; + suivre_invalideur("id='varia/pet$id_article'"); + } + + # cette requete devrait figurer dans l'optimisation + spip_query("DELETE FROM spip_signatures WHERE NOT (statut='publie' OR statut='poubelle') AND date_time<DATE_SUB(NOW(),INTERVAL 10 DAY)"); +} +?> diff --git a/ecrire/exec/controle_petition.php b/ecrire/exec/controle_petition.php index 5024672de933670482849bfa29975cb57e5bacb1..874043c09830126732f33cc3eccad4ca12eeb1d3 100644 --- a/ecrire/exec/controle_petition.php +++ b/ecrire/exec/controle_petition.php @@ -15,71 +15,39 @@ if (!defined("_ECRIRE_INC_VERSION")) return; include_spip('inc/presentation'); include_spip('inc/signatures'); -// http://doc.spip.org/@message_de_signature -function message_de_signature($row) -{ - return propre(echapper_tags($row['message'])); -} - // http://doc.spip.org/@exec_controle_petition_dist function exec_controle_petition_dist() { - global $connect_statut, $id_article, $add_petition, $supp_petition, $debut; + global $connect_statut, $id_article, $debut; $id_article = intval($id_article); - $add_petition = intval($add_petition); - $supp_petition = intval($supp_petition); $debut = intval($debut); debut_page(_T('titre_page_controle_petition'), "forum", "suivi-petition"); debut_gauche(); -debut_droite(); + debut_droite(); -echo "<div class='serif2'>"; + echo "<div class='serif2'>"; -if ($connect_statut == "0minirezo") { - gros_titre(_T('titre_suivi_petition')); - - if ($supp_petition){ - $result_forum = spip_query("UPDATE spip_signatures SET statut='poubelle' WHERE id_signature=$supp_petition"); - - } - - if ($add_petition){ - $result_forum = spip_query("UPDATE spip_signatures SET statut='publie' WHERE id_signature=$add_petition"); - + if ($connect_statut == "0minirezo") { + gros_titre(_T('titre_suivi_petition')); + + $var_f = charger_fonction('signatures', 'inc'); + $var_f('controle_petition', + $id_article, + $debut, + "(statut='publie' OR statut='poubelle')", + "date_time DESC", + 10); + } else { + echo "<b>"._T('avis_non_acces_page')."</b>"; } - // Invalider les pages ayant trait aux petitions - if ($id_signature = ($add_petition?$add_petition:$supp_petition)) { - include_spip('inc/invalideur'); - $id_article = spip_fetch_array(spip_query("SELECT id_article FROM spip_signatures WHERE id_signature=$id_signature")); - $id_article = $id_article['id_article']; - suivre_invalideur("id='varia/pet$id_article'"); - } - - if (!$debut) $debut = 0; - - # cette requete devrait figurer dans l'optimisation - spip_query("DELETE FROM spip_signatures WHERE NOT (statut='publie' OR statut='poubelle') AND date_time<DATE_SUB(NOW(),INTERVAL 10 DAY)"); - - controle_signatures('controle_petition', - $id_article, - $debut, - "(statut='publie' OR statut='poubelle')", - "date_time DESC", - 10); - - } -else { - echo "<B>"._T('avis_non_acces_page')."</B>"; -} - -echo "</div>"; + echo "</div>"; -echo fin_page(); + echo fin_page(); } ?> diff --git a/ecrire/inc/signatures.php b/ecrire/inc/signatures.php index 5dc19998fbfcd17825a65a5241f2d30c49d660de..1716da9092ddf6f3d8d38304ccea813caed974b9 100644 --- a/ecrire/inc/signatures.php +++ b/ecrire/inc/signatures.php @@ -15,8 +15,14 @@ if (!defined("_ECRIRE_INC_VERSION")) return; charger_generer_url(); +// http://doc.spip.org/@message_de_signature +function message_de_signature($row) +{ + return propre(echapper_tags($row['message'])); +} + // http://doc.spip.org/@controle_signatures -function controle_signatures($script, $id, $debut, $where, $order, $limit='') { +function inc_signatures_dist($script, $id, $debut, $where, $order, $limit='') { global $couleur_foncee; $where = tronconne_signatures($script, $id, $debut, $where, $limit); @@ -34,40 +40,42 @@ function controle_signatures($script, $id, $debut, $where, $order, $limit='') { $url_site = echapper_tags($row['url_site']); $statut = $row['statut']; - echo "<P>"; + echo "<p>"; if ($statut=="poubelle"){ - echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FF0000'>"; + echo "<table width='100%' cellpadding='2' cellspacing='0' border='0'><tr><td bgcolor='#FF0000'>"; } - echo "<TABLE WIDTH=100% CELLPADDING=3 CELLSPACING=0><TR><TD BGCOLOR='$couleur_foncee' class='verdana2' style='color: white;'><b>", + echo "<Table width='100%' cellpadding='3' cellspacing='0'><tr><td bgcolor='$couleur_foncee' class='verdana2' style='color: white;'><b>", ($nom_site ? "$nom_site / " : ""), $nom_email, - "</b></TD></TR>", - "<TR><TD BGCOLOR='#FFFFFF' class='serif'>"; + "</b></td></tr>", + "<tr><td bgcolor='#FFFFFF' class='serif'>"; if ($statut=="publie"){ - icone (_T('icone_supprimer_signature'), generer_url_ecrire($script, "supp_petition=$id_signature&debut=$debut"), + icone (_T('icone_supprimer_signature'), + redirige_action_auteur('editer_signatures', "-$id_signature", $script, "id_article=$id&debut=$debut"), "forum-interne-24.gif", "supprimer.gif", "right"); } if ($statut=="poubelle"){ - icone (_T('icone_valider_signature'), generer_url_ecrire($script, "add_petition=$id_signature&debut=$debut"), + icone (_T('icone_valider_signature'), + redirige_action_auteur('editer_signatures', $id_signature, $script, "id_article=$id&debut=$debut"), "forum-interne-24.gif", "creer.gif", "right"); } - echo "<FONT SIZE=2>".date_interface($date_time)."</FONT><BR>"; + echo "<font size='2'>".date_interface($date_time)."</font><br />"; if ($statut=="poubelle"){ - echo "<FONT SIZE=1 COLOR='red'>"._T('info_message_efface')."</FONT><BR>"; + echo "<font size='1' color='red'>"._T('info_message_efface')."</font><br />"; } if (strlen($url_site)>6 AND strlen($nom_site)>0){ - echo "<FONT SIZE=1>"._T('info_site_web')."</FONT> <A HREF='$url_site'>$nom_site</A><BR>"; + echo "<font size='1'>"._T('info_site_web')."</font> <a href='$url_site'>$nom_site</a><br />"; } if (strlen($ad_email)>0){ - echo "<FONT SIZE=1>"._T('info_adresse_email')."</FONT> <A HREF='mailto:$ad_email'>$ad_email</A><BR>"; + echo "<font size='1'>"._T('info_adresse_email')."</font> <a href='mailto:$ad_email'>$ad_email</a><br />"; } echo "<p>",message_de_signature($row),"</p>"; @@ -88,10 +96,10 @@ function controle_signatures($script, $id, $debut, $where, $order, $limit='') { typo($titre['titre']), "</a>"; - echo "</TD></TR></TABLE>"; + echo "</td></tr></table>"; if ($statut=="poubelle"){ - echo "</TD></TR></TABLE>"; + echo "</td></tr></table>"; } } } @@ -114,9 +122,9 @@ function tronconne_signatures($script, $id_article, $debut, $where, $limit=10) if ($c > 1) echo " | "; $date = entites_html(affdate_court($row['date_time'])); if ($c == ($debut+1)) - echo "<FONT SIZE=3><B>$c</B></FONT>"; + echo "<font size='3'><b>$c</b></font>"; else - echo "<A alt=\"$date\" title=\"$date\" href='", generer_url_ecrire($script, $args ."debut=".($c-1)), "'>$c</A>"; + echo "<a alt=\"$date\" title=\"$date\" href='", generer_url_ecrire($script, $args ."debut=".($c-1)), "'>$c</a>"; } } return $where;