Changeset 45469 in spip-zone


Ignore:
Timestamp:
Mar 16, 2011, 4:39:33 PM (10 years ago)
Author:
cedric@…
Message:

#1973 : permettre la suppression de toutes les signatures d'une petition (interface controler_petition)
et supprimer de la base les signature a la poubelle, ainsi que les signatures en attente depuis trop longtemps

Location:
_core_/plugins/petitions
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/petitions/action/traiter_lot_signature.php

    r45066 r45469  
    3030                if (intval($id_petition = _request('id_petition'))){
    3131                        $where="id_petition=".intval($id_petition);
     32                        // pour relancer ou valider on ne prend que celles en attente
     33                        if (in_array($statut,array('relancer','valider')))
     34                                $where.=" AND statut!='publie' AND statut!='poubelle'";
    3235                }
    3336                else {
  • _core_/plugins/petitions/lang/petitions_fr.php

    r44729 r45469  
    99'nombre_signatures' => '@nb@ signatures',
    1010
     11'alerte_confirmer_suppression_signatures' => 'Vous allez supprimer toutes les signatures de cette pétition. Êtes-vous sur de vouloir continuer ?',
    1112'bouton_checkbox_envoi_message' => 'possibilité d\'envoyer un message',
    1213'bouton_checkbox_indiquer_site' => 'indiquer obligatoirement un site Web',
  • _core_/plugins/petitions/petitions_pipelines.php

    r44981 r45469  
    2929
    3030
    31 # cette requete devrait figurer dans l'optimisation
    32 #sql_delete("spip_signatures", "NOT (statut='publie' OR statut='poubelle') AND NOT(" . sql_date_proche('date_time', -10, ' DAY') . ')');
     31/**
     32 * Optimiser la base de donnee en supprimant les forums orphelins
     33 *
     34 * @param int $n
     35 * @return int
     36 */
     37function petitions_optimiser_base_disparus($flux){
     38        $n = &$flux['data'];
     39        $mydate = $flux['args']['date'];
     40
     41        //
     42        // Signatures poubelles
     43        //
     44
     45        sql_delete("spip_petitions", "statut='poubelle' AND maj < $mydate");
     46
     47        // rejeter les signatures non confirmees trop vieilles (20jours)
     48        if (!defined('_PETITIONS_DELAI_SIGNATURES_REJETEES'))
     49                define('_PETITIONS_DELAI_SIGNATURES_REJETEES',20);
     50        sql_delete("spip_signatures", "NOT (statut='publie' OR statut='poubelle') AND NOT(" . sql_date_proche('date_time', -_PETITIONS_DELAI_SIGNATURES_REJETEES, ' DAY') . ')');
     51
     52
     53        return $flux;
     54
     55}
    3356
    3457?>
  • _core_/plugins/petitions/plugin.xml

    r45457 r45469  
    3030                <inclure>petitions_pipelines.php</inclure>
    3131        </pipeline>
     32        <pipeline>
     33                <nom>optimiser_base_disparus</nom>
     34                <inclure>petitions_pipelines.php</inclure>
     35        </pipeline>
     36
    3237
    3338        <bouton id='controler_petition' parent='bando_activite' position="-1">
  • _core_/plugins/petitions/prive/modeles/signature.html

    r44981 r45469  
    1313        [<div class='site'><:info_site_web:> <a class='ajax' href='[(#GET{self}|parametre_url{url_site,#URL_SITE})]' title='<:syndic:articles_meme_auteur|attribut_html:>' >(#NOM_SITE|sinon{#URL_SITE})</a></div>]
    1414        [<div class='ad_email'><:info_adresse_email:> <a class='ajax' href='[(#GET{self}|parametre_url{ad_email,#AD_EMAIL})]' title='<:syndic:articles_meme_auteur|attribut_html:>' >(#AD_EMAIL)</a></div>]
    15         <BOUCLE_art(ARTICLES){id_petition}>
     15        <BOUCLE_art(ARTICLES){id_petition}{statut==.*}>
    1616                <div class='reponse_a'>
    1717                        <p class="article"><:lien_reponse_article:> : <a href='[(#ID_ARTICLE|generer_url_entite{article})]'>#TITRE</a> [<a href='[(#GET{self}|parametre_url{id_article,#ID_ARTICLE})]' class="ajax"><:petitions:voir_signatures_objet:></a>]</p>
  • _core_/plugins/petitions/prive/squelettes/contenu/controler_petition.html

    r44729 r45469  
    1414#BOITE_OUVRIR{'','note'}
    1515<a class='annule_filtre' href='[(#GET{self}|parametre_url{id_article,''})]' title="<:petitions:tout_voir|attribut_html:>">[(#CHEMIN_IMAGE{fermer-16.png}|balise_img|inserer_attribut{alt,<:petitions:tout_voir:>})]</a>
    16 <:petitions:signatures_article:> <a href='[(#URL_ARTICLE|ancre_url{signatures})]'>#TITRE</a>
     16<p><:petitions:signatures_article:> <a href='[(#URL_ARTICLE|ancre_url{signatures})]'>#TITRE</a></p>
     17<BOUCLE_lapetition(PETITIONS){id_article}{0,1}>
     18        [(#BOUTON_ACTION{<:petitions:icone_supprimer_signatures:>,#URL_ACTION_AUTEUR{traiter_lot_signature,supprimer,#SELF}|parametre_url{id_petition,#ID_PETITION,'&'},'ajax',<:petitions:alerte_confirmer_suppression_signatures:>})]
     19</BOUCLE_lapetition>
    1720#BOITE_FERMER
    1821</BOUCLE_repart>
Note: See TracChangeset for help on using the changeset viewer.