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/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'),
- '%grp/admin/nl/edit' => $this->make_hook('admin_nl_edit', AUTH_MDP, 'groupadmin'),
- '%grp/admin/nl/edit/cancel' => $this->make_hook('admin_nl_cancel', AUTH_MDP, 'groupadmin'),
- '%grp/admin/nl/edit/valid' => $this->make_hook('admin_nl_valid', AUTH_MDP, 'groupadmin'),
- '%grp/admin/nl/categories' => $this->make_hook('admin_nl_cat', AUTH_MDP, 'groupadmin'),
+ '%grp/nl' => $this->make_hook('nl', AUTH_PASSWD, 'groups'),
+ '%grp/nl/show' => $this->make_hook('nl_show', AUTH_PASSWD, 'groups'),
+ '%grp/nl/search' => $this->make_hook('nl_search', AUTH_PASSWD, 'groups'),
+ '%grp/admin/nl' => $this->make_hook('admin_nl', AUTH_PASSWD, 'groupadmin'),
+ '%grp/admin/nl/sync' => $this->make_hook('admin_nl_sync', AUTH_PASSWD, 'groupadmin'),
+ '%grp/admin/nl/enable' => $this->make_hook('admin_nl_enable', AUTH_PASSWD, 'groupadmin'),
+ '%grp/admin/nl/edit' => $this->make_hook('admin_nl_edit', AUTH_PASSWD, 'groupadmin'),
+ '%grp/admin/nl/edit/cancel' => $this->make_hook('admin_nl_cancel', AUTH_PASSWD, 'groupadmin'),
+ '%grp/admin/nl/edit/delete' => $this->make_hook('admin_nl_delete', AUTH_PASSWD, 'groupadmin'),
+ '%grp/admin/nl/edit/valid' => $this->make_hook('admin_nl_valid', AUTH_PASSWD, 'groupadmin'),
+ '%grp/admin/nl/categories' => $this->make_hook('admin_nl_cat', AUTH_PASSWD, 'groupadmin'),
+ '%grp/stat' => $this->make_hook('stat_nl', AUTH_PASSWD, 'groupadmin')
);
}
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.*