+ $page->changeTpl('xnet/admin.tpl');
+
+ if (Get::has('del')) {
+ $res = XDB::query('SELECT id, nom, mail_domain
+ FROM groups WHERE diminutif={?}',
+ Get::v('del'));
+ list($id, $nom, $domain) = $res->fetchOneRow();
+ $page->assign('nom', $nom);
+ if ($id && Post::has('del')) {
+ S::assert_xsrf_token();
+
+ XDB::query('DELETE FROM group_members WHERE asso_id={?}', $id);
+ $page->trigSuccess('membres supprimés');
+
+ if ($domain) {
+ XDB::query('DELETE FROM virtual_domains WHERE domain={?}', $domain);
+ XDB::query('DELETE FROM virtual, virtual_redirect
+ USING virtual INNER JOIN virtual_redirect USING (vid)
+ WHERE alias LIKE {?}', '%@'.$domain);
+ $page->trigSuccess('suppression des alias mails');
+
+ $mmlist = new MMList(S::v('uid'), S::v('password'), $domain);
+ if ($listes = $mmlist->get_lists()) {
+ foreach ($listes as $l) {
+ $mmlist->delete_list($l['list'], true);
+ }
+ $page->trigSuccess('mail lists surpprimées');
+ }
+ }
+
+ XDB::query('DELETE FROM groups WHERE id={?}', $id);
+ $page->trigSuccess("Groupe $nom supprimé");
+ Get::kill('del');
+ }
+ if (!$id) {
+ Get::kill('del');
+ }
+ }
+
+ if (Post::has('diminutif') && Post::v('diminutif') != "") {
+ S::assert_xsrf_token();
+
+ $res = XDB::query('SELECT COUNT(*)
+ FROM groups
+ WHERE diminutif = {?}',
+ Post::v('diminutif'));
+
+ if ($res->fetchOneCell() == 0) {
+ XDB::execute('INSERT INTO groups (id, diminutif)
+ VALUES (NULL, {?})',
+ Post::v('diminutif'));
+ pl_redirect(Post::v('diminutif') . '/edit');
+ } else {
+ $page->trigError('Le diminutif demandé est déjà pris.');
+ }
+ }
+
+ $res = XDB::query('SELECT nom, diminutif
+ FROM groups
+ ORDER BY nom');
+ $page->assign('assos', $res->fetchAllAssoc());