X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fadmin.php;h=206fe727175372f34351539aca79b3aa7a8a7eac;hb=2af95f6f349a10ea8814b5d4a95bb571d649357a;hp=9eb2a64000e46e7f016afae39a58015bfac2b77f;hpb=842706532d5214d69a31086d78de90fff35d8153;p=platal.git diff --git a/modules/admin.php b/modules/admin.php index 9eb2a64..206fe72 100644 --- a/modules/admin.php +++ b/modules/admin.php @@ -27,6 +27,7 @@ class AdminModule extends PLModule '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'), @@ -459,7 +460,7 @@ class AdminModule extends PLModule break; case "clean_fwd": if (!empty($val)) { - $redirect->cleanErrors($val); + $redirect->clean_errors($val); } break; case "add_alias": @@ -559,7 +560,7 @@ class AdminModule extends PLModule $mailer->assign('old', $old_fields); $mailer->assign('new', $new_fields); $mailer->send(); - + // update number of subscribers (perms or deceased may have changed) update_NbIns(); @@ -586,7 +587,7 @@ class AdminModule extends PLModule if ($globals->mailstorage->googleapps_domain && Env::v('newpass_clair') != "********") { require_once 'googleapps.inc.php'; $account = new GoogleAppsAccount($mr['user_id'], $mr['forlife']); - if ($account->g_status == 'active' && $account->sync_password) { + if ($account->active() && $account->sync_password) { $account->set_password($pass_encrypted); } } @@ -609,9 +610,24 @@ class AdminModule extends PLModule $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; } } @@ -640,6 +656,13 @@ class AdminModule extends PLModule } $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); } } @@ -813,6 +836,21 @@ class AdminModule extends PLModule $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'); @@ -921,6 +959,7 @@ class AdminModule extends PLModule $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');