X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fforums.php;h=c34b22cb2e76d2cee3effa5a263c7f4dee6674e8;hb=bb88d138d64cbab3b4a1859a531df0c4479d051b;hp=4e5d009860aefbc56f7d6f33f15eb3da3a6cd934;hpb=edfdbe40a2eb4cd9b576214613431b32975baf84;p=platal.git diff --git a/modules/forums.php b/modules/forums.php index 4e5d009..c34b22c 100644 --- a/modules/forums.php +++ b/modules/forums.php @@ -1,6 +1,6 @@ $this->make_hook('banana', AUTH_COOKIE), - 'banana/rss' => $this->make_hook('rss', AUTH_PUBLIC, 'user', NO_HTTPS), - 'admin/forums' => $this->make_hook('forums_bans', AUTH_MDP, 'admin'), + 'banana' => $this->make_hook('banana', AUTH_COOKIE), + 'banana/rss' => $this->make_hook('rss', AUTH_PUBLIC, 'user', NO_HTTPS), + 'admin/forums' => $this->make_hook('forums_bans', AUTH_MDP, 'admin'), ); } - function on_subscribe($forlife, $uid, $promo, $password) - { - $cible = array('xorg.general', 'xorg.pa.divers', 'xorg.pa.logements'); - $p_for = "xorg.promo.x$promo"; - - // récupération de l'id du forum promo - $res = XDB::query("SELECT fid FROM forums.list WHERE nom={?}", $p_for); - if ($res->numRows()) { - $cible[] = $p_for; - } else { // pas de forum promo, il faut le créer - $res = XDB::query("SELECT SUM(perms IN ('admin','user') AND deces=0),COUNT(*) - FROM auth_user_md5 WHERE promo={?}", $promo); - list($effau, $effid) = $res->fetchOneRow(); - if (5*$effau>$effid) { // + de 20% d'inscrits - $mymail = new PlMailer('admin/forums-promo.mail.tpl'); - $mymail->assign('promo', $promo); - $mymail->send(); - } - } - - while (list ($key, $val) = each ($cible)) { - XDB::execute("INSERT INTO forums.abos (fid,uid) - SELECT fid,{?} FROM forums.list WHERE nom={?}", $uid, $val); - } - } - function handler_banana(&$page, $group = null, $action = null, $artid = null) { $page->changeTpl('banana/index.tpl'); - $page->setTitle('Polytechnique.org - Forums & PA'); + $page->setTitle('Forums & PA'); $get = Array(); if (Post::has('updateall')) { @@ -74,32 +48,26 @@ class ForumsModule extends PLModule { if (is_null($file)) { if (is_null($hash)) { - exit; + return PL_FORBIDDEN; } $this->handler_rss($page, null, $group, $alias, $hash); } - require_once('rss.inc.php'); - $uid = init_rss(null, $alias, $hash); - if (!$uid) { - exit; + $user = Platal::session()->tokenAuth($alias, $hash); + if (is_null($user)) { + return PL_FORBIDDEN; } - $res = XDB::query("SELECT id AS uid, alias AS forlife - FROM aliases - WHERE type = 'a_vie' AND id = {?}", $uid); - $row = $res->fetchOneAssoc(); - $_SESSION = array_merge($row, $_SESSION); require_once 'banana/forum.inc.php'; - $banana = new ForumsBanana(S::v('forlife'), array('group' => $group, 'action' => 'rss2')); + $banana = new ForumsBanana($user, array('group' => $group, 'action' => 'rss2')); $banana->run(); exit; } function handler_forums_bans(&$page, $action = 'list', $id = null) { - $page->setTitle('Polytechnique.org - Administration - Bannissements des forums'); + $page->setTitle('Administration - Bannissements des forums'); $page->assign('title', 'Gestion des mises au ban'); - $table_editor = new PLTableEditor('admin/forums','forums.innd','id_innd'); + $table_editor = new PLTableEditor('admin/forums','forum_innd','id_innd'); $table_editor->add_sort_field('priority', true, true); $table_editor->describe('read_perm','lecture',true); $table_editor->describe('write_perm','écriture',true); @@ -107,13 +75,12 @@ class ForumsModule extends PLModule $table_editor->describe('comment','commentaire',true); $table_editor->apply($page, $action, $id); $page->changeTpl('forums/admin.tpl'); - $page->addJsLink('jquery.js'); } static function run_banana(&$page, $params = null) { $page->changeTpl('banana/index.tpl'); - $page->setTitle('Polytechnique.org - Forums & PA'); + $page->setTitle('Forums & PA'); require_once 'banana/forum.inc.php'; run_banana($page, 'ForumsBanana', $params);