X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fbanana.php;h=50c712199b501ed7ac92ae9a1d8309e86cc46641;hb=4fa7cd36a31629ea7d20d2f8b27d015538ce398d;hp=556ac853cda554ad042a7d5abeff995aaadec467;hpb=b71f7275d0abe31614da74e05524ac08033bbe18;p=platal.git diff --git a/modules/banana.php b/modules/banana.php index 556ac85..50c7121 100644 --- a/modules/banana.php +++ b/modules/banana.php @@ -1,6 +1,6 @@ $this->make_hook('profile', AUTH_MDP), // 'banana/subscribe' => $this->make_hook('subscription', AUTH_COOKIE), 'banana/rss' => $this->make_hook('rss', AUTH_PUBLIC, 'user', NO_HTTPS), + 'admin/forums' => $this->make_hook('forums_bans', AUTH_MDP, 'admin'), + 'forums/bans/service' => $this->make_hook('forums_bans_service', AUTH_PUBLIC) ); } @@ -146,6 +148,40 @@ class BananaModule extends PLModule exit; } + function handler_forums_bans(&$page, $action = 'list', $id = null) + { + $page->assign('xorg_title','Polytechnique.org - Administration - Bannissements des forums'); + $page->assign('title', 'Gestion des mises au ban'); + $table_editor = new PLTableEditor('admin/forums','forums.innd','id_innd'); + $table_editor->describe('ipmin','min plage IP',true); + $table_editor->describe('ipmax','max plage IP',true); + $table_editor->describe('uid','utilisateur',true); + $table_editor->describe('write_perm','perm. poster',true); + $table_editor->describe('read_perm','perm. lire',true); + $table_editor->describe('priority','priorite',true); + $table_editor->describe('comment','commentaire',true); + $table_editor->apply($page, $action, $id); + } + + function handler_forums_bans_service(&$page, $action = 'list', $id = null) + { + global $globals; + + $ips = array_flip(explode(' ', $globals->banana->bans_authorized_ips)); + + if ($ips && isset($ips[$_SERVER['REMOTE_ADDR']])) { + + $res = XDB::query("SELECT priority, read_perm, write_perm, comment + FROM forums.innd AS i + INNER JOIN x4dat.aliases AS a ON ( a.id = i.uid AND a.type='a_vie' ) + INNER JOIN x4dat.aliases AS b ON ( b.id = a.id AND b.type != 'homonyme' ) + WHERE b.alias = '".addslashes(Env::v('forlife'))."'"); + $ban = $res->fetchOneAssoc(); + echo "$res['priority']\n$res['read_perm']\n$res['write_perm']\n$res['comment']\n"; + } + exit(); + } + static function run_banana(&$page, $params = null) { $page->changeTpl('banana/index.tpl');