Changeset 89806 in spip-zone


Ignore:
Timestamp:
May 30, 2015, 10:01:23 PM (6 years ago)
Author:
rastapopoulos@…
Message:

Dans creer_ou_renouveler, on ne renouvelle plus que si l'abonnement de même offre *n'est pas trop vieux*. Par défaut on dit 48h mais ça pourra se configurer dans un formulaire un jour. Dès que ça dépasse ces 48h : ça crée un nouvel abonnement différent, avec la même offre. Du coup si une personne se réabonne mais seulement 2 mois plus tard, c'est bien un nouvel abonnement.

Location:
_plugins_/abonnements/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/abonnements/trunk/abonnements_pipelines.php

    r89523 r89806  
    223223        return $flux;
    224224}
    225  
    226 ?>
  • _plugins_/abonnements/trunk/action/creer_ou_renouveler_abonnement.php

    r88411 r89806  
    3030                and ($id_abonnements_offre = intval($id_abonnements_offre)) > 0
    3131        ) {
    32                 // Si on trouve un abonnement (le dernier en date)
    33                 if ($id_abonnement = intval(sql_getfetsel(
    34                         'id_abonnement',
    35                         'spip_abonnements',
    36                         array('id_auteur = '.$id_auteur, 'id_abonnements_offre = '.$id_abonnements_offre, 'statut != "poubelle"'),
    37                         '',
    38                         'date_fin desc',
    39                         '0,1'
    40                 ))) {
     32                // On cherche la durée limite pour renouveler un abonnement
     33                include_spip('inc/config');
     34                $heures_limite = lire_config('abonnements/renouvellement_heures_limite', 48);
     35               
     36                // Si on trouve un abonnement de cette offre (le dernier en date)
     37                // et qu'il n'est pas trop vieux !
     38                if (
     39                        $abonnement = sql_fetsel(
     40                                'id_abonnement, date_fin',
     41                                'spip_abonnements',
     42                                array('id_auteur = '.$id_auteur, 'id_abonnements_offre = '.$id_abonnements_offre, 'statut != "poubelle"'),
     43                                '',
     44                                'date_fin desc',
     45                                '0,1'
     46                        )
     47                        and $abonnement['date_fin'] <= date('Y-m-d H:i:s', strtotime('-'.$heures_limite.'hours'))
     48                        and $id_abonnement = intval($abonnement['id_abonnement'])
     49                ) {
    4150                        autoriser_exception('modifier', 'abonnement', $id_abonnement, true);
    4251                        // On le renouvelle !
  • _plugins_/abonnements/trunk/paquet.xml

    r89523 r89806  
    2424        <necessite nom="facteur" compatibilite="[3.0.1;]" />
    2525        <utilise nom="commandes" compatibilite="[1.5.0;]" />
    26 
    27         <pipeline nom="autoriser" inclure="abonnements_autorisations.php" />
    28         <pipeline nom="declarer_tables_objets_sql" inclure="base/abonnements.php" />
    29         <pipeline nom="declarer_tables_interfaces" inclure="base/abonnements.php" />
    30         <pipeline nom="declarer_tables_principales" inclure="base/abonnements.php" />
    31         <pipeline nom="declarer_tables_auxiliaires" inclure="base/abonnements.php" />
     26       
     27        <!-- Autorisations générales -->
     28        <pipeline nom="autoriser" inclure="abonnements_autorisations.php" />
     29        <!-- Modifications de la base -->
     30        <pipeline nom="declarer_tables_objets_sql" inclure="base/abonnements.php" />
     31        <pipeline nom="declarer_tables_interfaces" inclure="base/abonnements.php" />
     32        <pipeline nom="declarer_tables_principales" inclure="base/abonnements.php" />
     33        <pipeline nom="declarer_tables_auxiliaires" inclure="base/abonnements.php" />
    3234        <pipeline nom="optimiser_base_disparus" inclure="abonnements_pipelines.php" />
     35        <!-- Automatismes liés -->
    3336        <pipeline nom="post_edition" inclure="abonnements_pipelines.php" />
    3437        <pipeline nom="taches_generales_cron" inclure="abonnements_pipelines.php" />
     38        <!-- Affichages ajoutés -->
    3539        <pipeline nom="affiche_gauche" inclure="abonnements_pipelines.php" />
    3640        <pipeline nom="affiche_milieu" inclure="abonnements_pipelines.php" />
    37        
     41        <!-- Pipelines ajoutés par ce plugin -->
    3842        <pipeline nom="abonnement_initialisation_dates" action="" />
    3943
Note: See TracChangeset for help on using the changeset viewer.