X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fxnetnl.php;h=8d16008fa3c2ddb79cdb4bbda76c5103fa97380c;hb=63954a5cda90fd426e81494b12ec63454ba8e9d7;hp=a6fb168587eb8ca7b503997c5611eb381d41e6d5;hpb=f3ba9a54052e6841bd0edb15249936a1180adbae;p=platal.git diff --git a/modules/xnetnl.php b/modules/xnetnl.php index a6fb168..8d16008 100644 --- a/modules/xnetnl.php +++ b/modules/xnetnl.php @@ -26,9 +26,9 @@ class XnetNlModule extends NewsletterModule function handlers() { return array( - '%grp/nl' => $this->make_hook('nl', AUTH_MDP), - '%grp/nl/show' => $this->make_hook('nl_show', AUTH_MDP), - '%grp/nl/search' => $this->make_hook('nl_search', AUTH_MDP), + '%grp/nl' => $this->make_hook('nl', AUTH_MDP, 'user'), + '%grp/nl/show' => $this->make_hook('nl_show', AUTH_MDP, 'user'), + '%grp/nl/search' => $this->make_hook('nl_search', AUTH_MDP, 'user'), '%grp/admin/nl' => $this->make_hook('admin_nl', AUTH_MDP, 'groupadmin'), '%grp/admin/nl/sync' => $this->make_hook('admin_nl_sync', AUTH_MDP, 'groupadmin'), '%grp/admin/nl/enable' => $this->make_hook('admin_nl_enable', AUTH_MDP, 'groupadmin'), @@ -57,16 +57,12 @@ class XnetNlModule extends NewsletterModule if (Env::has('add_users')) { S::assert_xsrf_token(); - XDB::execute('INSERT IGNORE INTO newsletter_ins (uid, nlid) - SELECT g.uid, n.id - FROM group_members AS g - INNER JOIN newsletters AS n ON (n.group_id = g.asso_id) - WHERE g.uid IN {?} AND g.asso_id = {?}', - array_keys(Env::v('add_users')), $globals->asso('id')); + $nl->bulkSubscribe(array_keys(Env::v('add_users'))); $page->trigSuccess('Ajouts réalisés avec succès.'); } + // TODO(x2006barrois): remove raw SQL query. $uids = XDB::fetchColumn('SELECT DISTINCT(g.uid) FROM group_members AS g WHERE g.asso_id = {?} AND NOT EXISTS (SELECT ni.*