Valider 603ebb6d rédigé par rastapopoulos@spip.org's avatar rastapopoulos@spip.org
Parcourir les fichiers

Dans creer_ou_renouveler, on ne renouvelle plus que si l'abonnement de même...

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.
parent 14095d7d
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+0 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -222,5 +222,3 @@ function abonnements_affiche_milieu($flux){
	
	return $flux;
}
 
?>
+18 −9
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -29,15 +29,24 @@ function action_creer_ou_renouveler_abonnement_dist($arg=null) {
		($id_auteur = intval($id_auteur)) > 0
		and ($id_abonnements_offre = intval($id_abonnements_offre)) > 0
	) {
		// Si on trouve un abonnement (le dernier en date)
		if ($id_abonnement = intval(sql_getfetsel(
			'id_abonnement',
		// On cherche la durée limite pour renouveler un abonnement
		include_spip('inc/config');
		$heures_limite = lire_config('abonnements/renouvellement_heures_limite', 48);
		
		// Si on trouve un abonnement de cette offre (le dernier en date)
		// et qu'il n'est pas trop vieux !
		if (
			$abonnement = sql_fetsel(
				'id_abonnement, date_fin',
				'spip_abonnements',
				array('id_auteur = '.$id_auteur, 'id_abonnements_offre = '.$id_abonnements_offre, 'statut != "poubelle"'),
				'',
				'date_fin desc',
				'0,1'
		))) {
			)
			and $abonnement['date_fin'] <= date('Y-m-d H:i:s', strtotime('-'.$heures_limite.'hours'))
			and $id_abonnement = intval($abonnement['id_abonnement'])
		) {
			autoriser_exception('modifier', 'abonnement', $id_abonnement, true);
			// On le renouvelle !
			$renouveler = charger_fonction('renouveler_abonnement', 'action/');
+11 −7
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -24,17 +24,21 @@
	<necessite nom="facteur" compatibilite="[3.0.1;]" />
	<utilise nom="commandes" compatibilite="[1.5.0;]" />
	
	<!-- Autorisations générales -->
	<pipeline nom="autoriser" inclure="abonnements_autorisations.php" />
	<!-- Modifications de la base -->
	<pipeline nom="declarer_tables_objets_sql" inclure="base/abonnements.php" />
	<pipeline nom="declarer_tables_interfaces" inclure="base/abonnements.php" />
	<pipeline nom="declarer_tables_principales" inclure="base/abonnements.php" />
	<pipeline nom="declarer_tables_auxiliaires" inclure="base/abonnements.php" />
	<pipeline nom="optimiser_base_disparus" inclure="abonnements_pipelines.php" />
	<!-- Automatismes liés -->
	<pipeline nom="post_edition" inclure="abonnements_pipelines.php" />
	<pipeline nom="taches_generales_cron" inclure="abonnements_pipelines.php" />
	<!-- Affichages ajoutés -->
	<pipeline nom="affiche_gauche" inclure="abonnements_pipelines.php" />
	<pipeline nom="affiche_milieu" inclure="abonnements_pipelines.php" />
	
	<!-- Pipelines ajoutés par ce plugin -->
	<pipeline nom="abonnement_initialisation_dates" action="" />

	<menu nom="abonnements_offres" titre="abonnementsoffre:titre_abonnementsoffres" parent="menu_publication" icone="images/abonnement-16.png" action="abonnements_offres" />