'phpinfo' => $this->make_hook('phpinfo', AUTH_MDP, 'admin'),
'admin' => $this->make_hook('default', AUTH_MDP, 'admin'),
'admin/ax-xorg' => $this->make_hook('ax_xorg', AUTH_MDP, 'admin'),
+ 'admin/dead-but-active' => $this->make_hook('dead_but_active', AUTH_MDP, 'admin'),
'admin/deaths' => $this->make_hook('deaths', AUTH_MDP, 'admin'),
'admin/downtime' => $this->make_hook('downtime', AUTH_MDP, 'admin'),
'admin/homonyms' => $this->make_hook('homonyms', AUTH_MDP, 'admin'),
function handler_user(&$page, $login = false)
{
+ global $globals;
$page->changeTpl('admin/utilisateurs.tpl');
$page->assign('xorg_title','Polytechnique.org - Administration - Edit/Su/Log');
require_once("emails.inc.php");
LEFT JOIN aliases AS a ON (a.id = u.user_id AND type= 'a_vie')
WHERE u.user_id = {?}", $mr['user_id']);
$mr = $r->fetchOneAssoc();
+
+ // If GoogleApps is enabled, the user did choose to use synchronized passwords,
+ // and the password was changed, updates the Google Apps password as well.
+ if ($globals->mailstorage->googleapps_domain && Env::v('newpass_clair') != "********") {
+ require_once 'googleapps.inc.php';
+ $account = new GoogleAppsAccount($mr['user_id'], $mr['forlife']);
+ if ($account->active() && $account->sync_password) {
+ $account->set_password($pass_encrypted);
+ }
+ }
+
+ // If GoogleApps is enabled, and the user is now disabled, disables the Google Apps account as well.
+ if ($globals->mailstorage->googleapps_domain &&
+ $new_fields['perms'] == 'disabled' &&
+ $new_fields['perms'] != $old_fields['perms']) {
+ require_once 'googleapps.inc.php';
+ $account = new GoogleAppsAccount($mr['user_id'], $mr['forlife']);
+ $account->suspend();
+ }
break;
// DELETE FROM auth_user_md5
$page->trig("'{$mr['user_id']}' a été désinscrit !");
$mailer = new PlMailer("admin/useredit.mail.tpl");
$mailer->assign("user", S::v('forlife'));
- $mailer->assign("query", "\nUtilisateur $login désinscrit");
+ $mailer->assign("deletion", true);
$mailer->send();
break;
+
+ case "b_edit":
+ XDB::execute("DELETE FROM forums.innd WHERE uid = {?}", $mr['user_id']);
+ if (Env::v('write_perm') != "" || Env::v('read_perm') != "" || Env::v('commentaire') != "" ) {
+ XDB::execute("INSERT INTO forums.innd
+ SET ipmin = '0',
+ ipmax = '4294967295',
+ write_perm = {?},
+ read_perm = {?},
+ comment = {?},
+ priority = '200',
+ uid = {?}",
+ Env::v('write_perm'), Env::v('read_perm'), Env::v('comment'), $mr['user_id']);
+ }
+ break;
}
}
}
$page->assign('mr',$mr);
+
+ // Bans forums
+ $res = XDB::query("SELECT write_perm, read_perm, comment
+ FROM forums.innd
+ WHERE uid = {?}", $mr['user_id']);
+ $bans = $res->fetchOneAssoc();
+ $page->assign('bans', $bans);
}
}
$page->assign('decedes', $res);
}
+ function handler_dead_but_active(&$page) {
+ $page->changeTpl('admin/dead_but_active.tpl');
+ $page->assign('xorg_title','Polytechnique.org - Administration - Décédés');
+
+ $res = XDB::iterator(
+ "SELECT u.promo, u.nom, u.prenom, u.deces, u.matricule_ax, a.alias, DATE(MAX(s.start)) AS last
+ FROM auth_user_md5 AS u
+ LEFT JOIN aliases AS a ON (a.id = u.user_id AND a.type = 'a_vie')
+ LEFT JOIN logger.sessions AS s ON (s.uid = u.user_id AND suid = 0)
+ WHERE perms IN ('admin', 'user') AND deces <> 0
+ GROUP BY u.user_id
+ ORDER BY u.promo, u.nom");
+ $page->assign('dead', $res);
+ }
+
function handler_synchro_ax(&$page, $user = null, $action = null) {
$page->changeTpl('admin/synchro_ax.tpl');
$page->assign('xorg_title','Polytechnique.org - Administration - Synchro AX');
$table_editor->describe('ext','extension du screenshot',false);
$table_editor->apply($page, $action, $id);
}
+
function handler_postfix_blacklist(&$page, $action = 'list', $id = null) {
$page->assign('xorg_title','Polytechnique.org - Administration - Postfix : Blacklist');
$page->assign('title', 'Blacklist de postfix');