Changeset 44019 in spip-zone


Ignore:
Timestamp:
Jan 31, 2011, 12:39:53 PM (9 years ago)
Author:
kent1@…
Message:

Réparation de la déclaration et mise à jour des tables

On rétablit le cron

Location:
_plugins_/abomailmans
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/abomailmans/abomailmans_pipelines.php

    r44015 r44019  
    4949 */
    5050function abomailmans_taches_generales_cron($taches_generales){
    51         //$taches_generales['abomailmans_envois'] = 60 * 10; // toutes les 10 minutes
     51        $taches_generales['abomailmans_envois'] = 60 * 10; // toutes les 10 minutes
    5252        return $taches_generales;
    5353}
  • _plugins_/abomailmans/base/abomailmans.php

    r43950 r44019  
    3232                if (version_compare($current_version,'0.30','<')){
    3333                        sql_alter("TABLE spip_abomailmans ADD `lang` varchar(10) DEFAULT ' ' NOT NULL AFTER `email_sympa`");
     34                        ecrire_meta('agenda_base_version',$current_version=0.30,'non');
    3435                }
    3536                if (version_compare($current_version,'0.31','<')){
    3637                        sql_alter("TABLE spip_abomailmans ADD `email_unsubscribe` varchar(255) DEFAULT ' ' NOT NULL AFTER `email`");
    3738                        sql_alter("TABLE spip_abomailmans ADD `email_subscribe` varchar(255) DEFAULT ' ' NOT NULL AFTER `email`");
    38 
     39                        ecrire_meta('agenda_base_version',$current_version=0.31,'non');
    3940                }
    4041                if (version_compare($current_version,'0.32','<')){
     
    4243                        sql_alter("TABLE spip_abomailmans ADD `modele_defaut` varchar(255) DEFAULT ' ' NOT NULL AFTER `email_unsubscribe`");
    4344                        sql_alter("TABLE spip_abomailmans ADD `periodicite` varchar(255) DEFAULT ' ' NOT NULL AFTER `email_unsubscribe`");
     45                        ecrire_meta('agenda_base_version',$current_version=0.32,'non');
     46                }
     47                if (version_compare($current_version,'0.33','<')){
     48                        maj_tables('spip_abomailmans');
     49                        ecrire_meta('agenda_base_version',$current_version=0.33,'non');
    4450                }
    4551                ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
     
    6571function abomailmans_declarer_tables_principales($tables_principales){
    6672        $spip_abomailmans = array(
    67         "id_abomailman" => "bigint(21) NOT NULL",
    68         "titre"         => "varchar(255) NOT NULL",
    69         "descriptif"    => "text",
    70         "email"         => "varchar(255)",
    71         "email_subscribe"   => "varchar(255)",
    72         "email_unsubscribe" => "varchar(255)",
    73         "maj"           => "TIMESTAMP",
    74         "date_envoi"    => "TIMESTAMP",
    75         "email_sympa"   => "varchar(255)",
    76         "lang"          => "VARCHAR(10) DEFAULT '' NOT NULL",
    77         "desactive"     => "tinyint(4) NOT NULL default '0'"
     73                "id_abomailman" => "bigint(21) NOT NULL",
     74                "titre"         => "varchar(255) NOT NULL",
     75                "descriptif"    => "text",
     76                "email"         => "varchar(255)",
     77                "email_sympa"   => "varchar(255) DEFAULT ' ' NOT NULL",
     78                "email_subscribe"   => "varchar(255)",
     79                "email_unsubscribe" => "varchar(255)",
     80                "modele_defaut" => "varchar(255) DEFAULT ' ' NOT NULL",
     81                "periodicite" => "varchar(255) DEFAULT ' ' NOT NULL",
     82                "maj"           => "TIMESTAMP",
     83                "date_envoi"    => "TIMESTAMP",
     84                "lang"          => "VARCHAR(10) DEFAULT '' NOT NULL",
     85                "desactive"     => "tinyint(4) NOT NULL default '0'"
    7886        );
    7987
  • _plugins_/abomailmans/genie/abomailmans_envois.php

    r44015 r44019  
    11<?php
    2 /*
     2/**
    33 * Plugin Abomailmanss
    4  * (c) 2009 SPIP
     4 * (c) 2009-2011 SPIP
    55 * Distribue sous licence GPL
    66 *
     
    1111include_spip('inc/distant');
    1212
    13 // 20 minutes de repit avant abomailmans (+0 a 10 minutes de cron)
    14 #define('_DELAI_ABOMAILMANS_MESSAGERIE', 60 * 20);
    15 
    16 // Les abomailmans de chaque liste peuvent se faire par cron
    17 // base sur les champs remplis de chaque liste
    18 // automatique tout les /periodicite/ jours
    19 
     13/**
     14 * Les abomailmans de chaque liste peuvent se faire par cron
     15 * base sur les champs remplis de chaque liste
     16 * automatique tout les /periodicite/ jours
     17 * @param unknown_type $time
     18 */
    2019function genie_abomailmans_envois_dist($time) {
    2120       
    22         // Les listes dont la date_envoi < maintenant+periodicite
    23         //pour tester on peut mettre � MINUTE penser � remettre � DAY !!
    24         //$where = "periodicite!='' AND desactive='0' AND email!=''
    25         //AND date_envoi < DATE_SUB(NOW(), INTERVAL periodicite DAY)";
    26         //$id_liste = sql_getfetsel("id_abomailman", "spip_abomailmans", $where, '', "date_envoi", "1");
     21        /**
     22         * Les listes dont la date_envoi < maintenant+periodicite
     23         * pour tester on peut mettre a MINUTE penser a remettre a DAY !!
     24         */
     25        $where = "periodicite!='' AND desactive='0' AND email!=''
     26        AND date_envoi < DATE_SUB(NOW(), INTERVAL periodicite DAY)";
     27        $id_liste = sql_getfetsel("id_abomailman", "spip_abomailmans", $where, '', "date_envoi", "1");
    2728         
    28         //if ($id_liste) {
    29         //      spip_log("il faut traiter liste id=$id_liste","abomailmans");
    30         //      $res2 = liste_a_jour($id_liste);
    31         //} else $res2 = true;
     29        if ($id_liste) {
     30                spip_log("il faut traiter liste id=$id_liste","abomailmans");
     31                $res2 = liste_a_jour($id_liste);
     32        } else $res2 = true;
    3233       
    33 # nul, si la t�che n�a rien � faire
    34 # positif, si la t�che a �t� trait�e
    35 # n�gatif, si la t�che a commenc�, mais doit se poursuivre. Cela permet d�effectuer des t�ches par lots (pour �viter des timeout sur les ex�cutions des scripts PHP � cause de traitements trop longs).
    36 # Dans ce cas l�, le nombre n�gatif indiqu� correspond au nombre de secondes d�intervalle pour la prochaine ex�cution.
    37 
    38         //return ($res1 OR $res2) ? 0 : $id_liste;
     34        /**
     35         * nul, si la tache n'a rien a faire
     36         * positif, si la tache a ete traitee
     37         * negatif, si la tache a commence, mais doit se poursuivre.
     38         * Cela permet d'effectuer des taches par lots (pour eviter des timeout sur les executions des scripts PHP
     39         * a cause de traitements trop longs).
     40         * Dans ce cas la, le nombre negatif indique correspond au nombre de secondes d'intervalle
     41         * pour la prochaine execution.
     42         */
     43        return ($res1 OR $res2) ? 0 : $id_liste;
    3944}       
    4045       
     
    4651                spip_log("requete null ...","abomailmans");
    4752                return;
    48         } else spip_log("envoi test avec cron abomailmans","abomailmans");
     53        } else spip_log("envoi teste avec cron abomailmans","abomailmans");
    4954               
    5055        $datas = array();
     
    6166                $recuptemplate = explode('&',$modele_defaut);
    6267                       
    63                         include_spip('abomailmans_fonctions');
    64                         $paramplus = recup_param($modele_defaut); //pour url
    65                         $periodicite=intval($t['periodicite']);
    66                 //la page � envoyer doit �tre test� � maintenant moins periodicite
    67                         $time = time() - (3600 * 24 * $periodicite);
    68                 //construction du query
    69                                 parse_str($paramplus,$query);
    70                                 $query['id_abomailman'] = $t['id_abomailman'];
    71                                 $query['template'] = $recuptemplate[0];
    72                                 $query['date'] = date('Y-m-d H:i:s', $time);
    73                                  
    74                 //on peut verifier le fond grace � l'url
     68                include_spip('abomailmans_fonctions');
     69                $paramplus = recup_param($modele_defaut); //pour url
     70                $periodicite=intval($t['periodicite']);
     71
     72                /**
     73                 * la page a envoyer doit etre testee a maintenant moins periodicite
     74                 */
     75                $time = time() - (3600 * 24 * $periodicite);
     76
     77                /**
     78                 * construction du query
     79                 */
     80                parse_str($paramplus,$query);
     81                $query['id_abomailman'] = $t['id_abomailman'];
     82                $query['template'] = $recuptemplate[0];
     83                $query['date'] = date('Y-m-d H:i:s', $time);
     84
     85                /**
     86                 * on peut verifier le fond grace à l'url
     87                 */
    7588                $url_genere = generer_url_public('abomailman_template',$query,'&');
    7689                $fond = recuperer_fond('abomailman_template',$query);
    7790       
    78         $body = array(
    79         'html'=>$fond,
     91                $body = array(
     92                'html'=>$fond,
    8093        );
    8194       
  • _plugins_/abomailmans/plugin.xml

    r42888 r44019  
    1111        MaZiaR [NetAktiv->http://www.netaktiv.com]
    1212        </auteur>
    13         <version>0.6</version>
    14         <version_base>0.32</version_base>
     13        <version>0.6.1</version>
     14        <version_base>0.33</version_base>
    1515        <prefix>abomailmans</prefix>
    1616        <etat>dev</etat>
Note: See TracChangeset for help on using the changeset viewer.