X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fxnet.php;h=2c048356d4220fc7673fe24fe2382783a310fab8;hb=67e06366aa6d020c4e1ed3bfcb36cb877eae1829;hp=195d4bb450b9f3df211c0a37cedd0315637c67f3;hpb=f9bebf66a51f0920e55eb6d2c60c88e2eafbc598;p=platal.git diff --git a/modules/xnet.php b/modules/xnet.php index 195d4bb..2c04835 100644 --- a/modules/xnet.php +++ b/modules/xnet.php @@ -24,15 +24,15 @@ class XnetModule extends PLModule function handlers() { return array( - 'index' => $this->make_hook('index', AUTH_PUBLIC), - 'exit' => $this->make_hook('exit', AUTH_PUBLIC), - - 'admin' => $this->make_hook('admin', AUTH_MDP, 'admin'), - 'groups' => $this->make_hook('groups', AUTH_PUBLIC), - 'groupes.php' => $this->make_hook('groups2', AUTH_PUBLIC), - 'plan' => $this->make_hook('plan', AUTH_PUBLIC), - 'photo' => $this->make_hook('photo', AUTH_MDP), - 'autologin' => $this->make_hook('autologin', AUTH_MDP), + 'index' => $this->make_hook('index', AUTH_PUBLIC), + 'exit' => $this->make_hook('exit', AUTH_PUBLIC), + + 'admin' => $this->make_hook('admin', AUTH_MDP, 'admin'), + 'groups' => $this->make_hook('groups', AUTH_PUBLIC), + 'groupes.php' => $this->make_hook('groups2', AUTH_PUBLIC), + 'plan' => $this->make_hook('plan', AUTH_PUBLIC), + 'photo' => $this->make_hook('photo', AUTH_MDP), + 'autologin' => $this->make_hook('autologin', AUTH_MDP), ); } @@ -114,12 +114,24 @@ class XnetModule extends PLModule if (Post::has('diminutif')) { S::assert_xsrf_token(); - XDB::query('INSERT INTO groupex.asso (id,diminutif) - VALUES(NULL,{?})', Post::v('diminutif')); - pl_redirect('../'.Post::v('diminutif').'/edit'); + $res = XDB::query('SELECT COUNT(*) + FROM groupex.asso + WHERE diminutif = {?}', + Post::v('diminutif')); + + if ($res->fetchOneCell() == 0) { + XDB::execute('INSERT INTO groupex.asso (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 groupex.asso ORDER by NOM'); + $res = XDB::query('SELECT nom, diminutif + FROM groupex.asso + ORDER BY nom'); $page->assign('assos', $res->fetchAllAssoc()); }