X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fmmlist.php;h=a94c722160326151b54d9352f9e1a52f27390f1e;hb=f23d33e1b114e9032b4b966baebdeb14b4215313;hp=b6fe5b530de9d3e6eead769221eaef8802b69de3;hpb=eaf30d86cc99df2414cf4f171a9b0f11b0561e3b;p=platal.git diff --git a/classes/mmlist.php b/classes/mmlist.php index b6fe5b5..a94c722 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; } }