Browse Source

fonction mailsubscribers_synchro_lists() utilisee par l'action et le genie plutot que l'un appelle l'autre ou le contraire, ce qui pose toujours des soucis

pull/8/head v2.15.4
Cerdic 2 years ago
parent
commit
bc0edb7604
  1. 24
      action/mailsubscribers_synchro_lists.php
  2. 6
      genie/mailsubscribers_synchro_lists.php
  3. 24
      inc/mailsubscribers.php
  4. 2
      paquet.xml

24
action/mailsubscribers_synchro_lists.php

@ -14,7 +14,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* Forcer la synchronisation de toutes les listes
*
*/
function action_mailsubscribers_synchro_lists_dist($arg = null) {
function action_mailsubscribers_synchro_lists_dist() {
if (!autoriser('creer', 'mailsubscribinglist')) {
include_spip('inc/minipres');
@ -23,26 +23,12 @@ function action_mailsubscribers_synchro_lists_dist($arg = null) {
}
include_spip("inc/mailsubscribers");
$arg = _request('arg');
if (is_null($arg)) {
// Pas utile de sécuriser
$arg = _request('arg');
}
$listes = null;
if ($arg and ($arg!='all')) {
$listes = array(array('id'=>$arg, 'titre'=>$arg));
}
else {
$listes = mailsubscribers_listes (array('category' => 'newsletter'));
$listes = mailsubscribers_listes(array('id' => $arg));
}
// pour chaque liste disponible, ou pour la liste reçue en argument,
// on insere un job de synchro (si on trouve la fonction de synchro)
// pour les traiter separemment les uns des autres si jamais arg'un est trop gros
foreach ($listes as $liste) {
if (mailsubscribers_trouver_fonction_synchro($liste['id'])) {
job_queue_add("mailsubscribers_do_synchro_list", "Synchro liste " . $liste['titre'], array($liste['id']),
"inc/mailsubscribers");
}
}
mailsubscribers_synchro_lists($listes);
}

6
genie/mailsubscribers_synchro_lists.php

@ -16,10 +16,8 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
*/
function genie_mailsubscribers_synchro_lists_dist($t) {
$mailsubscribers_synchro_lists = charger_fonction("mailsubscribers_synchro_lists", "action");
if ($mailsubscribers_synchro_lists AND function_exists($mailsubscribers_synchro_lists)) {
$mailsubscribers_synchro_lists();
}
include_spip("inc/mailsubscribers");
mailsubscribers_synchro_lists();
// les prepa et prop de plus d'1 mois d'anciennete passent a la poubelle
sql_updateq('spip_mailsubscribers', array('statut' => 'poubelle'),

24
inc/mailsubscribers.php

@ -563,6 +563,30 @@ function mailsubscribers_listes($options = array()) {
return $listes;
}
/**
* Ajouter les taches de synchro liste pour chaque liste souhaitee (ou toutes)
* @param null|array $listes
*/
function mailsubscribers_synchro_lists($listes = null) {
if (is_null($listes)) {
$listes = mailsubscribers_listes(array('category' => 'newsletter'));
}
// pour chaque liste disponible, ou pour la liste reçue en argument,
// on insere un job de synchro (si on trouve la fonction de synchro)
// pour les traiter separemment les uns des autres si jamais arg'un est trop gros
foreach ($listes as $liste) {
if (!empty($liste['id']) and $f=mailsubscribers_trouver_fonction_synchro($liste['id'])) {
job_queue_add(
"mailsubscribers_do_synchro_list",
"Synchro liste " . $liste['titre'],
array($liste['id']),
"inc/mailsubscribers");
}
}
}
/**
* Lance la synchro avec une liste en appelant la fonction

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="mailsubscribers"
categorie="communication"
version="2.15.3"
version="2.15.4"
etat="stable"
compatibilite="[3.0.0;3.2.*]"
logo="prive/themes/spip/images/mailsubscriber-32.png"

Loading…
Cancel
Save