Changeset 112727 in spip-zone


Ignore:
Timestamp:
Dec 11, 2018, 5:35:00 PM (2 months ago)
Author:
cedric@…
Message:

Correction de r112420 qui ne marchait pas le update avec clause sub select etant refuse dans ce cas

Location:
_plugins_/mailsubscribers/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/mailsubscribers/trunk/inc/mailsubscribinglists.php

    r112438 r112727  
    2424        // placer le pointeur sur les subscriptions pour le genie
    2525        // uniquement sur les subscribers qui ont au moins un des segments valide (sinon si tout refuse il n'y aura rien a faire)
    26         $in_subscribers_valides = sql_get_select("DISTINCT zz.id_mailsubscriber", "spip_mailsubscriptions as zz", "zz.statut!=".sql_quote('refuse') . ' AND zz.id_mailsubscribinglist='.intval($id_mailsubscribinglist));
    27         sql_updateq('spip_mailsubscriptions', array('actualise_segments' => 1), 'id_segment=0 AND id_mailsubscribinglist=' . intval($id_mailsubscribinglist) . " AND id_mailsubscriber IN ($in_subscribers_valides)");
     26        // on est oblige de faire des series de allfetsel/update car on ne peut pas faire un update avec ne sous requete comme celle la
     27        $n = 0;
     28        while ($in_subscribers_valides = sql_allfetsel(
     29                "DISTINCT id_mailsubscriber",
     30                "spip_mailsubscriptions",
     31                "statut!=" . sql_quote('refuse') . ' AND actualise_segments=0 AND id_segment=0 AND id_mailsubscribinglist=' . intval($id_mailsubscribinglist), '', '', '0,10000')){
     32                $in_subscribers_valides = array_column($in_subscribers_valides, 'id_mailsubscriber');
     33                sql_updateq('spip_mailsubscriptions', array('actualise_segments' => 1), 'id_segment=0 AND id_mailsubscribinglist=' . intval($id_mailsubscribinglist) . " AND " . sql_in('id_mailsubscriber', $in_subscribers_valides));
     34                spip_log("actualise_segments=1 sur liste $id_mailsubscribinglist et " . count($in_subscribers_valides) . ' inscrits', 'mailsubscribers');
     35                $n += count($in_subscribers_valides);
     36        }
     37        spip_log("actualise_segments=1 sur liste $id_mailsubscribinglist et TOTAL $n inscrits", 'mailsubscribers');
    2838}
    2939
  • _plugins_/mailsubscribers/trunk/paquet.xml

    r112481 r112727  
    22        prefix="mailsubscribers"
    33        categorie="communication"
    4         version="2.9.8"
     4        version="2.9.9"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.