From 20934085ed6e05fc18aa83e3a91259e638128f53 Mon Sep 17 00:00:00 2001 From: x2003bruneau Date: Tue, 13 Mar 2007 16:49:03 +0000 Subject: [PATCH] #637: Check if the payment message is valid before submission git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1567 839d8a87-29fc-0310-9880-83ba4fa771e5 --- ChangeLog | 3 +++ classes/session.php | 5 ++++- include/validations/paiements.inc.php | 18 ++++++++++++++++++ modules/xnetevents.php | 10 ++++++++-- templates/xnetevents/edit.tpl | 14 +++++++++----- 5 files changed, 42 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 08c2046..0051eae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -54,6 +54,9 @@ Bug/Wish: * Xnet: - #639: Fix the number of pages -FRU + * XnetEvents: + - #637: Check payment before submission -FRU + ================================================================================ VERSION 0.9.13 30 01 2007 diff --git a/classes/session.php b/classes/session.php index a06662b..c52e239 100644 --- a/classes/session.php +++ b/classes/session.php @@ -26,7 +26,10 @@ class Session @session_start(); if (empty($_SESSION['challenge'])) { $_SESSION['challenge'] = sha1(uniqid(rand(), true)); - } + } + if (!isset($_SESSION['perms'])) { + $_SESSION['perms'] = new FlagSet(); + } } public static function destroy() diff --git a/include/validations/paiements.inc.php b/include/validations/paiements.inc.php index 9b3a634..7e7f96b 100644 --- a/include/validations/paiements.inc.php +++ b/include/validations/paiements.inc.php @@ -79,6 +79,24 @@ class PayReq extends Validate } // }}} + // {{{ function accept() + + // check the message + public function accept() + { + // no text [AI JMIAJM IJA MIJ] + if (preg_match('/\[[-\'"A-Z ]+\]/', $this->msg_reponse)) { + $this->trig("La demande de paiement n'est pas valide. Merci de compléter le texte avant de la soumettre"); + return false; + } + if (!preg_match('//', $this->msg_reponse)) { + $this->trig("Le demande de paiement ne contient pas la balise obligatoire <montant>"); + return false; + } + return true; + } + + // }}} // {{{ function submit() // supprime les demandes de paiments pour le meme evenement diff --git a/modules/xnetevents.php b/modules/xnetevents.php index ff366b2..dde6c99 100644 --- a/modules/xnetevents.php +++ b/modules/xnetevents.php @@ -433,13 +433,19 @@ class XnetEventsModule extends PLModule Post::v('site'), $money_defaut, Post::v('confirmation'), 0, 999, $globals->asso('id'), $eid); - $p->submit(); + if ($p->accept()) { + $p->submit(); + } else { + $page->assign('paiement_message', Post::v('confirmation')); + $page->assign('paiement_site', Post::v('site')); + $error = true; + } } // events with no sub-event: add a sub-event with no name if ($nb_moments == 0) { XDB::execute("INSERT INTO groupex.evenements_items - VALUES ({?}, {?}, '', '', 0)", $eid, 1); + VALUES ({?}, {?}, '', '', 0)", $eid, 1); } if (!$error) { diff --git a/templates/xnetevents/edit.tpl b/templates/xnetevents/edit.tpl index 4860d75..9163587 100644 --- a/templates/xnetevents/edit.tpl +++ b/templates/xnetevents/edit.tpl @@ -136,12 +136,12 @@ function deadlineChange(box) Paiement :  - {if $evt.paiement_id eq -2} {/if} - + {html_options options=$paiements selected=$evt.paiement_id} @@ -153,17 +153,21 @@ function deadlineChange(box)
  • Remplace les crochets ([...]) par le texte que tu désires y voir apparaître
  • <salutation>, <prenom>, <nom> et <montant> seront automatiquement remplacés par les informations adaptées
  • -
    - Page internet de l'événement :
    + {$smarty.session.prenom} {$smarty.session.nom}{/if}
    + Page internet de l'événement :
    Le nouveau paiement sera activé automatiquement après validation par le trésorier de Polytechnique.org, ce qui sera fait sous peu. + -- 2.1.4