Ignore:
Timestamp:
Jun 19, 2011, 10:55:40 AM (10 years ago)
Author:
paladin@…
Message:

Révision du formulaire de gestion abonnement.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-listes/spip-listes_1_9_3/formulaires/gestion_abonnement.php

    r48919 r48921  
    102102                // pour cet auteur
    103103                $mes_abos = spiplistes_abonnements_listes_auteur ($id_auteur, true);
    104                
     104                                                         
    105105                // demander de stopper une inscription ?
    106106                if ($stop > 0)
     
    111111                        {
    112112                                spiplistes_abonnements_auteur_desabonner ($id_auteur, $id_liste);
    113                                 $contexte = array(
    114                                         'message_ok' => _T('spiplistes:vous_etes_desinscrit')
    115                                 );
     113                                $message_ok = _T('spiplistes:abonnement_modifie').'.'
     114                                        . '<br />' . PHP_EOL
     115                                        . _T('spiplistes:vous_n_etes_plus_abonne_aux_listes')
     116                                        ;
    116117                        }
    117118                }
     
    125126                                : array()
    126127                                ;
     128                       
     129                        /**
     130                         * supprime d'abord tous les abonnements
     131                         */
     132                        spiplistes_abonnements_auteur_desabonner ($id_auteur, 'toutes');
     133                        $message_ok = _T('spiplistes:abonnement_modifie').'.';
     134                       
     135                        /**
     136                         * Abonne aux listes sélectionnées
     137                         */
    127138                        if (count ($listes_souhaitees))
    128139                        {
     140                                                                         
     141                                // les cles sont les id_listes
    129142                                $listes_souhaitees = array_flip ($listes_souhaitees);
    130143                               
    131                                 // abonner aux listes demandées
    132                                 foreach (array_keys($listes_souhaitees) as $id_liste)
    133                                 {
    134                                         if (!isset($mes_abos[$id_liste]))
    135                                         {
    136                                                 spiplistes_abonnements_ajouter ($id_auteur, $id_liste);
    137                                                 $mes_abos[$id_liste] = '';
    138                                         }
    139                                 }
    140                                
    141                                 // désabonner les listes non souhaitées
    142                                 foreach (array_keys($mes_abos) as $id_liste)
    143                                 {
    144                                         if (!isset ($listes_souhaitees[$id_liste]))
    145                                         {
    146                                                 spiplistes_abonnements_auteur_desabonner ($id_auteur, $id_liste);
    147                                         }
    148                                 }
    149                                
    150                                 // abonner aux listes demandées,
    151                                 // si pas déjà abonné
    152                                 foreach (array_keys($listes_souhaitees) as $id_liste)
    153                                 {
    154                                         if (!isset ($mes_abos[$id_liste]))
    155                                         {
    156                                                 if(spiplistes_abonnements_ajouter($id_auteur, $id_liste) !== false)
    157                                                 {
    158                                                         // @todo a ameliorer, style une ligne de confirmation par liste ?
    159                                                         $message_ok = _T('spiplistes:abonnement_modifie');
    160                                                 }
    161                                         }
    162                                 }
    163                         }
    164                         else if (count ($mes_abos))
    165                         {
    166                                 // tout est déselectionné ?
    167                                 // supprimer tout les abonnements !
    168                                 spiplistes_abonnements_auteur_desabonner ($id_auteur, 'toutes');
    169                                 $mes_abos = array();
     144                                spiplistes_abonnements_ajouter ($id_auteur
     145                                                                                                , array_keys($listes_souhaitees)
     146                                                                                                );
     147                                $nb = count ($listes_souhaitees);
     148                                if ($nb >= 1)
     149                                {
     150                                        $message_ok .= '<br />' . PHP_EOL;
     151                                        $message_ok .=
     152                                                ($nb > 1)
     153                                                ? _T('spiplistes:vous_etes_abonne_aux_listes_selectionnees')
     154                                                : _T('spiplistes:vous_etes_abonne_a_la_liste_selectionnee')
     155                                                ;
     156                                }
     157                        }
     158                        else if (count($mes_abos))
     159                        {
     160                                $message_ok .= '<br />' . PHP_EOL
     161                                        . _T('spiplistes:vous_n_etes_plus_abonne_aux_listes')
     162                                        ;
    170163                        }
    171164                       
     
    179172                                        }
    180173                                       
    181                                         $message_ok = _T('spiplistes:desabonnement_valid').' :&nbsp;'.$email; 
     174                                        $message_ok = _T('spiplistes:abonnement_modifie').'.'
     175                                                . '<br />' . PHP_EOL
     176                                                . _T('spiplistes:vous_n_etes_plus_abonne_aux_listes')
     177                                                ;
    182178                                }
    183179                                else {
Note: See TracChangeset for help on using the changeset viewer.