<?php
/***************************************************************************
- * Copyright (C) 2003-2008 Polytechnique.org *
+ * Copyright (C) 2003-2009 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
'admin/wiki' => $this->make_hook('wiki', AUTH_MDP, 'admin'),
'admin/ipwatch' => $this->make_hook('ipwatch', AUTH_MDP, 'admin'),
'admin/icons' => $this->make_hook('icons', AUTH_MDP, 'admin'),
+ 'admin/accounts' => $this->make_hook('accounts', AUTH_MDP, 'admin'),
);
}
// however suits our needs.
if ($perms == 'disabled' && $old_fields['perms'] != 'disabled') {
kill_sessions();
+
+ // Also serve a reminder to the admin: disabling an account
+ // does not deactivate email forwarding.
+ $page->trigWarning("N'oubliez pas, le cas échéant, de désactiver les redirections et le compte GoogleApps de l'utilisateur.");
}
// Updates the user profile with the new values.
$account->set_password($pass_encrypted);
}
}
-
- // If the update did disable the user account, disables
- // the Google Apps account as well.
- if ($new_fields['perms'] == 'disabled' && $new_fields['perms'] != $old_fields['perms']) {
- require_once 'googleapps.inc.php';
- $account = new GoogleAppsAccount($user);
- $account->suspend();
- }
}
// User re-registration.
case "u_kill":
+ require_once('user.func.inc.php');
user_clear_all_subs($user->id());
$globals->updateNbIns();
$page->trigSuccess("'" . $user->id() . "' a été désinscrit !");
"SELECT alias
FROM virtual
INNER JOIN virtual_redirect USING (vid)
- WHERE type = 'user' AND redirect LIKE CONCAT({?}, '@%')", $user->id()));
+ WHERE type = 'user' AND (redirect = {?} OR redirect = {?})",
+ $user->forlifeEmail(),
+ // TODO: remove this über-ugly hack. The issue is that you need
+ // to remove all @m4x.org addresses in virtual_redirect first.
+ $user->login() . '@' . $globals->mail->domain2));
$page->assign('aliases', XDB::iterator(
"SELECT alias, type='a_vie' AS for_life,FIND_IN_SET('bestalias',flags) AS best,expire
sort($icons);
$page->assign('icons', $icons);
}
+
+ function handler_accounts(&$page)
+ {
+ $page->changeTpl('admin/accounts.tpl');
+ $page->assign('disabled', XDB::iterator('SELECT u.nom, u.prenom, u.promo, u.comment, u.hruid
+ FROM auth_user_md5 AS u
+ WHERE perms = \'disabled\'
+ ORDER BY nom, prenom'));
+ $page->assign('admins', XDB::iterator('SELECT u.nom, u.prenom, u.promo, u.hruid
+ FROM auth_user_md5 AS u
+ WHERE perms = \'admin\'
+ ORDER BY nom, prenom'));
+ }
}
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: