From: Florent Bruneau Date: Mon, 16 Jun 2008 15:14:36 +0000 (+0200) Subject: Improves Banana profile form behavious and use FlagSet to store the flags. X-Git-Tag: core/1.0.0~99 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=748b472c3d72eda244edb80efeae2fffbab27d1f;p=platal.git Improves Banana profile form behavious and use FlagSet to store the flags. Signed-off-by: Florent Bruneau --- diff --git a/include/banana/forum.inc.php b/include/banana/forum.inc.php index 394ae99..89fa0c9 100644 --- a/include/banana/forum.inc.php +++ b/include/banana/forum.inc.php @@ -176,48 +176,51 @@ class ForumsBanana extends Banana { global $page, $globals; - if (!(Post::has('action') && Post::has('banananame') && Post::has('bananasig') - && Post::has('bananadisplay') && Post::has('bananamail') - && Post::has('bananaupdate') && Post::v('action')=="Enregistrer" )) - { - $req = XDB::query(" - SELECT nom, mail, sig, - FIND_IN_SET('threads', flags), - FIND_IN_SET('automaj', flags), - FIND_IN_SET('xface', flags) - FROM forums.profils - WHERE uid = {?}", S::v('uid')); - if (!(list($nom, $mail, $sig, $disp, $maj, $xface) = $req->fetchOneRow())) { - $nom = S::v('prenom').' '.S::v('nom'); - $mail = S::v('forlife').'@'.$globals->mail->domain; - $sig = $nom.' ('.S::v('promo').')'; - $disp = 0; - $maj = 0; - $xface = 0; - } - $page->assign('nom' , $nom); - $page->assign('mail', $mail); - $page->assign('sig', $sig); - $page->assign('disp', $disp); - $page->assign('maj', $maj); - $page->assign('xface', $xface); - } else { - $flags = array(); + if (Post::has('action') && Post::has('banananame') && Post::has('bananasig') + && Post::has('bananadisplay') && Post::has('bananamail') + && Post::has('bananaupdate') && Post::v('action')=="Enregistrer" ) { + $flags = new FlagSet(); if (Post::b('bananadisplay')) { - $flags[] = 'threads'; + $flags->addFlag('threads'); } if (Post::b('bananaupdate')) { - $flags[] = 'automaj'; + $flags->addFlag('automaj'); } if (Post::b('bananaxface')) { - $flags[] = 'xface'; + $flags->addFlag('xface'); } - XDB::execute("REPLACE INTO forums.profils (uid, sig, mail, nom, flags) + if (XDB::execute("REPLACE INTO forums.profils (uid, sig, mail, nom, flags) VALUES ({?}, {?}, {?}, {?}, {?})", S::v('uid'), Post::v('bananasig'), Post::v('bananamail'), Post::v('banananame'), - implode(',', $flags)); + $flags)) { + $page->trigSuccess("Ton profil a été enregistré avec succès."); + } else { + $page->trigError("Une erreur s'est produite lors de l'enregistrement de ton profil"); + } + } + + $req = XDB::query(" + SELECT nom, mail, sig, + FIND_IN_SET('threads', flags), + FIND_IN_SET('automaj', flags), + FIND_IN_SET('xface', flags) + FROM forums.profils + WHERE uid = {?}", S::v('uid')); + if (!(list($nom, $mail, $sig, $disp, $maj, $xface) = $req->fetchOneRow())) { + $nom = S::v('prenom').' '.S::v('nom'); + $mail = S::v('forlife').'@'.$globals->mail->domain; + $sig = $nom.' ('.S::v('promo').')'; + $disp = 0; + $maj = 0; + $xface = 0; } + $page->assign('nom' , $nom); + $page->assign('mail', $mail); + $page->assign('sig', $sig); + $page->assign('disp', $disp); + $page->assign('maj', $maj); + $page->assign('xface', $xface); return null; } } diff --git a/templates/banana/index.tpl b/templates/banana/index.tpl index f631429..0e811d5 100644 --- a/templates/banana/index.tpl +++ b/templates/banana/index.tpl @@ -24,7 +24,6 @@ {$banana|smarty:nodefaults} {else} -{if !$smarty.post.action}

Tu peux régler quelques paramètres qui apparaîtront sur les messages lorsque tu posteras sur les forums. Cela ne te permettra pas d'être anonyme, puisque @@ -82,11 +81,6 @@

-{else} -

- Ton profil est enregistré !!! -

-{/if} {/if} {if !$it_is_xnet}