View Issue Details

IDProjectCategoryView StatusLast Update
0017608phpList 3 applicationCampaign Managementpublic06-07-15 18:04
Reporterduncanc Assigned To 
Status resolvedResolutionfixed 
Product Version3.0.12 
Target Version3.0.XFixed in Version3.2.0 
Summary0017608: Automatic requeuing does not call plugins
DescriptionWhen a message is requeued manually, on the campaigns page, the processing includes calling the messageReQueued() method on each plugin, see file messages.php line 168:

  if ($suc6) {
    $action_result .= "... ".$GLOBALS['I18N']->get("Done");
    foreach ($GLOBALS['plugins'] as $pluginname => $plugin) {

But when a campaign is requeued periodically with the requeueinterval value, the only processing is to update the message table. There is no plugin processing nor the other processng of the messagedata table. see file actions/processqueue.php line 501.

## check for messages that need requeuing
$req = Sql_Query(sprintf('select id,requeueinterval,embargo < now() as inthepast from %s where requeueinterval > 0 and requeueuntil > now() and status = "sent"',$tables['message']));
while ($msg = Sql_Fetch_Assoc($req)) {
  if ($msg['inthepast']) {
    Sql_query(sprintf('update %s set status = "submitted",sendstart = null, embargo = date_add(now(),interval %d minute) where id = %d',$GLOBALS['tables']['message'],$msg['requeueinterval'],$msg['id']));
  } else {
    Sql_query(sprintf('update %s set status = "submitted",sendstart = null, embargo = date_add(embargo,interval %d minute) where id = %d',$GLOBALS['tables']['message'],$msg['requeueinterval'],$msg['id']));
  ## @@@ need to update message data as well
TagsNo tags attached.


There are no notes attached to this issue.