next()) { if (array_shift($subs) == "$sub@$domain") { MailingList::subscribeTo($sub, $domain); } } $this->UpdateOnYes(); pl_redirect('lists'); break; case 'dismiss': $this->UpdateOnDismiss(); break; case 'no': $this->UpdateOnNo(); break; } } public function Prepare($page) { parent::Prepare($page); $res = XDB::iterRow("SELECT sub, domain FROM register_subs WHERE uid = {?} AND type = 'list' ORDER BY domain", S::i('uid')); $lists = array(); while (list($sub, $domain) = $res->next()) { $mlist = new MailingList($sub, $domain); list($details, ) = $mlist->getMembers(); $lists["$sub@$domain"] = $details; } $page->assign_by_ref('lists', $lists); } public function template() { return 'reminder/ml.tpl'; } public function title() { return "Inscription aux listes de diffusion"; } public static function IsCandidate(User $user, $candidate) { $res = XDB::query("SELECT COUNT(*) AS lists FROM register_subs WHERE uid = {?} AND type = 'list'", $user->id()); $mlCount = $res->fetchOneCell(); if (!$mlCount) { Reminder::MarkCandidateAsAccepted($user->id(), $candidate); } return ($mlCount > 0); } } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>