* Xnet:
- #639: Fix the number of pages -FRU
+ * XnetEvents:
+ - #637: Check payment before submission -FRU
+
================================================================================
VERSION 0.9.13 30 01 2007
@session_start();
if (empty($_SESSION['challenge'])) {
$_SESSION['challenge'] = sha1(uniqid(rand(), true));
- }
+ }
+ if (!isset($_SESSION['perms'])) {
+ $_SESSION['perms'] = new FlagSet();
+ }
}
public static function destroy()
}
// }}}
+ // {{{ 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('/<montant>/', $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
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) {
<tr>
<th colspan="2">
Paiement :
- <select name="paiement_id" onchange="document.getElementById('new_pay').style.display=(value < 0?'':'none')">
+ <select name="paiement_id" id="payid" onchange="document.getElementById('new_pay').style.display=(value < 0?'':'none')">
{if $evt.paiement_id eq -2}
<option value='-2'>Paiement en attente de validation</option>
{/if}
<option value=''>Pas de paiement</option>
- <option value='-1'>- Nouveau paiement -</option>
+ <option value='-1' {if $paiement_message}selected="selected"{/if}>- Nouveau paiement -</option>
{html_options options=$paiements selected=$evt.paiement_id}
</select>
</th>
<li><strong>Remplace les crochets</strong> ([...]) par le texte que tu désires y voir apparaître</li>
<li><salutation>, <prenom>, <nom> et <montant> seront <strong>automatiquement</strong> remplacés par les informations adaptées</li>
</ul>
- <textarea name="confirmation" rows="12" cols="65"><salutation> <prenom> <nom>,
+ <textarea name="confirmation" rows="12" cols="65">{if $paiement_message}{$paiement_message}{else}<salutation> <prenom> <nom>,
Ton inscription à [METS LE NOM DE L'EVENEMENT ICI] a bien été enregistrée et ton paiement de <montant> a bien été reçu.
[COMPLETE EN PRECISANT LA DATE ET LA PERSONNE A CONTACTER]
A très bientôt,
- {$smarty.session.prenom} {$smarty.session.nom}</textarea><br />
- Page internet de l'événement : <input size="40" name="site" value="{$asso.site|default:$platal->ns}" /><br />
+ {$smarty.session.prenom} {$smarty.session.nom}{/if}</textarea><br />
+ Page internet de l'événement : <input size="40" name="site" value="{$paiement_site|default:$asso.site|default:$platal->ns}" /><br />
Le nouveau paiement sera activé automatiquement après validation par le trésorier de Polytechnique.org,
ce qui sera fait sous peu.
+ <script type="text/javascript">//<![CDATA[
+ document.getElementById('new_pay').style.display=
+ (document.getElementById('payid').value < 0?'':'none');
+ //]]></script>
</td>
</tr>
</table>