X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fmmlist.php;h=efd40679f210fc597918d079118f433c46083cae;hb=e92ecb8c24421ca1dd4f87ad7478d0d8277e1f60;hp=b6fe5b530de9d3e6eead769221eaef8802b69de3;hpb=787bb3d745141f2f85bd947ad7dd775d2c63f908;p=platal.git diff --git a/classes/mmlist.php b/classes/mmlist.php index b6fe5b5..efd4067 100644 --- a/classes/mmlist.php +++ b/classes/mmlist.php @@ -1,6 +1,6 @@ id(); + $pass = $user->password(); + } else { + $uid = $user; + } $dom = is_null($fqdn) ? $globals->mail->domain : $fqdn; $url = "http://$uid:$pass@{$globals->lists->rpchost}:{$globals->lists->rpcport}/$dom"; @@ -33,9 +40,25 @@ class MMList extends XmlrpcClient } } - public function __call($method, $args) - { - return parent::__call($method, $args); + /** + * Replace email in all lists where user has subscribe + * @param $old_email old email address used in mailing lits + * @param $new_email new email to use in place of the old one + * @return number of mailing lists changed + */ + public function replace_email_in_all($old_email, $new_email) { + $all_lists = $this->get_lists($old_email); + if (!$all_lists) { + return 0; + } + $changed_lists = 0; + foreach ($all_lists as $list) { + if ($list->sub) { + $this->replace_email($list->list, $old_email, $new_email); + $changed_lists++; + } + } + return $changed_lists; } }