function handlers()
{
return array(
- '%grp' => $this->make_hook('index', AUTH_PUBLIC),
- '%grp/asso.php' => $this->make_hook('index', AUTH_PUBLIC),
- '%grp/logo' => $this->make_hook('logo', AUTH_PUBLIC),
- '%grp/edit' => $this->make_hook('edit', AUTH_MDP),
- '%grp/mail' => $this->make_hook('mail', AUTH_MDP),
- '%grp/annuaire' => $this->make_hook('annuaire', AUTH_MDP),
- '%grp/subscribe' => $this->make_hook('subscribe', AUTH_MDP),
- '%grp/paiement' => $this->make_hook('paiement', AUTH_MDP),
+ '%grp' => $this->make_hook('index', AUTH_PUBLIC),
+ '%grp/asso.php' => $this->make_hook('index', AUTH_PUBLIC),
+ '%grp/logo' => $this->make_hook('logo', AUTH_PUBLIC),
+ '%grp/edit' => $this->make_hook('edit', AUTH_MDP),
+ '%grp/mail' => $this->make_hook('mail', AUTH_MDP),
+ '%grp/annuaire' => $this->make_hook('annuaire', AUTH_MDP),
+ '%grp/annuaire/vcard' => $this->make_hook('vcard', AUTH_MDP),
+ '%grp/subscribe' => $this->make_hook('subscribe', AUTH_MDP),
+ '%grp/paiement' => $this->make_hook('paiement', AUTH_MDP),
'%grp/admin/annuaire'
=> $this->make_hook('admin_annuaire', AUTH_MDP),
$page->assign('admin', may_update());
+ $sort = Env::v('order');
switch (Env::v('order')) {
case 'promo' : $group = 'promo'; $tri = 'promo_o DESC, nom, prenom'; break;
case 'promo_inv': $group = 'promo'; $tri = 'promo_o, nom, prenom'; break;
case 'alpha_inv': $group = 'initiale'; $tri = 'nom DESC, prenom DESC, promo'; break;
- default : $group = 'initiale'; $tri = 'nom, prenom, promo';
+ default : $group = 'initiale'; $tri = 'nom, prenom, promo'; $sort = 'alpha';
}
+ $page->assign('sort', $sort);
if ($group == 'initiale')
$res = XDB::iterRow(
$page->assign('ann', $ann);
}
+ function handler_vcard(&$page)
+ {
+ global $globals;
+
+ if (($globals->asso('pub') == 'public' && is_member()) || may_update()) {
+ $res = XDB::query('SELECT uid
+ FROM groupex.membres
+ WHERE asso_id = {?}', $globals->asso('id'));
+ require_once('vcard.inc.php');
+ $vcard = new VCard($res->fetchColumn(), 'Membre du groupe ' . $globals->asso('nom'));
+ $vcard->do_page($page);
+ } else {
+ return PL_NOTALLOWED;
+ }
+ }
+
function handler_subscribe(&$page, $u = null)
{
global $globals;
$u, $globals->asso('id'));
$n = $res->fetchOneCell();
if ($n) {
- $page->trig("$prenom $nom est déjà membre du groupe !");
+ $page->kill("$prenom $nom est déjà membre du groupe !");
return;
}
elseif (Env::has('accept'))
{
XDB::execute("INSERT INTO groupex.membres
- VALUES ({?}, {?}, 'membre', 'X', NULL, NULL, NULL, NULL)",
+ VALUES ({?}, {?}, 'membre', 'X', NULL, NULL, NULL, NULL, NULL)",
$globals->asso('id'), $uid);
require_once 'diogenes/diogenes.hermes.inc.php';
$mailer = new HermesMailer();