Changeset 50929 in spip-zone


Ignore:
Timestamp:
Sep 1, 2011, 9:44:53 AM (8 years ago)
Author:
yffic@…
Message:
  • Amélioration des formulaires d'ajout et de suppression d'abonnés
  • diverses broutilles
  • phpdoc
Location:
_plugins_/gestion_ml
Files:
3 added
3 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gestion_ml/base/gestionml_install.php

    r44869 r50929  
    1414 */
    1515function gestionml_upgrade($nom_meta_base_version,$version_cible){
    16         $current_version = 0.1;
     16        $current_version = 0.0;
    1717        if (   (!isset($GLOBALS['meta'][$nom_meta_base_version]) )
    1818                        || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
    19                         $config = lire_config('gestionml');
    20                         if (!is_array($config)) {
    21                                 $config = array();
    22                         }
    23                         $config = array_merge(array(
    24                                         'hebergeur' => '0'
    25                         ), $config);
    26                         ecrire_meta('gestionml', serialize($config));
    27                         ecrire_meta($nom_meta_base_version,$current_version='0.1','non');
     19                $config = lire_config('gestionml');
     20                if (!is_array($config)) {
     21                        $config = array();
     22                }
     23                $config = array_merge(array(
     24                                'hebergeur' => '0'
     25                ), $config);
     26                ecrire_meta('gestionml', serialize($config));
     27                ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
    2828        }
    2929}
  • _plugins_/gestion_ml/formulaires/ajouter_abonne.html

    r50451 r50929  
    1 <div class="formulaire_spip formulaire_gestionml_ajouter">
    2 [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    3 [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{erreurs}|table_valeur{oubli})</p>]
    4 
    5 [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    6 
    7 <form id="ajouter_abonne" action="[(#ENV{action})]" method="post">
    8    <div>
    9       #ACTION_FORMULAIRE{#ENV{action}}
    10 
    11       <ul>
    12          [(#SAISIE{hidden,liste,
    13             defaut=#ENV{liste}}
    14          )]
    15          [(#SAISIE{input,email,
    16             label=<:gestionml:label_ajouter_mail:>,
    17             valeur='',
    18             size=20}
    19          )]
    20       </ul>
    21 
    22       <p class="boutons">
    23          <input type="submit" name="ok" class="submit" value="<:gestionml:btn_ajouter:>" />
    24       </p>
    25    </div>
    26 
    27 </form>
    28 
    29 </div>
  • _plugins_/gestion_ml/formulaires/ajouter_abonne.php

    r44869 r50929  
    1313if (!defined("_ECRIRE_INC_VERSION")) return;
    1414
     15/**
     16 * Fonction de generation des saisies du formulaire
     17 *
     18 * @param string $liste liste sur laquelle intervenir
     19 */
     20function formulaires_ajouter_abonne_saisies($liste=0){
     21        $mes_saisies = array(
     22                array(
     23                        'saisie' => 'hidden',
     24                        'options' => array(
     25                                'nom' => 'liste',
     26                                'defaut' => $liste
     27                        )
     28                ),
     29                array(
     30                        'saisie' => 'input',
     31                        'options' => array(
     32                                'nom' => 'email',
     33                                'obligatoire' => 'oui',
     34                                'defaut' => '',
     35                                'valeur' => '',
     36                                'size' => 20,
     37                                'label' => _T('gestionml:label_ajouter_mail')
     38                        ),
     39                        'verifier' => array(
     40                                'type' => 'email'
     41                        )
     42                )
     43        );
     44        return $mes_saisies;
     45}
     46
     47/**
     48 * Fonction de chargement du formulaire
     49 *
     50 * @param string $liste liste sur laquelle intervenir
     51 */
    1552function formulaires_ajouter_abonne_charger_dist($liste){
    1653        $valeurs = array('email'=>'','liste'=>$liste);
     
    1956
    2057
    21 // la saisie a ete validee, on peut agir
     58/**
     59 * Fonction de traitement du formulaire
     60 *
     61 */
    2262function formulaires_ajouter_abonne_traiter_dist(){
    23        
    2463        include_spip('inc/gestionml_api');
    2564        return gestionml_api_ajouter_email(_request('liste'),_request('email')) ;
  • _plugins_/gestion_ml/formulaires/config_gestionml.html

    r50451 r50929  
    3232</BOUCLE_admins>
    3333
    34    
     34[(#SET{saisies,
     35   #ARRAY{
     36      0, #ARRAY{
     37         saisie, radio,
     38         options, #ARRAY{
     39            nom, hebergeur,
     40            label, <:gestionml:label_afficher_hebergeurs:>,
     41            defaut, 0,
     42            datas, #ARRAY{
     43               0,<:gestionml:label_hebergeur_simule:>,
     44               1,OVH
     45            }
     46         }
     47      },
     48      1, #ARRAY{
     49         saisie, fieldset,
     50         options, #ARRAY{
     51            nom, config_ovh,
     52            label, <:gestionml:config_ovh_legend:>,
     53            afficher_si, '@hebergeur@ == 1'
     54         },
     55         saisies, #ARRAY{
     56            0, #ARRAY{
     57               saisie, input,
     58               options, #ARRAY{
     59                  nom, serveur_distant,
     60                  label, <:gestionml:label_serveur_distant:>,
     61                  defaut, https://www.ovh.com/soapi/soapi-re-1.11.wsdl,
     62                  obligatoire, oui,
     63                  explication, <:gestionml:explication_serveur_distant:>,
     64               }
     65            },
     66            1, #ARRAY{
     67               saisie, input,
     68               options, #ARRAY{
     69                  nom, domaine,
     70                  label, <:gestionml:label_domaine:>,
     71                  defaut, mondomaine.tld,
     72                  obligatoire, oui,
     73                  explication, <:gestionml:explication_domaine:>
     74               }
     75            },
     76            2, #ARRAY{
     77               saisie, input,
     78               options, #ARRAY{
     79                  nom, identifiant,
     80                  label, <:gestionml:label_identifiant:>,
     81                  obligatoire, oui,
     82                  explication, <:gestionml:explication_identifiant:>
     83               }
     84            },
     85            3, #ARRAY{
     86               saisie, input,
     87               options, #ARRAY{
     88                  nom, mot_de_passe,
     89                  type, password,
     90                  label, <:gestionml:label_mot_de_passe:>,
     91                  obligatoire, oui,
     92                  explication, <:gestionml:explication_mot_de_passe:>
     93               }
     94            }
     95         }
     96      },
     97      2, #ARRAY{
     98         saisie, fieldset,
     99         options, #ARRAY{
     100            nom, auteurs_listes,
     101            label, <:gestionml:label_auteurs_listes:>
     102         },
     103         saisies, #GET{les_saisies}
     104      }
     105   }
     106})]
     107
    35108<div class="formulaire_spip formulaire_configurer formulaire_gestionml">
    36109
     
    42115   <div>
    43116      #ACTION_FORMULAIRE{#ENV{action}}
    44 
    45117      <ul>
    46 
    47          [(#SAISIE{radio, hebergeur,
    48                  label=<:gestionml:label_afficher_hebergeurs:>,
    49                                   defaut=0,
    50                  datas=#ARRAY{
    51                                          0,local,
    52                          1,OVH}
    53          })]
    54 
    55          [(#SAISIE{fieldset,config_ovh,env,
    56                 pliable=on,
    57             plie=on,
    58             label=<:gestionml:config_ovh_legend:>,
    59             saisies=#ARRAY{
    60                0, #ARRAY{
    61                   saisie, input,
    62                   options, #ARRAY{
    63                      nom, serveur_distant,
    64                      label, <:gestionml:label_serveur_distant:>,
    65                      defaut, https://www.ovh.com/soapi/soapi-re-1.11.wsdl,
    66                      obligatoire, oui,
    67                      explication, <:gestionml:explication_serveur_distant:>
    68                   }
    69                },
    70                1, #ARRAY{
    71                   saisie, input,
    72                   options, #ARRAY{
    73                      nom, domaine,
    74                      label, <:gestionml:label_domaine:>,
    75                      defaut, mondomaine.tld,
    76                      obligatoire, oui,
    77                      explication, <:gestionml:explication_domaine:>
    78                   }
    79                },
    80                2, #ARRAY{
    81                   saisie, input,
    82                   options, #ARRAY{
    83                      nom, identifiant,
    84                      label, <:gestionml:label_identifiant:>,
    85                      obligatoire, oui,
    86                      explication, <:gestionml:explication_identifiant:>
    87                   }
    88                },
    89                3, #ARRAY{
    90                   saisie, input,
    91                   options, #ARRAY{
    92                      nom, mot_de_passe,
    93                      type, password,
    94                      label, <:gestionml:label_mot_de_passe:>,
    95                      obligatoire, oui,
    96                      explication, <:gestionml:explication_mot_de_passe:>
    97                   }
    98                }
    99             }
    100          })]
    101        
    102 
    103          [(#SAISIE{fieldset,auteurs_listes,env,
    104                      label=<:gestionml:label_auteurs_listes:>,
    105                      saisies=#GET{les_saisies}
    106          })]
    107 
     118        #GENERER_SAISIES{#GET{saisies}}
    108119      </ul>
    109 
    110120      <p class="boutons">
    111121         <input type="submit" name="_cfg_ok" class="submit" value="<:bouton_enregistrer:>" />
  • _plugins_/gestion_ml/inc/gestionml_api.php

    r50446 r50929  
    11<?php
    22
     3/**
     4 * Fonction permettant de tester la connexion au serveur Soap
     5 *
     6 * @param string $serveur : adresse du serveur
     7 * @param string $ident : identifiant de connexion
     8 * @param string $psw : mot de passe de connexion
     9 *
     10 */
    311function gestionml_api_tester($serveur, $ident, $psw) {
    412        $retour = array() ;
     
    1018                $retour['message_erreur'] .= $fault->faultstring;
    1119        }
    12        
    1320        return ($retour);
    14 
    1521}
    1622
     23/**
     24 * Fonction permettant de recuperer toutes les listes du domaine
     25 *
     26 * @param array $tab : non utilise
     27 *
     28*/
    1729function gestionml_api_listes($tab) {
    1830        return(gestionml_api_traiter_ovh(false)) ;
    1931}
    2032
     33/**
     34 * Fonction permettant de recuperer les listes autorisees
     35 * pour l'utilisateur courant
     36 *
     37 * @param array $tab : non utilise
     38 *
     39*/
    2140function gestionml_api_listes_toutes($tab) {
    2241        return(gestionml_api_traiter_ovh(true)) ;
    2342}
    2443
     44/**
     45 * Fonction de connexion a l'api soap d'OVH
     46 *
     47 * @param boolean $toutes : Recuperer toutes les listes ou uniquement celles autorisees
     48 * @param string $ovhaction : action ovh a effectuer (info, sendlist, users, usersdel, useradd)
     49 * @param string $nameML : nom de la liste
     50 * @param string $email : Email a traiter
     51 *
     52*/
    2553function gestionml_api_traiter_ovh($toutes,$ovhaction='', $nameML='', $email='') {
    2654        $retour = array() ;
     
    5078                        case "infos" :
    5179                                $retour['infos'] = print_r( $soap->mailingListFullInfo($session, $config['domaine'], $nameML), true )  ;
     80                                $retour['liste'] = $nameML ;
    5281                        break ;
    5382                        case "sendlist" :
    5483                                if ($email != '') {
    5584                                        $soap->mailingListSubscriberListByEmail($session, $config['domaine'], $nameML, $email);
    56                                         $retour['message_ok'] = 'La liste des abonn&eacute;s de la liste '.$nameML.' a &eacute;t&eacute; envoy&eacute;e &agrave; '.$email ;
     85                                        $retour['message_ok'] = _T('gestionml:api_liste_envoyee',array('nameML'=>$nameML,'email'=>$email)) ;
    5786                                } else {
    58                                         $retour['message_erreur'] = 'L\'adresse email de votre compte n\'est pas renseign&eacute;e' ;
     87                                        $retour['message_erreur'] = _T('gestionml:api_liste_envoyee_err') ;
    5988                                }
    6089                        break ;
     
    6493                                $retour['liste'] = $nameML ;
    6594                        break ;
    66                         case "userdel" :
    67                                 $soap->mailingListSubscriberDel($session, $config['domaine'], $nameML, $email) ;
    68                                 $retour['message_ok'] = 'La suppression de '.$email.' de la liste '.$nameML.' sera prise en compte dans quelques instants' ;
     95                        case "usersdel" :
     96                                foreach ($email as $un_email) {
     97                                        $soap->mailingListSubscriberDel($session, $config['domaine'], $nameML, $un_email) ;
     98                                }
     99                                $retour['editable'] = true ;
     100                                $retour['message_ok'] = _T('gestionml:api_suppression_emails',array('str_emails'=>implode(", ",$email),'nameML'=>$nameML)) ;
    69101                        break ;
    70102                        case "useradd" :
    71103                                $soap->mailingListSubscriberAdd($session, $config['domaine'], $nameML, $email) ;
    72                                 $retour['message_ok'] = 'Le rajout de '.$email.' dans la liste '.$nameML.' sera pris en compte dans quelques instants' ;
     104                                $retour['editable'] = true ;
     105                                $retour['message_ok'] = _T('gestionml:api_ajout_email',array('email'=>$email,'nameML'=>$nameML)) ;
    73106                        break ;
    74107                        default :
    75                                 $retour['message_erreur'] = 'Action demand&eacute; non prise en compte' ;
     108                                $retour['message_erreur'] = _T('gestionml:api_action_erreur') ;
    76109                }
    77110
     
    86119}
    87120
     121/**
     122 * Fonction renvoyant le tableau des listes autorisees pour l'utilisateur courant
     123 *
     124 * @param array $tableau : tableau de toutes les listes disponibles
     125 * @param boolean $toutes : Recuperer toutes les listes ou uniquement celles autorisees
     126 *
     127*/
    88128function gestionml_api_liste_des_listes($tableau,$toutes) {
    89129        $listes = array() ;
     
    92132                        if($toutes)
    93133                                $listes[$ligne->ml] = $ligne->nbSubscribers ;
    94                         elseif( autoriser('gerer','gestionml','','',array('ml'=>$ligne->ml)))
     134                        elseif( autoriser('gerer','ml','','',array('ml'=>$ligne->ml)))
    95135                                $listes[$ligne->ml] = $ligne->nbSubscribers ;
    96136                }
     
    100140}
    101141
     142/**
     143 * Fonction d'ajout d'un email
     144 *
     145 * @param string $nameML : nom de la liste
     146 * @param string $email : Email a traiter
     147 *
     148*/
    102149function gestionml_api_ajouter_email($nameML, $email) {
    103150        return( gestionml_api_traiter_ovh(false,"useradd", $nameML, $email) );
    104151}
    105152
     153/**
     154 * Fonction de suppression d'un ou plusieurs emails
     155 *
     156 * @param string $nameML : nom de la liste
     157 * @param array $tab_email : tableau des email a traiter
     158 *
     159*/
     160function gestionml_api_supprimer_emails($nameML, $tab_email) {
     161        return( gestionml_api_traiter_ovh(false,"usersdel", $nameML, $tab_email) );
     162}
     163
    106164?>
  • _plugins_/gestion_ml/inc/gestionml_autoriser.php

    r44869 r50929  
    22if (!defined("_ECRIRE_INC_VERSION")) return;
    33
    4 // fonction pour le pipeline, n'a rien a effectuer
     4/**
     5 * Fonction pour le pipeline, n'a rien a effectuer
     6 *
     7*/
    58function gestionml_autoriser(){}
    69
    7 // declarations d'autorisations
    8 function autoriser_gestionml_gerer_dist($faire, $type, $id, $qui, $opt) {
    9 
     10/**
     11 * Fonction gerant l'autorisation de gestion d'une ML
     12 *
     13*/
     14function autoriser_ml_gerer_dist($faire, $type, $id, $qui, $opt) {
    1015        $config = lire_config('gestionml',array());
    1116        if( sizeof($config)) {
    1217                $chp = 'listes_auteur_'.$qui['id_auteur'] ;
    13                 if( is_array($config[$chp]))
     18                if( is_array($config[$chp])){
    1419                        return in_array($opt['ml'],$config[$chp]);
    15                 else
     20                } else {
    1621                        return( false ) ;
     22                }
    1723        } else {
    1824                return( false ) ;
     
    2026}
    2127
    22 function autoriser_gestionml_administrer_dist($faire,$quoi,$id,$qui,$options) {
     28/**
     29 * Fonction gerant l'autorisation d'administration des ML
     30 *
     31*/
     32function autoriser_ml_administrer_dist($faire,$quoi,$id,$qui,$options) {
    2333        return $qui['statut'] == '0minirezo';
    2434}
  • _plugins_/gestion_ml/lang/gestionml_fr.php

    r50451 r50929  
    55$GLOBALS[$GLOBALS['idx_lang']] = array(
    66        // A
     7        'api_action_erreur' => 'Action demandée non prise en compte',
     8        'api_ajout_email' => 'L\'ajout de @email@ dans la liste @nameML@ sera prise en compte dans quelques instants',
     9        'api_liste_envoyee' => 'La liste des abonnés de la liste @nameML@ a été envoyée à @email@',
     10        'api_liste_envoyee_err' => 'L\'adresse email de votre compte n\'est pas renseignée',
     11        'api_suppression_emails' => 'La suppression de @str_emails@ de la liste @nameML@ sera prise en compte dans quelques instants',
    712        'aucune_liste_dispo' => 'Aucune liste disponible',
    813
    914        // B
    10         'boite_info' => 'Cette page vous permet d\'accéder à la gestion des utilisateurs des mailing-lists pour lesquelles le webmestre de ce site vous en a donné l\'autorisation.',
     15        'boite_info' => 'Cette page vous permet d\'accéder à la gestion des utilisateurs de mailing-lists. Sont listées celles que le webmestre de ce site vous a autorisé à gérer.',
    1116        'btn_ajouter' => 'Ajouter',
    1217
     
    3742        'label_auteurs_listes' => 'Configuration des listes gérables par auteur' ,
    3843        'label_domaine' => 'Votre domaine' ,
     44        'label_hebergeur_simule' => 'Hébergeur simulé (pour tests)' ,
    3945        'label_identifiant' => 'Identifiant' ,
    4046        'label_liste_de' => '@nom@' ,
     
    4248        'label_serveur_distant' => 'Serveur Soap' ,
    4349        'label_serveur_local' => 'Serveur local' ,
     50        'label_supprimer_mails' => 'Supprimer un ou plusieurs emails',
    4451       
    4552        // T
    4653        'titre' => 'Gestion ML',
    47         'titre_abonnes' => 'Abonnés de la liste @liste@',
     54        'titre_abonnes' => 'Gestion des abonnés de la liste @liste@',
    4855        'titre_boite_cfg' => 'Configuration du plugin Gestion ML',
    4956        'titre_listes_dispo' => 'Listes disponibles',
  • _plugins_/gestion_ml/plugin.xml

    r44869 r50929  
    33        <nom>Gestion ML</nom>
    44        <auteur>Yffic</auteur>
    5         <version>0.1</version>
     5        <version>0.2</version>
    66        <version_base>0.1</version_base>
    77        <etat>test</etat>
     
    1010        <install>base/gestionml_install.php</install>
    1111        <icon>images/gestionml-64.png</icon>
    12         <pipeline>
    13                 <nom>header_prive</nom>
    14                 <action>insert_head_prive</action>
    15                 <inclure>gestionml_pipelines.php</inclure>
    16         </pipeline>
    1712   <pipeline>
    1813        <nom>autoriser</nom>
     
    3328        <necessite id="cfg" version="[1.10;]" />
    3429        <necessite id="saisies" version="[1.1;]" />
     30        <necessite id="YAML" version="[1.5;]" />
    3531        <necessite id="spip_bonux" version="[1.8;]" />
    3632</plugin>
  • _plugins_/gestion_ml/prive/exec/gestionml.html

    r50451 r50929  
    1 [(#AUTORISER{configurer,videos}|oui)
     1<BOUCLE_condition(CONDITION){si #AUTORISER{administrer,ml}|oui}>
    22   <!--#navigation-->
    33   <div class="logo_navigation">
     
    1212   <div class='cadre-formulaire-editer'>
    1313      <div class="formulaire_spip">
    14          [(#INCLURE{fond=prive/inc-gestionml}{ajax}{env})]
     14         #SET{requete,#ARRAY{}|gestionml_api_listes}
     15         
     16         <BOUCLE_contenu(POUR){tableau #GET{requete}}>
     17            [(#CLE|=={listes}|oui)
     18               <INCLURE{fond=prive/inc-listes}{tab=#VALEUR}>
     19               <br />
     20            ]
     21            [(#CLE|=={users}|oui)
     22               <INCLURE{fond=prive/inc-users,tab=#VALEUR,liste=#GET{requete}|table_valeur{liste}}>
     23               <br />
     24            ]
     25            [(#CLE|=={message_ok}|oui)
     26               [<p class="reponse_formulaire reponse_formulaire_ok">(#VALEUR)</p>]
     27            ]
     28            [(#CLE|=={infos}|oui)
     29               <INCLURE{fond=prive/inc-infos,infos=#VALEUR,liste=#GET{requete}|table_valeur{liste}}>
     30               <br />
     31            ]
     32            [(#CLE|=={message_erreur}|oui)
     33               [<p class="reponse_formulaire reponse_formulaire_erreur">(#VALEUR)</p>]
     34            ]
     35         </BOUCLE_contenu>
    1536      </div>
    1637   </div>
    17 ]
     38</BOUCLE_condition>
  • _plugins_/gestion_ml/prive/inc-infos.html

    r50446 r50929  
    11<div class="gestionml_details">
    2    <h2><:gestionml:titre_parametres{liste=#ENV{liste}}:></h2>
    3    <pre>#ENV{infos}</pre>
     2   <h3><:gestionml:titre_parametres{liste=#ENV{liste}}:></h3>
     3   <pre>[(#ENV{infos}|print_r{true})]</pre>
    44</div>
  • _plugins_/gestion_ml/prive/inc-listes.html

    r50451 r50929  
    66         <tr>
    77            <td>#CLE (#VALEUR abonn&eacute;s)</td>
    8             <td><a class="ajax" href="[(#SELF|parametre_url{'ovhaction','infos'}|parametre_url{'nameML',#CLE})]" title="<:gestionml:icone_infos:>">
     8            <td><a href="[(#SELF|parametre_url{'ovhaction','infos'}|parametre_url{'nameML',#CLE}|parametre_url{'email',''})]" title="<:gestionml:icone_infos:>">
    99            [(#CHEMIN{images/gestionml-infos.png}|balise_img|inserer_attribut{alt,<:gestionml:icone_infos:>})]
    1010            </a></td>
    11             <td><a class="ajax" href="[(#SELF|parametre_url{'ovhaction','users'}|parametre_url{'nameML',#CLE})]" title="<:gestionml:icone_abonnes:>">
     11            <td><a href="[(#SELF|parametre_url{'ovhaction','users'}|parametre_url{'nameML',#CLE}|parametre_url{'email',''})]" title="<:gestionml:icone_abonnes:>">
    1212            [(#CHEMIN{images/gestionml-abonnes.png}|balise_img|inserer_attribut{alt,<:gestionml:icone_abonnes:>})]
    1313            </a></td>
    14             <td><a class="ajax" href="[(#SELF|parametre_url{'ovhaction','sendlist'}|parametre_url{'nameML',#CLE}|parametre_url{'email',#SESSION{email}})]" title="<:gestionml:icone_envoyer_mail:>">
     14            <td><a href="[(#SELF|parametre_url{'ovhaction','sendlist'}|parametre_url{'nameML',#CLE}|parametre_url{'email',#SESSION{email}})]" title="<:gestionml:icone_envoyer_mail:>">
    1515            [(#CHEMIN{images/gestionml-envoyermail.png}|balise_img|inserer_attribut{alt,<:gestionml:icone_envoyer_mail:>})]
    1616            </a></td>
  • _plugins_/gestion_ml/prive/inc-users.html

    r50451 r50929  
    11<div class="gestionml_details">
    2    <h2><:gestionml:titre_abonnes{liste=#ENV{liste}}:></h2>
    3    <table class="liste">
    4       <BOUCLE_contenu(POUR){tableau #ENV{tab} }>
    5          <tr>
    6             <td>#VALEUR</td>
    7             <td><a class="ajax" href="[(#SELF|parametre_url{'ovhaction','userdel'}|parametre_url{'nameML',#ENV{liste}}|parametre_url{'email',#VALEUR})]"
    8                onclick="return(confirm('<:gestionml:confirmer_suppression:>'));" title="<:gestionml:supprimer_abonne:>">
    9                <img width="12" height="12" src="#CHEMIN{images/gestionml-supprimer.png}" alt="<:gestionml:supprimer_abonne:>" />
    10             </a></td>
    11          </tr>
    12       </BOUCLE_contenu>
    13    </table>
    14    
    15    <div class="ajax">
     2   <h3><:gestionml:titre_abonnes{liste=#ENV{liste}}:></h3>
     3   <div>
    164        #FORMULAIRE_AJOUTER_ABONNE{#ENV{liste}}
    175   </div>
     6   <div>
     7        #FORMULAIRE_SUPPRIMER_ABONNES{#ENV{liste},#ENV{tab}}
     8   </div>
    189</div>
Note: See TracChangeset for help on using the changeset viewer.