Fixes errors with ML and alias updates.
authorStéphane Jacob <sj@m4x.org>
Tue, 29 Nov 2011 12:43:19 +0000 (13:43 +0100)
committerStéphane Jacob <sj@m4x.org>
Tue, 29 Nov 2011 12:43:19 +0000 (13:43 +0100)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
include/emails.inc.php
modules/xnetgrp.php

index 2cf14d8..4da4657 100644 (file)
@@ -816,9 +816,10 @@ class Redirect
         XDB::execute('REPLACE INTO  email_redirect_account (uid, redirect, flags, action)
                             VALUES  ({?}, {?}, \'active\', {?})',
                      $this->user->id(), $email, $filter);
+        // Replace this email by forlife email, if present in aliases and MLs.
         $listClient = new MMList(S::user());
-        $listClient->change_user_email($this->user->forlifeEmail(), $new_email);
-        update_alias_user($this->user->forlifeEmail(), $new_email);
+        $listClient->change_user_email($email, $this->user->forlifeEmail());
+        update_alias_user($email, $this->user->forlifeEmail());
         if ($logger = S::v('log', null)) { // may be absent --> step4.php
             S::logger()->log('email_add', $email . ($this->user->id() != S::v('uid') ? " (admin on {$this->user->login()})" : ""));
         }
index 47f4a8d..acf1b08 100644 (file)
@@ -1273,9 +1273,12 @@ class XnetGrpModule extends PLModule
                                SET  email = {?}
                              WHERE  uid = {?}',
                            $new_email, $user->id());
-                $listClient = new MMList(S::user());
-                $listClient->change_user_email($user->forlifeEmail(), $new_email);
-                update_alias_user($user->forlifeEmail(), $new_email);
+                if ($user->forlifeEmail()) {
+                    $listClient = new MMList(S::user());
+                    $listClient->change_user_email($user->forlifeEmail(), $new_email);
+                    update_alias_user($user->forlifeEmail(), $new_email);
+                }
+                $user = User::getWithUID($user->id());
             }
             if (XDB::affectedRows()) {
                 $page->trigSuccess('Données de l\'utilisateur mises à jour.');