X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Fexec%2Fcontrole_petition.php;h=7c0d6c542101e802ff54e122377295f2ab341aae;hp=f2179775e7c629eeff37da6201dd155b2f6ed7f7;hb=e99f0878011913365e49b30d90e496c24c301393;hpb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed diff --git a/www/ecrire/exec/controle_petition.php b/www/ecrire/exec/controle_petition.php index f217977..7c0d6c5 100644 --- a/www/ecrire/exec/controle_petition.php +++ b/www/ecrire/exec/controle_petition.php @@ -3,7 +3,7 @@ /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * - * Copyright (c) 2001-2011 * + * Copyright (c) 2001-2014 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * @@ -29,16 +29,19 @@ function exec_controle_petition_dist() function exec_controle_petition_args($id_article, $type, $date, $debut, $id_signature, $pas=NULL) { if ($id_signature) { - $id_article = sql_getfetsel("id_article", "spip_signatures", "id_signature=$id_signature"); + $r = sql_fetsel("id_article, statut", "spip_signatures", "id_signature=$id_signature"); + $id_article = $r['id_article']; + $s = $r['statut']; + $type = ($s=='publie' OR $s=='poubelle') ? 'public' : 'interne'; $where = '(id_signature=' . sql_quote($id_signature) . ') AND '; } else $where = ''; if ($id_article AND !($titre = sql_getfetsel("titre", "spip_articles", "id_article=$id_article"))) { include_spip('inc/minipres'); echo minipres(_T('public:aucun_article')); - } else controle_petition_args($id_article, $type, $date, $debut, $titre, $where, $pas); + } else controle_petition_args($id_article, $type, $date, $debut, $titre, $where, $pas, $id_signature); } -function controle_petition_args($id_article, $type, $date, $debut, $titre, $where, $pas) +function controle_petition_args($id_article, $type, $date, $debut, $titre, $where, $pas, $id_signature=0) { if (!preg_match('/^\w+$/',$type)) $type = 'public'; if ($id_article) $where .= "id_article=$id_article AND "; @@ -60,32 +63,37 @@ function controle_petition_args($id_article, $type, $date, $debut, $titre, $wher $res = $signatures('controle_petition', $id_article, $debut, $pas, $where, $order, $type); if (_AJAX) { - ajax_retour($res); + ajax_retour($res); } else { - - if (autoriser('modererpetition') - OR ( - $id_article > 0 - AND autoriser('modererpetition', 'article', $id_article) - )) - $ong = controle_petition_onglet($id_article, $debut, $type); - else { - $type = 'public'; - $ong = ''; - } - controle_petition_page($id_article, $titre, $ong, $res); + $count = ($type != 'interne') ? 0 : sql_countsel("spip_signatures", $where); + controle_petition_page($id_article, $titre, $id_signature ? '' : $type, $res, $count); } } // http://doc.spip.org/@controle_petition_page -function controle_petition_page($id_article, $titre, $ong, $corps) +function controle_petition_page($id_article, $titre, $type, $corps, $count) { - if ($id_article) { - $a = generer_url_ecrire("statistiques_visites","id_article=$id_article"); - $rac = "




" . - bloc_des_raccourcis(icone_horizontale(_T('icone_statistiques_visites'),$a, "statistiques-24.gif","rien.gif", false)); - - $titre = " 0 + AND autoriser('modererpetition', 'article', $id_article) + ))) { + $ong = ''; + } else { + $ong = controle_petition_onglet($id_article, $debut, $type, ''); + if ($id_article) { + $h = generer_url_ecrire("statistiques_visites","id_article=$id_article"); + $rac = icone_horizontale(_T('icone_statistiques_visites'), $h, "statistiques-24.gif","rien.gif", false); + if ($type !== 'public') { + + $h = redirige_action_auteur('editer_signatures', $id_article . 'A', 'controle_petition', "id_article=$id_article&type=interne"); + $rac .= icone_horizontale(_T('icone_relancer_signataire') . " ($count)", $h, "envoi-message-24.gif","rien.gif", false); + } + $rac = bloc_des_raccourcis($rac); + $titre = "" . typo($titre) . @@ -95,15 +103,36 @@ function controle_petition_page($id_article, $titre, $ong, $corps) $id_article . ")"; - if (!sql_countsel('spip_petitions', "id_article=$id_article")) - $titre .= '
' . _T('info_petition_close'); + if (!sql_countsel('spip_petitions', "id_article=$id_article")) + $titre .= '
' . _T('info_petition_close'); + + $args = array('id_article' => $id_article); + } else { + + $q = sql_select('A.titre, A.date, A.id_article, count(*) AS n', + 'spip_signatures AS S LEFT JOIN spip_articles AS A ON A.id_article=S.id_article', + '', + 'A.id_article', + 'n desc', + "0,10"); + while ($r = sql_fetch($q)) { + $id = $r['id_article']; + $h = generer_url_entite($id, 'article'); + $title = affdate_jourcourt($r['date']) . "\n" .$r['titre']; + $rac .= "
  • ' . _T('info_numero_abbreviation') . " $id" . ' : '. $r['n'] . ' ' . _T('signatures') . "
  • "; + } + if ($rac) $rac = ""; + $rac = debut_cadre_enfonce('',true) + . "\n
    " + ._T('public:articles_populaires') + ."" + . $rac + . "
    " + . fin_cadre_enfonce(true); - $args = array('id_article' => $id_article); - } else { - $args = array(); - $rac = $titre = ''; + } + $rac = "




    " . $rac; } - $head = _T('titre_page_controle_petition'); $idom = "editer_signature-" . $id_article; $commencer_page = charger_fonction('commencer_page', 'inc');