Changeset 39200 in spip-zone


Ignore:
Timestamp:
Jul 7, 2010, 12:44:26 PM (10 years ago)
Author:
toutati@…
Message:

Gross modifs, maj de la base, code nettoye pour mise en conformité (bouton pipeline autoriser formulaires etc)
Nouvelle possbilité d'envoi automatique des listes (periodicite cron jours)
Toute relecture des codes bienvenue

Location:
_plugins_/abomailmans
Files:
4 added
6 deleted
22 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/abomailmans/abomailman_template.html

    r26422 r39200  
    11#CACHE{0}
    22#HTTP_HEADER{Content-Type: text/html}
    3 <INCLURE{fond=#ENV{template}}{env}>
     3[(#SET{chemintemplate,[(#CHEMIN{templates/#ENV{template}.html}|noextension)]})]
     4
     5<INCLURE{fond=#GET{chemintemplate}}{env}>
  • _plugins_/abomailmans/abomailmans_fonctions.php

    r26426 r39200  
    1616                return $texte = "<input name=\"listes[]\" value=\"" . $abonnement . "\" type=\"hidden\" />";   
    1717        }
     18       
     19       
     20       
     21        function nettoie_chemin($chemin){
     22                $liste = explode ("/", $chemin);
     23                $dernier=count($liste)-1;
     24                $chemin = str_replace('.html','',$liste[$dernier]);
     25                $liste2 = explode('&',$chemin);
     26                $chemin = $liste2[0];
     27                return $chemin;
     28        }
     29       
     30        function noextension($chemin){
     31                return str_replace('.html','',$chemin);
     32        }
     33       
     34        function recup_param($chemin){
     35        $a = explode('&', $chemin);
     36        $i = 1;
     37        while ($i < count($a)) {
     38            $retour.= "&".htmlspecialchars(urldecode($a[$i]));
     39            $i++;
     40        }       
     41        return $retour;
     42        }
     43       
     44        function array_param($params){
     45        parse_str($params,$output);
     46        return $output;
     47        }
     48       
     49        function moins30($date) {
     50                $moins30 = date('Y-m-d h:m:s', time()-24*3600*30); 
     51                return $moins30;
     52        }
    1853
    1954?>
  • _plugins_/abomailmans/abomailmans_pipelines.php

    r39198 r39200  
    77 * $Id: abomailmans_interface.php 31752 2009-09-23 00:09:48Z kent1@arscenic.info $
    88*/
     9 
     10function abomailmans_autoriser(){}
    911
    10 function abomailmans_ajouter_boutons($flux) {
    11         if (isset($flux['bando_edition'])){
    12                 return $flux;
    13         }
    14         global $visiteur_session;
    15         // si on est admin
    16         if ($visiteur_session['statut'] == "0minirezo" && !$visiteur_session['restreint']
    17         AND (!isset($GLOBALS['meta']['activer_abomailmans']) OR $GLOBALS['meta']['activer_abomailmans']!="non") ) {
    18                 $menu = 'naviguer';
    19                 $icone = find_in_path("/img_pack/mailman.gif");
    20                 $flux[$menu]->sousmenu['abomailmans_tous'] = new Bouton(
    21                         $icone,  // icone
    22                         _T("abomailmans:bouton_listes_diffusion")
    23                 );
    24         }
    25         return $flux;
     12// acces aux listes abomailmans = tous les admins
     13function autoriser_abomailmans_dist($faire, $type, $id, $qui, $opt) {
     14        return (($GLOBALS['meta']["activer_abomailmans"] != 'non')
     15                        AND ($qui['statut'] == '0minirezo')
     16                        AND !$qui['restreint']
     17                        );
    2618}
     19// autorisation des boutons
     20function autoriser_abomailmans_bouton_dist($faire, $type, $id, $qui, $opt) {
     21        return autoriser('modifier', $type, $id, $qui, $opt);
     22}
     23
     24function autoriser_abomailmans_creer_dist($faire, $type, $id, $qui, $opt){
     25        return autoriser('modifier', $type, $id, $qui, $opt);
     26}
     27
     28function autoriser_abomailmans_modifier_dist($faire, $type, $id, $qui, $opt){
     29        return ($qui['statut']=='0minirezo')  AND !$qui['restreint'];
     30}
     31
    2732
    2833function abomailmans_header_prive($flux) {
     
    3237                $flux .= "<script type=\"text/javascript\" src=\"" ._DIR_PLUGIN_ABOMAILMANS . "js/datePicker.js\"></script>\n";
    3338                $flux .= "<script type=\"text/javascript\" src=\"" ._DIR_PLUGIN_ABOMAILMANS . "js/datePicker_myScripts.js\"></script>\n";
    34                 $flux .= "<link rel=\"stylesheet\" href=\"" ._DIR_PLUGIN_ABOMAILMANS . "css/datePicker.css\" type=\"text/css\" />\n";}
     39                $flux .= "<link rel=\"stylesheet\" href=\"" ._DIR_PLUGIN_ABOMAILMANS . "js/datePicker.css\" type=\"text/css\" />\n";}
    3540        $flux .="<!-- / PLUGIN ABOMAILMANS -->\n\n";
    3641        return $flux;
     
    4449 */
    4550function abomailmans_taches_generales_cron($taches_generales){
    46         $taches_generales['abomailmans'] = 60 * 10; // toutes les 10 minutes
     51        $taches_generales['abomailmans_envois'] = 60 * 1; // toutes les 5 minutes
    4752        return $taches_generales;
    4853}
  • _plugins_/abomailmans/base/abomailmans.php

    r38639 r39200  
    88*/
    99
    10 $spip_abomailmans = array(
     10if (!defined("_ECRIRE_INC_VERSION")) return;
     11
     12include_spip('inc/meta');
     13include_spip('base/create');
     14
     15
     16/**
     17 * Fonction d'installation, mise a jour de la base
     18 *
     19 * @param unknown_type $nom_meta_base_version
     20 * @param unknown_type $version_cible
     21 */
     22
     23function abomailmans_upgrade($nom_meta_base_version,$version_cible){
     24        $current_version = 0.0;
     25        if (isset($GLOBALS['meta'][$nom_meta_base_version]))
     26                        $current_version = $GLOBALS['meta'][$nom_meta_base_version];
     27                 
     28                        if (version_compare($current_version,'0.0','<')){
     29                                include_spip('base/abomailmans');
     30                                creer_base();
     31                                ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
     32                        }
     33                        if (version_compare($current_version,'0.30','<')){
     34                                sql_alter("TABLE spip_abomailmans ADD `lang` varchar(10) DEFAULT ' ' NOT NULL AFTER `email_sympa`");
     35                                echo 'Upgrade de la base abomailmans';
     36                                ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
     37
     38                        }
     39                        if (version_compare($current_version,'0.31','<')){
     40                                sql_alter("TABLE spip_abomailmans ADD `email_unsubscribe` varchar(255) DEFAULT ' ' NOT NULL AFTER `email`");
     41                                sql_alter("TABLE spip_abomailmans ADD `email_subscribe` varchar(255) DEFAULT ' ' NOT NULL AFTER `email`");
     42                                echo 'Upgrade de la base abomailmans';
     43                                ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
     44
     45                        }
     46                        if (version_compare($current_version,'0.32','=')){
     47                                sql_alter("TABLE spip_abomailmans ADD `date_envoi` TIMESTAMP AFTER `maj`");
     48                                sql_alter("TABLE spip_abomailmans ADD `modele_defaut` varchar(255) DEFAULT ' ' NOT NULL AFTER `email_unsubscribe`");
     49                                sql_alter("TABLE spip_abomailmans ADD `periodicite` varchar(255) DEFAULT ' ' NOT NULL AFTER `email_unsubscribe`");
     50                                echo 'Upgrade de la base abomailmans';
     51                                ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
     52
     53                        }
     54}
     55
     56/**
     57 * Fonction de desinstallation
     58 *
     59 * @param unknown_type $nom_meta_base_version
     60 */
     61function abomailmans_vider_tables($nom_meta_base_version) {
     62        sql_drop_table("spip_abomailmans");
     63        effacer_meta($nom_meta_base_version);
     64}
     65
     66
     67
     68function abomailmans_declarer_tables_interfaces($interface){
     69        $interface['table_des_tables']['abomailmans'] = 'abomailmans';
     70        return $interface;
     71}
     72
     73function abomailmans_declarer_tables_principales($tables_principales){
     74        $spip_abomailmans = array(
    1175        "id_abomailman" => "bigint(21) NOT NULL",
    12         "titre"                 => "varchar(255) NOT NULL",
     76        "titre"         => "varchar(255) NOT NULL",
    1377        "descriptif"    => "text",
    14         "email"                 => "varchar(255)",
     78        "email"         => "varchar(255)",
    1579        "email_subscribe"   => "varchar(255)",
    16         "email_unsubscribe"   => "varchar(255)",
    17         "maj"                   => "TIMESTAMP",
     80        "email_unsubscribe" => "varchar(255)",
     81        "maj"           => "TIMESTAMP",
     82        "date_envoi"    => "TIMESTAMP",
    1883        "email_sympa"   => "varchar(255)",
    19         "lang"                  => "VARCHAR(10) DEFAULT '' NOT NULL",
     84        "lang"          => "VARCHAR(10) DEFAULT '' NOT NULL",
    2085        "desactive"     => "tinyint(4) NOT NULL default '0'"
    21 );
     86        );
    2287
    23 $spip_abomailmans_key = array(
     88        $spip_abomailmans_key = array(
    2489        "PRIMARY KEY" => "id_abomailman");
    25 
    26 global $tables_principales;
    27 $tables_principales['spip_abomailmans'] = array(
     90 
     91        $tables_principales['spip_abomailmans'] = array(
    2892        'field' => &$spip_abomailmans,
    2993        'key' => &$spip_abomailmans_key);
    3094
    31 global $table_des_tables;
    32 $table_des_tables['abomailmans']='abomailmans';
     95         return $tables_principales;
     96}
    3397
    3498//
    35 // <BOUCLE(ABONNEMENTSMAILMANS)>
     99// <BOUCLE(ABOMAILMANS)>
    36100//
    37 
     101/*
    38102function boucle_ABOMAILMANS_dist($id_boucle, &$boucles) {
    39103        $boucle = &$boucles[$id_boucle];
     
    44108
    45109        return calculer_boucle($id_boucle, $boucles);
    46 }
     110}*/
    47111
    48112?>
  • _plugins_/abomailmans/exec/abomailmans_edit.php

    r38639 r39200  
    99*/
    1010
     11if (!defined("_ECRIRE_INC_VERSION")) return;
    1112
     13include_spip("inc/presentation");
    1214include_spip('inc/abomailmans');
    1315
     
    1921        if ($retour)
    2022                $retour = urldecode($retour);
    21        
    22         include_spip("inc/presentation");
    2323
    2424        //
     
    3030                $titre = _T('abomailmans:icone_ajouter_liste');
    3131        }
     32       
    3233        $commencer_page = charger_fonction('commencer_page', 'inc');
    3334        echo $commencer_page("&laquo; $titre &raquo;", "documents", "abomailmans", "");
     35       
     36        if(!autoriser($id_abomailman?'modifier' : 'creer', 'abomailmans', $id_abomailman)) {
     37                include_spip('inc/minipres');
     38                echo minipres();
     39        } else {
     40       
    3441        echo debut_gauche("",true);
    3542        echo debut_boite_info(true);
    3643                echo icone_horizontale(_T("icone_retour"), generer_url_ecrire("abomailmans_tous",""), _DIR_PLUGIN_ABOMAILMANS."/img_pack/mailman.gif", "",false);
    37                 echo icone_horizontale(_T("abomailmans:icone_ajouter_liste"), generer_url_ecrire("abomailmans_tous",""), _DIR_PLUGIN_ABOMAILMANS."img_pack/configure_mail.png", "",false);
     44                echo icone_horizontale(_T("abomailmans:icone_ajouter_liste"), generer_url_ecrire("abomailmans_edit","new=oui"), _DIR_PLUGIN_ABOMAILMANS."img_pack/configure_mail.png", "creer.gif",false);
    3845               
    3946        echo fin_boite_info(true);
     
    5158        //
    5259        echo recuperer_fond('prive/abomailman_creation_liste',array('id_abomailman'=>$id_abomailman,'retour'=>$retour,'icone_retour'=> $icone_retour));
    53 
    54         echo fin_gauche(), fin_page();
     60        }
     61        echo fin_gauche(),
     62        fin_page();
    5563}
    5664?>
  • _plugins_/abomailmans/exec/abomailmans_envoyer.php

    r38639 r39200  
    2020        echo $commencer_page(_T("abomailmans:envoyer_mailmans"), "documents", "abomailmans", "");
    2121
     22                if(!autoriser($id_abomailman?'modifier' : 'creer', 'abomailmans', $id_abomailman)) {
     23                include_spip('inc/minipres');
     24                echo minipres();
     25        } else {
     26               
    2227        echo debut_gauche("",true);
    2328        echo debut_boite_info(true);
     
    2934       
    3035        echo recuperer_fond("prive/abomailman_envoyer");
     36        }
    3137
    3238        echo fin_gauche(), fin_page();
  • _plugins_/abomailmans/exec/abomailmans_tous.php

    r26442 r39200  
    1818        $commencer_page = charger_fonction('commencer_page', 'inc');
    1919        echo $commencer_page(_T("abomailmans:les_listes_mailmans"), "documents", "abomailmans", "");
     20                if(!autoriser($id_abomailman?'modifier' : 'creer', 'abomailmans', $id_abomailman)) {
     21                include_spip('inc/minipres');
     22                echo minipres();
     23        } else {
     24               
    2025        echo debut_gauche("",true);
    2126        echo debut_boite_info(true);
     
    2328        echo fin_boite_info(true);
    2429       
    25         echo "<br/>";
     30         
    2631        $result = sql_count(sql_select("id_abomailman","spip_abomailmans"));
    2732        if ($result>0) {
    2833                echo debut_boite_info(true);
    29                         echo icone_horizontale(_T("abomailmans:icone_envoyer_mail_liste"), generer_url_ecrire("abomailmans_envoyer",""),find_in_path("img_pack/configure_mail.png"), "",false);
     34                        echo icone_horizontale(_T("abomailmans:icone_envoyer_mail_liste"), generer_url_ecrire("abomailmans_envoyer",""),find_in_path("img_pack/forward.png"), "",false);
    3035                echo fin_boite_info(true);
    3136        }
     
    3843       
    3944        echo recuperer_fond('prive/abomailman_afficher_abomailmans',array("couleur_claire"=>$couleur_claire,'icone' => $icone));
    40 
     45        }
     46       
    4147        echo fin_gauche(), fin_page();
    4248}
  • _plugins_/abomailmans/formulaires/abomailman.php

    r38650 r39200  
    5656                }
    5757                else{
    58                         spip_log("Email = $email;","abomailman");
     58                        spip_log("Email = $email;","abomailmans");
    5959                        //TODO
    6060                        // stocker l'email dans un fichier ou la session, histoire de ne pas se prŽsenter 2 fois
     
    9595        //on initialise l'envoi
    9696        // on traite chaque liste via une fonction reutilisable ailleurs
    97         $traiter=abomailman_traiter_liste($id_abomailman,$abonnement);
     97        $traiter=abomailman_traiter_abonnement($id_abomailman,$abonnement);
    9898        $titre = $traiter[0];
    9999        $proprio_email=$traiter[1];
  • _plugins_/abomailmans/formulaires/abomailman_creation_liste.html

    r38639 r39200  
    1 #CACHE{0}
    2 <div class="formulaire_spip formulaire_abomailman_creation[_(#ENV{id_abomailman})]">
    3         <!-- br class='spacer' / -->
     1<div class="formulaire_spip formulaire_editer formulaire_abomailman_creation[_(#ENV{id_abomailman})]">
     2        <!-- <br class='bugajaxie' /> -->
    43        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    54        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    65
    7         [(#ENV{editable}|oui)
    8         <form method='post' action='#ENV{action}' enctype='multipart/form-data'>
     6        [(#ENV{editable})
     7        <form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
    98                #ACTION_FORMULAIRE{#ENV{action}}
    109                <ul>
    11                         <li class="editer_titre[ (#ENV**{erreurs}|table_valeur{titre}|oui)erreur]">
     10                        <li class="editer_titre obligatoire[ (#ENV**{erreurs}|table_valeur{titre}|oui)erreur] editer_type_input">
    1211                                <label for="titre" class="obligatoire"><:texte_titre_obligatoire:></label>
    1312                                [<p class='formulaire_erreur'>(#ENV**{erreurs}|table_valeur{titre})</p>]
    14                                 <input type="text" class="text" id="titre" name="titre" value="[(#ENV**{titre})]" size="50" />
     13                                <input type="text" id="titre" name="titre" value="[(#ENV**{titre})]" size="50" />
    1514                        </li>
    16                         <li class="editer_descriptif[ (#ENV**{erreurs}|table_valeur{descriptif}|oui)erreur]">
    17                                 <label for="descriptif"><:info_descriptif:></label>
    18                                 <textarea name='descriptif' id='descriptif' class='barre_inserer inserer_barre_edition'[ lang='(#LANGUE)'] rows='12' cols='48' lang="#LANG">[(#ENV**{descriptif})]</textarea>
     15                         <li class='editer_descriptif[ (#ENV**{erreurs}|table_valeur{descriptif}|oui)erreur] editer_type_textarea'>
     16                                <label for='descriptif'><:abomailmans:texte_descriptif:></label>[
     17                                <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{descriptif})</span>
     18                                ]<textarea name='descriptif' id='descriptif' cols='40' rows='2'>[(#ENV**{descriptif})]</textarea>
    1919                        </li>
     20        <li class="fieldset">
     21              <fieldset><h3 class="legend"><:abomailmans:emails_a_renseigner:></h3>
     22              <ul>
    2023                        <li class="editer_email[ (#ENV**{erreurs}|table_valeur{email}|oui)erreur]">
    21                                 <label for="email" class="obligatoire"><:abomailmans:emailliste_abomailman:></label>
     24                                <label for="email" class="obligatoire"><:abomailmans:destinataire:></label>
     25                                <p class="explication"><:abomailmans:emailliste_abomailman:></p>
    2226                                [<p class='formulaire_erreur'>(#ENV**{erreurs}|table_valeur{email})</p>]
    23                                 <input type="text" class="text" id="email" name="email" value="[(#ENV**{email})]" size="50" />
     27                                <input type="text" id="email" name="email" value="[(#ENV**{email})]" size="50" />
    2428                        </li>
    2529                        <li class="editer_email_subscribe[ (#ENV**{erreurs}|table_valeur{email_subscribe}|oui)erreur]">
     
    2731                                <p class="explication"><:abomailmans:explication_email_subscribe:></p>
    2832                                [<p class='formulaire_erreur'>(#ENV**{erreurs}|table_valeur{email_subscribe})</p>]
    29                                 <input type="text" class="text" id="email_subscribe" name="email_subscribe" value="[(#ENV**{email_subscribe})]" size="50" />
     33                                <input type="text" id="email_subscribe" name="email_subscribe" value="[(#ENV**{email_subscribe})]" size="50" />
    3034                        </li>
    3135                        <li class="editer_email_unsubscribe[ (#ENV**{erreurs}|table_valeur{email_unsubscribe}|oui)erreur]">
     
    3337                                <p class="explication"><:abomailmans:explication_email_unsubscribe:></p>
    3438                                [<p class='formulaire_erreur'>(#ENV**{erreurs}|table_valeur{email_unsubscribe})</p>]
    35                                 <input type="text" class="text" id="email_unsubscribe" name="email_unsubscribe" value="[(#ENV**{email_unsubscribe})]" size="50" />
     39                                <input type="text" id="email_unsubscribe" name="email_unsubscribe" value="[(#ENV**{email_unsubscribe})]" size="50" />
    3640                        </li>
    3741                        <li class="editer_email_sympa[ (#ENV**{erreurs}|table_valeur{email_sympa}|oui)erreur]">
     
    3943                                <p class="explication"><:abomailmans:explication_email_sympa:></p>
    4044                                [<p class='formulaire_erreur'>(#ENV**{erreurs}|table_valeur{email_sympa})</p>]
    41                                 <input type="text" class="text" id="email_sympa" name="email_sympa" value="[(#ENV**{email_sympa})]" size="50" />
     45                                <input type="text" id="email_sympa" name="email_sympa" value="[(#ENV**{email_sympa})]" size="50" />
    4246                        </li>
    4347                        [<li class="editer_langue[ (#ENV**{erreurs}|table_valeur{langue}|oui)erreur]">
     
    4953                                </select>
    5054                        </li>]
     55                         </ul>
     56             </fieldset>
     57         </li>
     58                       
     59        <li class="fieldset">
     60              <fieldset><h3 class="legend"><:abomailmans:envoi_regulier:></h3>
     61              <ul>
     62             
     63              <li class="periodicite">
     64                <label for='periodicite'><:abomailmans:envoi_regulier:></label>
     65                        <p class="explication"><:abomailmans:envoi_regulier_info:></p>
     66
     67                <div class='choix'>
     68                <label for="periodicite">
     69                <:abomailmans:envoi_regulier_tous_les:></label>
     70                <input type="text" size="4" value="[(#ENV{periodicite})]" id="periodicite" name="periodicite">
     71                <label for="periodicite"><:abomailmans:periodicite:></label>
     72                </div>
     73                </li>
     74               
     75                        <li class="choisir_template[ (#ENV**{erreurs}|table_valeur{template}|oui)erreur]">
     76                       
     77                                <label for="template"><:abomailmans:template_defaut:></label>
     78                                [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{template})</span>]
     79                                <select name="template">
     80                                        <INCLURE{fond=prive/listes/abomailman_templates}{id_abomailman}{erreurs}>
     81                                </select>
     82                        </li>
     83                       
     84                        <li class="editer_envoi_liste_parametres">
     85                                <label for="envoi_liste_parametres"><:abomailmans:envoi_parametres:></label>
     86                                <p class="explication"><:abomailmans:envoi_liste_parametres:></p>
     87                                <input type="text"  id="envoi_liste_parametres" name="envoi_liste_parametres" value="[(#ENV**{envoi_liste_parametres})]" size="50" />
     88                         
     89                                [(#ENV{modele_defaut}|oui)
     90                                <a href="[(#URL_PAGE{abomailman_template}|parametre_url{template,[(#ENV{template})]}|parametre_url{date,[(#DATE|moins30|affdate{annee})-][(#DATE|moins30|affdate{mois})]})][(#ENV**{envoi_liste_parametres})]">
     91                                <:abomailmans:voir_modele_depuis:>[ (#DATE|moins30|affdate{nom_mois})][ (#DATE|moins30|affdate{annee})]</a>
     92                                ]
     93
     94                        </li>
     95              </ul>
     96             </fieldset>
     97         </li>
     98             
     99               
     100        <li class="fieldset">
     101              <fieldset><h3 class="legend"><:abomailmans:label_etat_liste:></h3>
     102              <ul>             
     103                       
    51104                        <li class="editer_desactive">
    52                                 <label for="desactive_active"><:abomailmans:label_etat_liste:></label>
     105                                <label for="desactive_active"><:abomailmans:activation:></label>
    53106                                <div class="choix">
    54                                         <input type="radio" class="radio" value="0" id="desactive_active" name="desactive"[(#ENV{desactive}|=={0}|oui) checked="checked"] />
     107                                        <input type="radio" value="0" id="desactive_active" name="desactive"[(#ENV{desactive}|=={0}|oui) checked="checked"] />
    55108                                        <label for="desactive_active"><:abomailmans:active:></label>
    56109                                </div>
    57110                                <div class="choix">
    58                                         <input type="radio" class="radio" value="1" id="desactive_desactive" name="desactive"[(#ENV{desactive}|=={1}|oui) checked="checked"] />
     111                                        <input type="radio" value="1" id="desactive_desactive" name="desactive"[(#ENV{desactive}|=={1}|oui) checked="checked"] />
    59112                                        <label for="desactive_desactive"><:abomailmans:desactive:></label>
    60113                                </div>
    61114                        </li>
     115                       
     116               
     117               
    62118                        [(#ENV{id_abomailman}|oui)
    63119                        <li>
    64120                                <label for="desactive_supprime"><:abomailmans:supprimer:></label>
    65                                 <input type="radio" class="radio" value="2" id="desactive_supprime" name="desactive"[(#ENV{desactive}|=={2}|oui) checked="checked"] />
     121                                <div class="choix">
     122                                <input type="checkbox" value="2" id="desactive_supprime" name="desactive"[(#ENV{desactive}|=={2}|oui) checked="checked"] />
     123                                <label for="desactive_supprime"><:abomailmans:suppression_definitive:></label>
     124                                </div>
    66125                        </li>]
     126                         </ul>
     127             </fieldset>
     128         </li>
    67129                </ul>
    68130                <p class="boutons">
    69131                        <input type="submit" class="submit" name="valider" value="[(#ENV{id_abomailman}|?{<:bouton_enregistrer:>,<:bouton_ajouter:>})]" />
    70132                </p>
    71         </form>]
     133        </div></form>]
    72134</div>
  • _plugins_/abomailmans/formulaires/abomailman_creation_liste.php

    r38639 r39200  
    77// chargement des valeurs par defaut des champs du formulaire
    88function formulaires_abomailman_creation_liste_charger_dist($id_abomailman = ""){
    9         global $visiteur_session;
    10 
    11         if($visiteur_session['statut'] == '0minirezo'){
    129                //initialise les variables d'environnement pas défaut
    1310                $valeurs = array();
    14                 $valeurs['editable'] = true;
     11                $valeurs['editable'] = true; 
    1512
    1613                // On verifie que la liste existe
     
    2219                                $valeurs['message_erreur'] = _T('abomailmans:liste_non_existante');
    2320                        }
    24                 }
     21                }       
     22               
    2523                if(!$valeurs['langue']){
    2624                        $valeurs['langue'] = lang_select();
    2725                }
    2826                unset($valeurs['lang']);
    29         }else{
    30                 $valeurs['editable'] = false;
    31                 $valeurs['message_erreur'] = _T('abomailmans:creation_droits_insuffisants');
    32         }
     27               
     28                $recuptemplate = explode('&',$valeurs['modele_defaut']);
     29                $valeurs['template'] = $recuptemplate[0];
     30                $valeurs['envoi_liste_parametres']=recup_param($valeurs['modele_defaut']);
     31         
    3332        return $valeurs;
    3433}
     
    4746        $email_sympa = _request('email_unsubscribe');
    4847        $email_sympa = _request('email_sympa');
     48        $valeurs['template'] = str_replace('\'','',_request('template'));
     49        $valeurs['envoi_liste_parametres'] = _request('envoi_liste_parametres');
     50        //if($valeurs['template']) $valeurs['template'];
     51        $valeurs['periodicite'] = _request('periodicite');
    4952        $desactive = _request('desactive');
    5053        $lang = _request('lang');
     
    7982    $message = '';
    8083        $message['editable'] = true;
     84        $valeurs['envoi_liste_parametres'] = _request('envoi_liste_parametres');
    8185
    8286        $datas = array();
     
    9094        $datas['email_sympa'] = _request('email_sympa');
    9195        $datas['desactive'] = _request('desactive');
     96        $datas['modele_defaut'] = str_replace('\'','',_request('template'))."".$valeurs['envoi_liste_parametres'];
     97        $datas['periodicite'] = _request('periodicite');
    9298        $datas['lang'] = _request('langue');
    9399
  • _plugins_/abomailmans/formulaires/abomailman_envoi_liste.html

    r38639 r39200  
    11<div class="formulaire_spip formulaire_abomailman_envoi_liste ajax" id="formulaire_abomailman_envoi_liste">
     2[(#REM) pour IE qui sinon se perd dans l'ajax !, ne pas retirer]<br class='bugajaxie' />
     3
    24        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    35        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
     
    911       
    1012        ][<form action="#ENV{action}#formulaire_abomailman_envoi_liste" method="post" class="noajax">
    11                 <div>
     13                <div style="border:4px solid #ccc">
    1214                [(#ACTION_FORMULAIRE{#ENV{action}})]
    1315                <input type="hidden" name="template" value="#ENV*{template}" />
     
    2729                                [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{template})</span>]
    2830                                <select name="template">
    29                                         [(#ENV*{templates}|html_entity_decode)]
     31                                        <INCLURE{fond=prive/listes/abomailman_templates}{id_abomailman}{erreurs}{env}>
    3032                                </select>
    3133                        </li>
  • _plugins_/abomailmans/formulaires/abomailman_envoi_liste.php

    r38639 r39200  
    88// chargement des valeurs par defaut des champs du formulaire
    99function formulaires_abomailman_envoi_liste_charger_dist(){
    10         global $visiteur_session;
     10                //initialise les variables d'environnement pas défaut
     11                $valeurs = array();
     12        if (autoriser('modifier','abomailman')) {
     13          $valeurs['editable']=true;
     14        } else return $valeurs['editable']=false;
    1115       
    12         if($visiteur_session['statut'] == '0minirezo'){
    13                 //initialise les variables d'environnement pas défaut
    14                 $valeurs = array();
    15                 $valeurs['editable'] = true;
    16                
     16                //$valeurs['id_abomailman'] = _request('id_abomailman');
    1717                $valeurs['sujet'] = _request('sujet');
    1818                $valeurs['template'] = _request('template');
     
    2121                $valeurs['id_rubrique'] = _request('id_rubrique');
    2222                $valeurs['id_mot'] = _request('id_mot');
    23                 $valeurs['templates'] = "";
    24                
    25                 $liste_templates = find_all_in_path("templates/","[.]html$");
    26                 foreach($liste_templates as $titre_option) {
    27                         $titre_option = basename($titre_option,".html");
    28                         $value_option = "templates/$titre_option";
    29                         $selected =_request('template')=="'$value_option'"?" selected='selected' ":"";
    30                         $valeurs['templates'] .= "<option value='".$value_option."' ".$selected .">".$titre_option."</option>\n";
    31                 }
    32         }else{
    33                 $valeurs['editable'] = false;
    34                 $valeurs['message_erreur'] = _T('abomailmans:envoi_droits_insuffisants');
    35         }
     23
    3624        return $valeurs;
    3725}
    3826
    3927function formulaires_abomailman_envoi_liste_verifier_dist(){
    40 
    41         //charge la fonction de controle du login et mail
    42         //$test_inscription = charger_fonction('test_inscription');
    43 
     28       
    4429        //initialise le tableau des erreurs
    4530        $erreurs = array();
     31       
     32                //$valeurs['id_abomailman'] = _request('id_abomailman');
     33                $valeurs['sujet'] = _request('sujet');
     34                $valeurs['template'] = _request('template');
     35                $valeurs['message'] = _request('message');
     36                $valeurs['date'] = _request('date');
     37                $valeurs['id_rubrique'] = _request('id_rubrique');
     38                $valeurs['id_mot'] = _request('id_mot');
    4639
    47         $valeurs['sujet'] = _request('sujet');
    48         $valeurs['template'] = str_replace('\'','',_request('template'));
    49         $valeurs['message'] = _request('message');
    50         $valeurs['date'] = _request('date');
    51         $valeurs['id_rubrique'] = _request('id_rubrique');
    52         $valeurs['id_mot'] = _request('id_mot');
    53        
    54         if(!$valeurs['sujet']){
    55                 $erreurs['sujet'] = _T('abomailmans:sujet_obligatoire');
    56         }
    57 
    58     //message d'erreur genéralisé
     40   if(!$valeurs['sujet']){
     41                $erreurs['sujet'] = _T('abomailmans:sujet_obligatoire'); 
     42    }
     43   
    5944    if (count($erreurs)) {
     45        refuser_traiter_formulaire_ajax();
    6046        $erreurs['message_erreur'] .= _T('abomailmans:verifier_formulaire');
    6147    }
     48 
    6249        if (!count($erreurs) AND !_request('confirmer_previsu_abomailman')){
    63                 if ($afficher_texte != 'non') {
    64                         $previsu = abomailmain_inclure_previsu($valeurs['sujet'], $valeurs['message'], $valeurs['template'], $valeurs['date'], $valeurs['id_mot'], $valeurs['id_rubrique']);
     50                        $previsu = abomailmain_inclure_previsu($valeurs);
    6551                        $erreurs['previsu'] = $previsu;
    66                 }
    6752        }
    68     return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
     53 
     54 return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
    6955}
    7056
    71 function abomailmain_inclure_previsu($sujet, $message, $template, $date, $id_mot, $id_rubrique){
    72         $bouton = _T('abomailmans:envoi_confirmer');
    73         include_spip('public/assembler');
    74         $datas =  array(
    75                         'sujet' => $sujet,
    76                         'message' => $message,
    77                         'template' => $template,
    78                         'id_mot' => $id_mot,
    79                     'id_rubrique' => $id_rubrique,
    80                     'date' => $date,
    81                         'erreur' => $erreur,
    82                         'bouton' => $bouton
    83                         );
    84         $texte_template = generer_url_public('abomailman_template').'&'.abomailman_http_build_query($datas,"","&");
    85         $datas['texte_template'] = recuperer_page($texte_template,true);
    86         // supprimer les <form> de la previsualisation
    87         // (sinon on ne peut pas faire <cadre>...</cadre> dans les forums)
    88         return preg_replace("@<(/?)form\b@ism",
    89                             '<\1div',
    90                 inclure_balise_dynamique(array('formulaires/inc-previsu_mail',
    91                       0,
    92                       $datas
    93                         ),
    94                 false));
     57function abomailmain_inclure_previsu($datas){
     58        $datas['bouton'] = _T('abomailmans:envoi_confirmer');
     59        $datas['texte_template'] = recuperer_fond('abomailman_template',$datas);
     60        return recuperer_fond('formulaires/inc-previsu_mail',$datas);
    9561}
    9662
    9763function formulaires_abomailman_envoi_liste_traiter_dist(){
    98    
     64        refuser_traiter_formulaire_ajax();
     65       
    9966        $datas = array();
     67        $nom_site = lire_meta("nom_site");
     68        $email_webmaster = lire_meta("email_webmaster");
     69        $charset = lire_meta('charset');
     70        $email_receipt = _request('email_liste');
     71        $sujet = _request('sujet');
    10072   
    10173    // Recuperation des donnees
    102         $datas['sujet'] = _request('sujet');
    103         $datas['template'] = str_replace('\'','',_request('template'));
    104         $datas['message'] = _request('message');
    105         $datas['date'] = _request('date');
    106         $datas['id_rubrique'] = _request('id_rubrique');
    107         $datas['id_mot'] = _request('id_mot');
    108         $datas['charset'] = lire_meta('charset');
     74                //$query['id_abomailman'] = _request('id_abomailman');
     75                $query['template'] = _request('template');
     76                $query['message'] = _request('message');
     77                $query['date'] = _request('date');
     78                $query['id_rubrique'] = _request('id_rubrique');
     79                $query['id_mot'] = _request('id_mot');
    10980       
    110         $texte_template = generer_url_public('abomailman_template').'&'.abomailman_http_build_query($datas,"","&");
    111         $datas['texte_template'] = recuperer_page($texte_template,true);
    112        
    113         $datas['email_liste'] = _request('email_liste');
    114         $datas['nomsite'] = lire_meta("nom_site");
    115         $datas['email_webmaster'] = lire_meta("email_webmaster");
    116         spip.log($datas['texte_template']);
    117 
     81        $fond = recuperer_fond('abomailman_template',$query);
    11882        $body = array(
    119         'html'=>$datas['texte_template']
     83        'html'=>$fond,
    12084        );
    12185       
    122         if (abomailman_mail($datas['nomsite'], $datas['email_webmaster'], "", $datas['email_liste'], $datas['sujet'], $body, true, $datas['charset'])) {
    123                 $message = _T('abomailmans:email_envoye',array('liste'=>$datas['email_liste']));
    124         }
    125 
    126         else $message = _T('pass_erreur_probleme_technique');
     86        if (strlen($fond) > 10) {
     87        if (abomailman_mail($nom_site, $email_webmaster, "", $email_receipt, $sujet,$body, true, $charset)) {
     88        $message = _T('abomailmans:email_envoye',array('liste'=>$email_receipt));
     89        } else $message = _T('pass_erreur_probleme_technique');
     90        } else $message = _T('abomailmans:contenu_insuffisant');
    12791
    12892    return array('message_ok'=>$message);
  • _plugins_/abomailmans/formulaires/abomailman_mini_une_liste.php

    r38650 r39200  
    2626        if (sql_getfetsel('id_abomailman','spip_abomailmans','id_abomailman ='.intval($id_abomailman).' AND desactive = 0')) {
    2727                $ok = true;
    28                 spip_log("La liste existe, on peut charger le formulaire","abomailman");
     28                spip_log("La liste existe, on peut charger le formulaire","abomailmans");
    2929        }
    3030        else{
    3131                $ok = false;
    32                 spip_log("Le numero de liste n'est pas valable","abomailman");
     32                spip_log("Le numero de liste n'est pas valable","abomailmans");
    3333        }
    3434        if ($ok)
     
    4848        if($email == ''){
    4949                $erreurs['erreur_email'] = _T("abomailmans:email_oublie");
    50                 spip_log("Aucun email n'est insere","abomailman");
     50                spip_log("Aucun email n'est insere","abomailmans");
    5151        }
    5252        else{
     
    5454                if (!email_valide($email)){
    5555                        $erreurs['erreur_email'] = _T("abomailmans:email_valide");
    56                         spip_log("Email non valide $email","abomailman");
     56                        spip_log("Email non valide $email","abomailmans");
    5757                }
    5858                else{
    59                         spip_log("Email = $email;","abomailman");
     59                        spip_log("Email = $email;","abomailmans");
    6060                }
    6161        }
     
    8080        // on traite chaque liste via une fonction reutilisable ailleurs
    8181        //on passe abonnement ˆ true d'office
    82         $traiter=abomailman_traiter_liste($id_abomailman,true);
     82        $traiter=abomailman_traiter_abonnement($id_abomailman,true);
    8383        $titre = $traiter[0];
    8484        $proprio_email=$traiter[1];
  • _plugins_/abomailmans/formulaires/inc-previsu_mail.html

    r26442 r39200  
    2121        </li>
    2222</ul>
    23 <p class="boutons">
    24         <input name="confirmer_previsu_abomailman" type="submit" value="#ENV{bouton}" />
    25 </p>
     23[<p class="boutons">
     24        <input name="confirmer_previsu_abomailman" type="submit" value="(#ENV{bouton})" />
     25</p>]
  • _plugins_/abomailmans/inc/abomailmans.php

    r38642 r39200  
    1111
    1212// a utiliser dans le form de son choix ...
    13 function abomailman_traiter_liste($id_liste,$abonnement){
     13function abomailman_traiter_abonnement($id_liste,$abonnement){
    1414        $liste_data = sql_fetsel("*","spip_abomailmans","id_abomailman = $id_liste");
    1515        $sujet=null;
    1616        $dowhat=null;
    17         $titre=$liste_data['titre'];
    18 //Si on a les 2 emails
     17                $titre=$liste_data['titre'];
     18                //Si on a les 2 emails
    1919                if(isset($liste_data['email_subscribe']) AND isset($liste_data['email_unsubscribe'])){
    2020                        spip_log("Liste defini par mails","abomailmans");
     
    4848                return array($titre,$proprio_email,$liste_email, $sujet, $body,$headers);
    4949}
    50 
    51 
    52         // Fonction utilitaires
    53         function abomailmans_abomailman_editable($id_abomailman = 0) {
    54                 global $connect_statut;
    55                 return $connect_statut == '0minirezo';
    56         }
    57        
    58         function abomailmans_abomailman_administrable($id_abomailman = 0) {
    59                 global $connect_statut;
    60                 spip_log('connect_statut ='.$connect_statut);
    61                 return $connect_statut == '0minirezo';
    62         }
     50 
    6351
    6452        //* Envoi de mail via facteur
     
    7058        }
    7159
    72         function abomailman_http_build_query($data,$prefix=null,$sep='',$key=''){
    73                 if(!function_exists('http_build_query')) {
    74                     function http_build_query($data,$prefix=null,$sep='',$key='') {
    75                                 $ret = array();
    76                                 foreach((array)$data as $k => $v) {
    77                         $k = urlencode($k);
    78                         if(is_int($k) && $prefix != null) {
    79                                                 $k = $prefix.$k;
    80                                         };
    81                                         if(!empty($key)) {
    82                                                 $k = $key."[".$k."]";
    83                                         };
    84                                         if(is_array($v) || is_object($v)) {
    85                                                 array_push($ret,http_build_query($v,"",$sep,$k));
    86                                         }
    87                         else {
    88                             array_push($ret,$k."=".urlencode($v));
    89                         };
    90                                 };
    91                
    92                         if(empty($sep)) {
    93                             $sep = ini_get("arg_separator.output");
    94                         };
    95                         return implode($sep, $ret);
    96                     };
    97                 };
    98                 return http_build_query($data);
    99         }
     60       
    10061?>
  • _plugins_/abomailmans/lang/abomailmans_de.php

    r38639 r39200  
    3838        'envoyer_courier'                               => 'Mail senden',
    3939        'envoyer_courier_liste'                 => 'Mail an diese Mailingliste senden:',
     40        'envoi_regulier'                                => 'Automatics mail',
     41        'envoi_regulier_info'                   => 'Keep empty if you do not want to send automatically',
     42        'envoi_regulier_tous_les'                       => 'Send each',
     43        'envoi_liste_parametres' => 'Parameterliste',
     44        'periodicite'                   => ' days.',
    4045        'envoyer_mailmans'                              => 'Modell und Inhalt ausw&auml;hlen',
    4146        'erreur_email_liste_oublie'             => 'Die E-Mail Adresse ist obligatorisch.',
     
    9398//T
    9499        'template'                                              => 'Modell und Inhalte ausw&auml;hlen',
     100        'template_defaut'                       => 'Default template',
    95101        'titre_abomailman'                              => 'Bezeichnung der Liste',
    96102        'titre_liste_obligatoire'               => 'Die Liste muss eine Bezeichnung erhalten',
  • _plugins_/abomailmans/lang/abomailmans_en.php

    r38639 r39200  
    3636        'envoi_apercu'                                  => 'Previsualization',
    3737        'envoi_confirmer'                               => 'Confirm and send',
     38        'envoi_regulier'                                => 'Automatics mail',
     39        'envoi_regulier_info'                   => 'Keep empty if you do not want to send automatically',
     40        'envoi_regulier_tous_les'                       => 'Send each',
     41        'envoi_liste_parametres'        =>'List of parameters [Facultatif]',
     42        'periodicite'                   => ' days.',
    3843        'envoyer_courier'                               => 'Send an email',
    3944        'envoyer_courier_liste'                 => 'Send this content to this list :',
     
    9297// T
    9398        'template'                                              => 'Choose a template and his content',
     99        'template_defaut'                       => 'Default template',
    94100        'titre_abomailman'                              => 'Title of the list',
    95101        'titre_liste_obligatoire'               => 'The title of the list is mandatory',
  • _plugins_/abomailmans/lang/abomailmans_fr.php

    r38639 r39200  
    88        'abomailmans'                                   => 'Mailmans',
    99        'abonne'                                        => 'Je m\'abonne',
    10         'active'                        => 'Active',
     10        'activation'                                    =>'Activation',#NEW
     11        'active'                                        => 'Active',
    1112        'aucune_langue'                                 => 'Aucune sp&eacute;cifique',
    1213
     
    1516        'btn_abonnement'                => 'S\'abonner',
    1617        'btn_desabonnement'             => 'Se d&eacute;sabonner',
     18        'emails_a_renseigner' =>'Emails &agrave; renseigner',
    1719
    1820//C
     
    2325//D
    2426        'desactive'                     => 'D&eacute;sactiv&eacute;e',
     27        'destinataire'                     => 'Destinataire',#NEW
    2528
    2629//E
     
    2932        'email'                                                 => 'E-mail',
    3033        'emailliste_subscribe' => 'Abonnement',
    31         'emailliste_unsubscribe' => 'Desabonnement',
     34        'emailliste_unsubscribe' => 'Desabonnement',                                         
    3235        'email_abonnement'                              => 'Votre adresse e-mail',
    3336        'email_envoye'                                  => 'L\'e-mail a &eacute;t&eacute; envoy&eacute; &agrave; la liste de diffusion : @liste@.',
     
    3639        'envoi_apercu'                                  => 'Aper&ccedil;u',
    3740        'envoi_confirmer'                               => 'Confirmer et envoyer',
     41        'envoi_regulier'                                => 'Envois automatiques',#NEW
     42        'envoi_regulier_info'                           => 'Laisser vide pour ne pas avoir d\'envois automatiques',#NEW
     43        'envoi_regulier_tous_les'                       => 'Envoi tous les',#NEW
     44        'envoi_parametres'                              => 'Param&eacute;tres',#NEW
     45        'envoi_liste_parametres'                        =>'Liste des param&egrave;tres [Facultatif]',#NEW
     46        'periodicite'                                   => ' jours.',#NEW
    3847        'envoyer_courier'                               => 'Envoyer un courrier',
    3948        'envoyer_courier_liste'                 => 'Envoyer ce courrier &agrave; cette liste de diffusion :',
     
    8897        'sujet_obligatoire'                             => 'Le sujet est obligatoire.',
    8998        'supprimer'                                             => 'Supprimer',
     99        'suppression_definitive'        =>'Suppression d&eacute;finitive !',#NEW
    90100        'sympa_message_confirmation'    => 'Un email de validation a &eacute;t&eacute; envoy&eacute; &agrave l\'adresse : ',
    91101
    92102//T
    93         'template'                                              => 'Choisissez le mod&egrave;le et son contenu',
    94         'titre_abomailman'                              => 'Titre de la liste',
     103        'template'                              => 'Choisissez le mod&egrave;le et son contenu',
     104        'template_defaut'                       => 'Mod&egrave;le par defaut',#NEW
     105        'texte_descriptif'                      =>'Descriptif',#NEW
     106        'titre_abomailman'                      => 'Titre de la liste',
    95107        'titre_liste_obligatoire'               => 'Le titre de la liste est obligatoire',
    96108        'toute_liste'                                   => 'Toutes les listes de diffusions',
     
    100112        'veut_se_desabonner'=>'veut se desabonner',
    101113        'verifier_formulaire'                   =>      'V&eacute;rifiez le remplissage du formulaire.',
     114        'voir_modele_depuis'                    =>'Voir un exemple du mod&eacute;le avec', #NEW
    102115        'votre_email'                                   => 'Votre email',
    103116);
  • _plugins_/abomailmans/plugin.xml

    r38639 r39200  
    11<plugin>
    2         <nom><multi>[fr]
    3         Abonnement &#224; des listes de diff. mailman et sympa
    4         [de]Mailinglisten
     2        <nom><multi>
     3        [fr]Abonnement &#224; des listes de diff. mailman et sympa[de]Mailinglisten
    54        </multi></nom>
    6         <icon>img_pack/mailman.jpg</icon>
     5        <icon>img_pack/mailman.gif</icon>
    76        <auteur>
    87        MaZiaR [NetAktiv->http://www.netaktiv.com]
    98        </auteur>
    10         <version>0.5</version>
     9        <version>0.6</version>
     10        <version_base>0.32</version_base>
     11        <prefix>abomailmans</prefix>
    1112        <etat>dev</etat>
    1213        <description><multi>
    13         [fr]
    14         Ce plugin permet via une balise #FORMULAIRE_ABOMAILMAN d&rsquo;afficher un formulaire d&rsquo;abonnement &agrave; l&rsquo;ensemble des listes renseign&eacute;es Mailman.
     14        [fr]Ce plugin permet via une balise #FORMULAIRE_ABOMAILMAN d&rsquo;afficher un formulaire d&rsquo;abonnement &agrave; l&rsquo;ensemble des listes renseign&eacute;es Mailman.
    1515        Cette inscription se fait via l&rsquo;interface priv&eacute;e de SPIP par le menu &laquo; Edition &gt; Abomailmans &gt; les listes de diffusions mailman &raquo;
    1616        Ensuite il vous est possible de s&eacute;lectionner des articles de votre SPIP, par des crit&egrave;res de date, de rubrique et/ou de mot cl&eacute; et envoyer leurs contenus &agrave; ces listes, en utilisant des squelettes de mise en page du contenu.
     
    1818        [de]Dieses Plugin ermöglich mit dem TAG  #FORMULAIRE_ABOMAILMAN das Abnonnieren von Mailinglisten.
    1919        Dem Adminstrator steht ein Interface zur Verwaltung dieser Listen zur Verf&uuml;gung.
    20                 </multi>
    21         </description>
     20        </multi></description>
    2221        <lien>[Spip-Contrib->http://www.spip-contrib.net/Abomailmans-pour-s-abonner-a-des]</lien>
    23         <necessite id="SPIP" version="[2.0.3;]" />
    24         <necessite id="facteur" version="[1.1;]" />
    25         <options>
    26                 abomailmans_options.php
    27         </options>
    28         <fonctions>
    29                 abomailmans_fonctions.php
    30         </fonctions>
    31         <prefix>abomailmans</prefix>
    32         <install>base/abomailmans_upgrade.php</install>
     22        <fonctions>abomailmans_fonctions.php</fonctions>
     23        <install>base/abomailmans.php</install>
    3324        <pipeline>
    34                 <nom>ajouter_boutons</nom>
    35                 <inclure>abomailmans_interface.php</inclure>
     25                <nom>declarer_tables_interfaces</nom>
     26                <inclure>base/abomailmans.php</inclure>
     27        </pipeline>
     28        <pipeline>
     29                <nom>declarer_tables_principales</nom>
     30                <inclure>base/abomailmans.php</inclure>
     31        </pipeline>
     32        <pipeline>
     33                <nom>taches_generales_cron</nom>
     34                <inclure>abomailmans_pipelines.php</inclure>
     35        </pipeline>
     36
     37        <pipeline>
     38                <nom>abomailmans</nom>
     39                <!-- action vide pour provoquer l'inclusion de abomailmans.php -->
     40                <action>go</action>
     41                <inclure>abomailmans_pipelines.php</inclure>
    3642        </pipeline>
    3743        <pipeline>
    3844                <nom>header_prive</nom>
    39                 <inclure>abomailmans_interface.php</inclure>
     45                <inclure>abomailmans_pipelines.php</inclure>
     46        </pipeline>
     47        <pipeline> 
     48        <nom>autoriser</nom>
     49        <inclure>abomailmans_pipelines.php</inclure>
    4050        </pipeline>
    41         <bouton id='abomailmans_tous' parent='bando_edition'>
    42                 <icone>images/abomailman-16.png</icone>
     51        <bouton id='abomailmans_tous' parent="naviguer">
     52                <icone>img_pack/mailman.gif</icone>
    4353                <titre>abomailmans:bouton_listes_diffusion</titre>
     54                <url>abomailmans_tous</url> <!-- nom de l'exec, facultatif, par defaut prend l'id -->
     55                <args></args>
    4456        </bouton>
     57       
     58        <necessite id="SPIP" version="[2.0.3;]" />
     59        <necessite id="facteur" version="[1.1;]" />
    4560        <categorie>communication</categorie>
    4661</plugin>
  • _plugins_/abomailmans/prive/abomailman_creation_liste.html

    r38639 r39200  
    1 #CACHE{0}
    21<div class='cadre-formulaire-editer'>
    32        <BOUCLE_liste(ABOMAILMANS){id_abomailman}>
     
    54                #ENV**{icone_retour}
    65                <h1>[(#TITRE|supprimer_numero)]</h1>
    7                 <div class="explications" style="margin-top:20px">
    8                         [<div>
    9                                 <p><strong class='verdana2'><:info_descriptif:></strong></p>
    10                                 (#DESCRIPTIF)
    11                         </div>]
    12                         [<div>
    13                                 <p><strong class='verdana2'><:abomailmans:emailliste_abomailman:></strong></p>
    14                                 <p>(#EMAIL)</p>
    15                         </div>]
     6                <br class="nettoyeur" />
     7                <div class="explications">
     8                        [<p><strong><:abomailmans:texte_descriptif:></strong></p>
     9                        <p>(#DESCRIPTIF)</p>
     10                        ]
     11                        [<p><strong><:abomailmans:emailliste_abomailman:></strong></p>
     12                        <p>(#EMAIL)</p>
     13                        ]
    1614                       
    17                         [<div>
    18                                 <p><strong class='verdana2'><:abomailmans:emailliste_abosympa:></strong></p>
    19                                 <p>(#EMAIL_SYMPA)</p>
    20                         </div>]
    21                         <div>
    22                                 <p><strong class='verdana2'><:abomailmans:langue_liste:></strong>
    23                                 <p>[(#LANG|traduire_nom_langue|sinon{<:abomailmans:aucune_langue:>})]
    24                         </div>
     15                        [<p><strong><:abomailmans:emailliste_abosympa:></strong></p>
     16                        <p>(#EMAIL_SYMPA)</p>
     17                        ]
     18                        [<p><strong><:abomailmans:envoi_regulier:></strong></p>
     19                        <p><:abomailmans:envoi_regulier_tous_les:> (#PERIODICITE) <:abomailmans:periodicite:></p>
     20                        ]
     21                       
     22                        <p><strong><:abomailmans:langue_liste:></strong>[ (#LANG|traduire_nom_langue|sinon{<:abomailmans:aucune_langue:>})]</p>
     23                       
    2524                </div>
    2625        </div>
  • _plugins_/abomailmans/templates/nouveautes.html

    r31032 r39200  
    1414* $Id$
    1515***********************************************************/]
     16<B_articlesDate>
    1617<style>
    1718/* CSS Document */
     
    164165                <p><b>#ENV{message}</b></p>
    165166                <div class="ligne">&nbsp;</div>
    166 
    167                 <B_articlesDate>
     167 
    168168                        <BOUCLE_articlesDate(ARTICLES){age_relatif< 0}{id_rubrique ?}{id_mot ?}{par date}{inverse}>
    169169                                <!-- Affiche logo si pas vidéo -->
     
    183183                                <div class="ligne">&nbsp;</div>
    184184                        </BOUCLE_articlesDate>
    185                 </B_articlesDate>
    186                 <//B_articlesDate>
     185               
     186                 
    187187        </td>
    188188  </tr>
    189189</table>
     190</B_articlesDate>
  • _plugins_/abomailmans/templates/nouveautes2.html

    r38518 r39200  
    1212* Inspire du plugin Spip-Listes
    1313* $Id: nouveautes.html 31032 2009-08-20 20:46:24Z pierrekuhn82@gmail.com $
    14 ***********************************************************/]
     14***********************************************************/
     15]
     16<B_articlesDate>
    1517<style>
    1618/* CSS Document */
     
    3234.nettoyeur { clear: both; margin: 0; padding: 0; border: none; height: 0; line-height: 1px; font-size: 1px; }
    3335
    34 a img {
    35         border:0;}
     36a img { border:0;}
    3637
    3738p.spip {
     
    8586.logo {
    8687        float:left;
    87         margin:12px 0.5em 0 0;}
     88        margin:0.2em 1em 0 0;
     89}
    8890
    8991p {
     
    111113.logo {
    112114        float:left;
    113         margin:12px 0.5em 0 0;}
    114 
    115 h3 {
    116         font-weight:normal;
    117         font-size:12px;
    118         margin:0;
    119         padding:0;
    120         color:#000000;}
     115        margin:0 0.5em 0 0;
     116        padding:0 0.5em 0 0;
     117}
    121118
    122119h2 {
    123120        font-weight:normal;
    124121        font-size:15px;
    125         margin:0;
     122        font-weight:bold;
     123        margin:1.5em 2em 1em 0;
     124        padding:0;
     125}
     126       
     127h3 {
     128        font-weight:normal;
     129        font-size:12px;
     130        margin:1.5em 2em 0 1.5em;
    126131        padding:0;
    127132        color:#000000;}
     
    142147        <a href="#URL_SITE_SPIP">
    143148        <img
    144         [src="(#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{src}|url_absolue|texte_backend)"]
     149        [src="(#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{src}|url_absolue)"]
    145150        [height="(#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{height})"]
    146151        [width="(#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{width})"]
    147152        class="Logosite"
    148         alt="#NOM_SITE_SPIP"
     153        alt=""
    149154        />     
    150155        </a>
     
    154159        <br class="nettoyeur" />
    155160</div>
    156 
    157                 <B_articlesDate>
     161 
    158162                <div class="items">
    159163
     
    163167               
    164168                        <BOUCLE_articlesDate(ARTICLES){age_relatif< 0}{id_rubrique ?}{id_mot ?}{par date}{inverse}>
    165                                 <!-- Affiche logo si pas vidéo -->
    166                                 <BOUCLE_agenda(MOTS){titre=AGENDA}{id_article}>#SET{type, agenda}</BOUCLE_agenda>
    167                                 <!-- SI agenda -->
    168                                 [(#GET{type}|!={'agenda'}|?{'',' '})
    169                                         [<div class="jour">[(#DATE_REDAC|nom_jour)] (#DATE_REDAC|affdate_jourcourt)[ - (#DATE_REDAC|affdate{'H:i'})]</div>]
    170                                 ]
    171                                 [<h3>(#SURTITRE|texte_backend|supprimer_numero) :</h3>]
    172                                  <h2>[(#TITRE|texte_backend|supprimer_numero)]</h2>
    173                                 [(#LOGO_ARTICLE||image_reduire{150, 0}|liens_absolus|inserer_attribut{class,logo})]
    174                                 [<p>(#CHAPO|liens_absolus|sinon{[(#INTRODUCTION|liens_absolus)]})</p>]
    175                                 <!-- SI PAS agenda -->
    176                                 [(#GET{type}|=={'agenda'}|?{'',' '})<p class="date">[(#DATE|affdate)]</p>]
     169                                [<h3>(#SURTITRE|supprimer_numero) :</h3>]
     170                                 <h2>[(#TITRE|supprimer_numero)]</h2>
     171                                [<div class="logo">(#LOGO_ARTICLE||image_reduire{150,0}|liens_absolus)</div>]
     172                                [<p>(#CHAPO|couper{300}|liens_absolus|sinon{[(#INTRODUCTION|couper{300}|liens_absolus)]})</p>]
     173                                 <p class="date">[(#DATE|affdate)]</p>
    177174                                <a href="[(#URL_ARTICLE|url_absolue)]" class="Suite"><:abomailmans:lire_article:></a>
    178175                                <hr />
    179176                        </BOUCLE_articlesDate>   
    180                         </div>
    181                         </B_articlesDate>
     177                </div>
     178                       
     179                        <BOUCLE_desabo(ABOMAILMANS){id_abomailman}>
     180                        <small>Pour vous d&eacute;sabonner de "#TITRE" envoyer un mail &agrave; <a mailto="#EMAIL_UNSUBSCRIBE">#EMAIL_UNSUBSCRIBE</a></small>
     181                        </BOUCLE_desabo>
    182182</div>
     183</B_articlesDate>
Note: See TracChangeset for help on using the changeset viewer.