Changeset 106837 in spip-zone


Ignore:
Timestamp:
Oct 13, 2017, 1:13:23 PM (2 years ago)
Author:
abelass
Message:

effacer automatiquement les réservations dans la poubelle

  • nécessaire d'indiquer une durée de vie dans config
Location:
_plugins_/reservation_evenement/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/reservation_evenement/trunk/formulaires/configurer_reservation_evenement.php

    r104391 r106837  
    9393        }
    9494
    95 
    9695        //Le statuts du plugin, sauf en cours
    9796        foreach ($liste_objets['spip_reservations']['statut_textes_instituer'] AS $statut => $label) {
     
    101100        }
    102101
     102        if (!test_plugin_actif('corbeille')) {
     103                $poubelle_duree = array(
     104                        'saisie' => 'input',
     105                        'options' => array(
     106                                'nom' => 'duree_vie_poubelle',
     107                                'label' => _T('reservation:label_duree_vie_poubelle'),
     108                                'explication' => _T('reservation:duree_vie_explication',
     109                                                array(
     110                                                        'statut_defaut' => $statuts['poubelle']
     111                                                )
     112                                                ),
     113                                'defaut' => $config['duree_vie_poubelle'],
     114                        )
     115                );
     116        }
     117        else {
     118                $poubelle_duree = array();
     119        }
     120
     121
    103122        $choix_expediteurs = array(
    104123                'webmaster' => _T('reservation:notifications_expediteur_choix_webmaster'),
     
    138157                                                'explication' => _T('reservation:duree_vie_explication',
    139158                                                                array(
    140                                                                         'statut_defaut' => $config['statut_defaut']
     159                                                                        'statut_defaut' => $statuts[$config['statut_defaut']]
    141160                                                                )
    142161                                                        ),
     
    144163                                        )
    145164                                ),
     165                                $poubelle_duree,
    146166                                array(
    147167                                        'saisie' => 'oui_non',
  • _plugins_/reservation_evenement/trunk/lang/reservation_fr.php

    r105167 r106837  
    7474        'label_date_paiement' => 'Date de paiement :',
    7575        'label_donnees_auteur' => 'Données Auteur :',
     76        'label_duree_vie_poubelle' => 'Durée de vie d\'une réservation mise à la poubelle',
     77        'label_effacer_poubelles_auto' => 'Effacer automatiquement les réservations mises à la poubelle',
    7678        'label_email' => 'Email :',
    7779        'label_email_reutilisable' => 'Permettre de réutiliser une adresse email :',
  • _plugins_/reservation_evenement/trunk/reservation_evenement_pipelines.php

    r106835 r106837  
    275275function reservation_evenement_optimiser_base_disparus($flux){
    276276        include_spip('inc/config');
    277 
    278277        // les config
    279278        $config_reservation = lire_config('reservation_evenement');
     279
     280        // Les réservations en statut par défaut.
    280281        $heures = isset($config_reservation['duree_vie']) ? $config_reservation['duree_vie'] : 0;
    281282
     
    300301        }
    301302
     303        // Les réservations en statut "poubelles".
     304        $heures = isset($config_reservation['duree_vie_poubelle']) ? $config_reservation['duree_vie_poubelle'] : 0;
     305
     306        if ($heures > 0) {
     307                $depuis = date('Y-m-d H:i:s', time() - 3600*intval($heures));
     308
     309                // On récupère les réservations trop vieilles
     310                $reservations = sql_allfetsel(
     311                                'id_reservation',
     312                                'spip_reservations',
     313                                'statut = '.sql_quote('poubelle').' and maj<'.sql_quote($depuis)
     314                                );
     315
     316                // S'il y a bien des réservations à supprimer
     317                if ($reservations) {
     318                        $reservations = array_map('reset', $reservations);
     319                        include_spip('inc/reservation_evenements');
     320                        reservations_supprimer($reservations);
     321                        $flux['data'] += count($reservations);
     322                }
     323        }
     324
    302325        return $flux;
    303326}
Note: See TracChangeset for help on using the changeset viewer.