Changeset 101265 in spip-zone for _plugins_/abonnements


Ignore:
Timestamp:
Dec 21, 2016, 8:24:12 PM (4 years ago)
Author:
tcharlss@…
Message:

version 3.1.15 : ajout d'un formulaire pour envoyer des notifications ponctuellement aux abonnés d'une offre, en complément des notifications programmées donc. Par exemple, pour notifier les gens dont l'abonnement a expiré et qu'on ne pourrait pas inclure dans les notifications programmées.
Pas de doublon : si on envoie une notification et qu'elle est déjà programmée le même jour, elle ne partira qu'une seule fois.
On peut choisir les abonnements en fonction de leurs statuts et de leurs dates de création/fin.
Il y a une étape de vérification avant d'envoyer pour éviter les fausses manoeuvres.

Location:
_plugins_/abonnements/trunk
Files:
3 added
9 edited

Legend:

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

    r99147 r101265  
    188188}
    189189
    190 /*
    191  * Ajouter la config des notifications
    192  */
    193 
     190/**
     191 * Ajouter des choses dans la colonne de gauche
     192 *
     193 * Offres d'abonnements : config des notifications + notifications ponctuelles
     194 *
     195 * @param array $flux
     196 * @return array
     197 */
    194198function abonnements_affiche_gauche($flux) {
    195         if ($flux['args']['exec'] == 'abonnements_offre') {
     199        if (isset($flux['args']['exec'])
     200                and $flux['args']['exec'] == 'abonnements_offre'
     201                and isset($flux['args']['id_abonnements_offre'])
     202        ) {
    196203                $flux['data'] .= recuperer_fond(
    197                                 'prive/squelettes/navigation/inc-abonnements_notifications', array('id_abonnements_offre' => $flux['args']['id_abonnements_offre'])
     204                        'prive/squelettes/navigation/inc-abonnements_notifications', array(
     205                                'id_abonnements_offre' => $flux['args']['id_abonnements_offre']
     206                        )
    198207                );
    199208        }
  • _plugins_/abonnements/trunk/formulaires/editer_abonnements_offre_notifications.html

    r101264 r101265  
    11<div class="formulaire_spip formulaire_editer formulaire_#ENV{form}[ formulaire_#ENV{form}-(#ENV{id,nouveau})]">
    22        <h3 class="titrem">[(#CHEMIN_IMAGE{notifications-24}|balise_img{'','cadre-icone'})]<:abonnementsoffre:configurer_notifications:></h3>
     3        <p class="explication"><:abonnementsoffre:explication_configurer_notifications_abonnementsoffre:></p>
    34        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    45        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
  • _plugins_/abonnements/trunk/genie/abonnements_verifier_notifications.php

    r101264 r101265  
    6060                                        $id_job = job_queue_add(       
    6161                                                'abonnements_notifier_echeance',
    62                                                 "Notifier ${abonne['nom']} ${notification['duree']} ${notification['periode']} ${notification['quand']} l'échéance de son abonnement ${abonne['id_abonnement']}",
     62                                                "Notifier automatiquement ${abonne['nom']} ${notification['duree']} ${notification['periode']} ${notification['quand']} l'échéance de son abonnement ${abonne['id_abonnement']}",
    6363                                                array(
    6464                                                        $abonne['id_abonnement'],
  • _plugins_/abonnements/trunk/lang/abonnement_fr.php

    r101264 r101265  
    1313        // C
    1414        'champ_date_debut_label' => 'Début de l’abonnement',
     15        'champ_dates_debut_label' => 'Débuts des abonnements',
    1516        'champ_date_echeance_label' => 'Prochaine échéance',
    1617        'champ_date_fin_allonger_label' => 'Vous pouvez modifier la date de fin',
    1718        'champ_date_fin_label' => 'Fin de l‘abonnement',
     19        'champ_dates_fin_label' => 'Fin des abonnements',
     20        'champ_date_du_label' => 'Du',
     21        'champ_date_au_label' => 'Au',
    1822        'champ_id_abonnements_offre_label' => 'Offre d’abonnement',
    1923        'champ_id_auteur_label' => 'Utilisateur',
     24        'champ_notifier_statut_label' => 'Status des abonnements',
    2025
    2126        // E
     
    2934        'info_1_abonnement_actif' => 'Un abonnement actif',
    3035        'info_1_abonnement_inactif' => 'Un abonnement inactif',
     36        'info_1_abonnement_notifier' => 'Un abonnement à notifier',
    3137        'info_abonnements_auteur' => 'Les abonnements de cet auteur',
    3238        'info_aucun_abonnement' => 'Aucun abonnement',
    3339        'info_aucun_abonnement_actif' => 'Aucun abonnement actif',
    3440        'info_aucun_abonnement_inactif' => 'Aucun abonnement inactif',
     41        'info_aucun_abonnement_notifier' => 'Aucun abonnement à notifier',
    3542        'info_nb_abonnements' => '@nb@ abonnements',
    3643        'info_nb_abonnements_actifs' => '@nb@ abonnements actifs',
    3744        'info_nb_abonnements_inactifs' => '@nb@ abonnements inactifs',
     45        'info_nb_abonnements_notifier' => '@nb@ abonnements à notifier',
    3846        'info_numero_abbr' => 'n°',
    3947        'info_numero_abbr_maj' => 'N°',
     
    6775        // S
    6876        'statut_actif' => 'actif',
     77        'statut_actifs' => 'actifs',
    6978        'statut_inactif' => 'désactivé',
     79        'statut_inactifs' => 'désactivés',
     80        'statut_tous' => 'tous',
    7081
    7182        // T
  • _plugins_/abonnements/trunk/lang/abonnementsoffre_fr.php

    r101264 r101265  
    1010        // A
    1111        'ajouter_lien_abonnementsoffre' => 'Ajouter cette offre d’abonnement',
     12
     13        // B
     14        'bouton_notifier' => 'Notifier',
     15        'bouton_verifier' => 'Vérifier',
     16        'bouton_annuler' => 'Annuler',
    1217
    1318        // C
     
    3742        // E
    3843        'erreur_notification_doublon' => 'Cette notification est déjà enregistrée',
     44        'explication_envoyer_notifications_abonnementsoffre' => 'Envoi immédiat de notifications.',
     45        'explication_configurer_notifications_abonnementsoffre' => 'Envoi automatique de notifications.',
    3946
    4047        // I
     
    5562        'info_aucune_notification' => 'Aucune notification',
    5663
     64        // M
     65        'message_notifier_verifier_abonnements' => 'Vérifier les utilisateurs ci-contre avant de valider l\'envoi des notifications.',
     66        'message_notifier_ok' => 'Les notifications ont bien été envoyées.',
     67
    5768        // N
    5869        'nb_abonnements' => 'Nb. abo.',
     
    7081        'titre_abonnementsoffres_rubrique' => 'Offres d’abonnement de la rubrique',
    7182        'titre_langue_abonnementsoffre' => 'Langue de cette offre d’abonnement',
    72         'titre_logo_abonnementsoffre' => 'Logo de cette offre d’abonnement'
     83        'titre_logo_abonnementsoffre' => 'Logo de cette offre d’abonnement',
     84        'titre_notifier_abonnementsoffre' => 'Envoyer des notifications',
    7385);
  • _plugins_/abonnements/trunk/paquet.xml

    r101264 r101265  
    22        prefix="abonnements"
    33        categorie="auteur"
    4         version="3.1.14"
     4        version="3.1.15"
    55        schema="2.2.6"
    66        etat="test"
  • _plugins_/abonnements/trunk/prive/objets/contenu/abonnements_offre-enfants.html

    r88536 r101265  
    1 <INCLURE{fond=prive/objets/liste/abonnements, env, ajax,
     1<INCLURE{fond=prive/objets/liste/abonnements, env, ajax=abonnements_actifs,
    22        id_abonnements_offre=#ENV{id_abonnements_offre},
    33        masquer_offre=oui,
     
    1313<div class="nettoyeur"></div>
    1414
    15 <INCLURE{fond=prive/objets/liste/abonnements, env, ajax,
     15<INCLURE{fond=prive/objets/liste/abonnements, env, ajax=abonnements_inactifs,
    1616        id_abonnements_offre=#ENV{id_abonnements_offre},
    1717        masquer_offre=oui,
  • _plugins_/abonnements/trunk/prive/objets/liste/abonnements.html

    r101145 r101265  
    4949                {statut?}
    5050                {recherche?}
    51                 {annee_debut?}{mois_debut?}
    52                 {annee_echeance?}{mois_echeance?}
    53                 {annee_fin?}{mois_fin?}
     51                {where?}
     52                {date_debut?} {annee_debut?} {mois_debut?}
     53                {date_echeance?} {annee_echeance?} {mois_echeance?}
     54                {date_fin?} {annee_fin?} {mois_fin?}
    5455                {tri #ENV{par,date_debut},#GET{defaut_tri}}{pagination #ENV{nb,10}}
    5556        >
  • _plugins_/abonnements/trunk/prive/squelettes/navigation/inc-abonnements_notifications.html

    r71605 r101265  
    1 <div class="ajax">#FORMULAIRE_EDITER_ABONNEMENTS_OFFRE_NOTIFICATIONS{#ENV{id_abonnements_offre}}</div>
     1[(#REM) Configurer les notifications automatiques ]
     2[(#ENV{masquer_configurer}|!={oui}|oui)
     3<div class="ajax">
     4        #FORMULAIRE_EDITER_ABONNEMENTS_OFFRE_NOTIFICATIONS{#ENV{id_abonnements_offre}}
     5</div>
     6]
     7
     8[(#REM) Envoyer ponctuellement des notifications ]
     9[(#ENV{masquer_notifier}|!={oui}|oui)
     10<div class="ajax">
     11        #FORMULAIRE_NOTIFIER_ECHEANCES_ABONNEMENTSOFFRE{#ENV{id_abonnements_offre}}
     12</div>
     13]
Note: See TracChangeset for help on using the changeset viewer.