X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fxnetgrp.php;h=1d2dba91647c0e30660a5eec6432e26227cc8458;hb=5841308dadbbf7df3427fe92ef4435f19105bc5d;hp=88547d89d705e01883097e40a9a6c2a9c90df14f;hpb=46395fb8f3c53339b0a6b2abdd6d30568b47a010;p=platal.git diff --git a/modules/xnetgrp.php b/modules/xnetgrp.php index 88547d8..1d2dba9 100644 --- a/modules/xnetgrp.php +++ b/modules/xnetgrp.php @@ -41,7 +41,7 @@ function get_infos($email) if ($res->numRows()) { $user = $res->fetchOneAssoc(); if ($user['origine'] == 'X') { - $res = XDB::query("SELECT nom, prenom, promo, FIND_IN_SET(flags, 'femme') AS sexe + $res = XDB::query("SELECT nom, prenom, promo, FIND_IN_SET('femme', flags) AS sexe FROM auth_user_md5 WHERE user_id = {?}", $user['uid']); $user = array_merge($user, $res->fetchOneAssoc()); @@ -55,7 +55,7 @@ function get_infos($email) CONCAT(b.alias, '@m4x.org') AS email, CONCAT(b.alias, '@polytechnique.org') AS email2, m.perms='admin' AS perms, m.origine, - FIND_IN_SET(u.flags, 'femme') AS sexe + FIND_IN_SET('femme', u.flags) AS sexe FROM auth_user_md5 AS u INNER JOIN aliases AS a ON ( u.user_id = a.id AND a.type != 'homonyme' ) INNER JOIN aliases AS b ON ( u.user_id = b.id AND b.type = 'a_vie' ) @@ -159,7 +159,7 @@ class XnetGrpModule extends PLModule FROM groupex.announces AS a INNER JOIN auth_user_md5 AS u USING(user_id) WHERE asso_id = {?} AND peremption >= CURRENT_DATE() - AND FIND_IN_SET(a.flags, 'public')", + AND FIND_IN_SET('public', u.flags)", $globals->asso('id')); } @@ -679,7 +679,7 @@ class XnetGrpModule extends PLModule FROM auth_user_md5 AS u INNER JOIN aliases AS a ON (u.user_id = a.id) WHERE a.alias={?}', $globals->asso('id'), $forlife); - pl_redirect("member/$email"); + pl_redirect("member/$forlife"); } else { $page->trig($email." n'est pas un alias polytechnique.org valide"); } @@ -957,7 +957,7 @@ class XnetGrpModule extends PLModule IF(u.nom_usage != '', u.nom_usage, u.nom) AS nom, u.prenom, u.promo FROM groupex.announces AS a INNER JOIN auth_user_md5 AS u USING(user_id) - WHERE FIND_IN_SET(a.flags, 'public') AND peremption >= NOW() AND a.asso_id = {?}", + WHERE FIND_IN_SET('public', a.flags) AND peremption >= NOW() AND a.asso_id = {?}", $globals->asso('id')); } $page->assign('asso', $globals->asso()); @@ -1015,17 +1015,28 @@ class XnetGrpModule extends PLModule $promo_min = ($art['public'] ? 0 : $art['promo_min']); $promo_max = ($art['public'] ? 0 : $art['promo_max']); if (is_null($aid)) { + $fulltext = $art['texte']; + if (!empty($art['contact_html'])) { + $fulltext .= "\n\n'''Contacts :'''\\\\\n" . $art['contact_html']; + } + $post = null; + if ($globals->asso('forum')) { + require_once 'banana/forum.inc.php'; + $banana = new ForumsBanana(S::v('forlife')); + $post = $banana->post($globals->asso('forum'), null, + $art['titre'], MiniWiki::wikiToText($fulltext, false, 0, 80)); + } XDB::query("INSERT INTO groupex.announces (user_id, asso_id, create_date, titre, texte, contacts, - peremption, promo_min, promo_max, flags) - VALUES ({?}, {?}, NOW(), {?}, {?}, {?}, {?}, {?}, {?}, {?})", + peremption, promo_min, promo_max, flags, post_id) + VALUES ({?}, {?}, NOW(), {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})", S::i('uid'), $globals->asso('id'), $art['titre'], $art['texte'], $art['contact_html'], - $art['peremption'], $promo_min, $promo_max, $art['public'] ? 'public' : ''); + $art['peremption'], $promo_min, $promo_max, $art['public'] ? 'public' : '', $post); $aid = XDB::insertId(); if ($art['xorg']) { require_once('validations.inc.php'); $article = new EvtReq("[{$globals->asso('nom')}] " . $art['titre'], - MiniWiki::WikiToHTML($art['texte'] . (!empty($art['contact_html']) ? "\n\nContacts :\n" . $art['contact_html'] : "")), + MiniWiki::WikiToHTML($fulltext), $art['promo_min'], $art['promo_max'], $art['peremption'], "", S::v('uid')); $article->submit(); $page->trig("L'affichage sur la page d'accueil de Polytechnique.org est en attente de validation"); @@ -1053,7 +1064,7 @@ class XnetGrpModule extends PLModule if (empty($art) && !is_null($aid)) { $res = XDB::query("SELECT a.*, u.nom, u.prenom, u.promo, l.alias AS forlife, - FIND_IN_SET(a.flags, 'public') AS public + FIND_IN_SET('public', a.flags) AS public FROM groupex.announces AS a INNER JOIN auth_user_md5 AS u USING(user_id) INNER JOIN aliases AS l ON (l.id = u.user_id AND l.type = 'a_vie') @@ -1087,14 +1098,14 @@ class XnetGrpModule extends PLModule $page->changeTpl('xnetgrp/announce-admin.tpl'); if (Env::has('del')) { - XDB::execute("DELETE FROM groupex.announces - WHERE id = {?} AND asso_id = {?}", + XDB::execute("DELETE FROM groupex.announces + WHERE id = {?} AND asso_id = {?}", Env::i('del'), $globals->asso('id')); } - $res = XDB::iterator("SELECT a.id, a.titre, a.peremption, a.peremption < CURRENT_DATE() AS perime - FROM groupex.announces AS a - WHERE a.asso_id = {?} - ORDER BY a.peremption DESC", + $res = XDB::iterator("SELECT a.id, a.titre, a.peremption, a.peremption < CURRENT_DATE() AS perime + FROM groupex.announces AS a + WHERE a.asso_id = {?} + ORDER BY a.peremption DESC", $globals->asso('id')); $page->assign('articles', $res); }