From 9a28c127811c2ad0ab86df3664be0e14ef52f1af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timot=C3=A9=20Fallais?= Date: Wed, 13 Feb 2019 14:57:37 +0100 Subject: [PATCH] reform MEMBER_VALIDATE and MEMBER_MODIFY code correctly --- ...odMailmanspip_Mailmanspipsynchro.class.php | 71 ++++++++++--------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php b/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php index 55577520f6e..126ffdba8f6 100644 --- a/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php +++ b/htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php @@ -99,13 +99,46 @@ class InterfaceMailmanSpipsynchro extends DolibarrTriggers } // Members - elseif ($action == 'MEMBER_VALIDATE' || $action == 'MEMBER_MODIFY') + elseif ($action == 'MEMBER_VALIDATE') { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); - if($action == 'MEMBER_VALIDATE') + $return=0; + if ($object->add_to_abo() < 0) { - $return=0; + if (! empty($object->error)) $this->error=$object->error; + $this->errors=$object->errors; + $return=-1; + } + else + { + $return=1; + } + + return $return; + } + elseif ($action == 'MEMBER_MODIFY') + { + dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); + + $return=0; + // Add user into some linked tools (mailman, spip, etc...) + if (($object->oldcopy->email != $object->email) || ($object->oldcopy->typeid != $object->typeid)) + { + if (is_object($object->oldcopy) && (($object->oldcopy->email != $object->email) || ($object->oldcopy->typeid != $object->typeid))) // If email has changed or if list has changed we delete mailman subscription for old email + { + if ($object->oldcopy->del_to_abo() < 0) + { + if (! empty($object->oldcopy->error)) $this->error=$object->oldcopy->error; + $this->errors=$object->oldcopy->errors; + $return=-1; + } + else + { + $return=1; + } + } + // We add subscription if new email or new type (new type may means more mailing-list to subscribe) if ($object->add_to_abo() < 0) { if (! empty($object->error)) $this->error=$object->error; @@ -117,38 +150,6 @@ class InterfaceMailmanSpipsynchro extends DolibarrTriggers $return=1; } } - else - { - $return=0; - // Add user into some linked tools (mailman, spip, etc...) - if (($object->oldcopy->email != $object->email) || ($object->oldcopy->typeid != $object->typeid)) - { - if (is_object($object->oldcopy) && (($object->oldcopy->email != $object->email) || ($object->oldcopy->typeid != $object->typeid))) // If email has changed or if list has changed we delete mailman subscription for old email - { - if ($object->oldcopy->del_to_abo() < 0) - { - if (! empty($object->oldcopy->error)) $this->error=$object->oldcopy->error; - $this->errors=$object->oldcopy->errors; - $return=-1; - } - else - { - $return=1; - } - } - // We add subscription if new email or new type (new type may means more mailing-list to subscribe) - if ($object->add_to_abo() < 0) - { - if (! empty($object->error)) $this->error=$object->error; - $this->errors=$object->errors; - $return=-1; - } - else - { - $return=1; - } - } - } return $return; }