2 /***************************************************************************
3 * Copyright (C) 2003-2013 Polytechnique.org *
4 * http://opensource.polytechnique.org/ *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program; if not, write to the Free Software *
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
20 ***************************************************************************/
36 function Payment($ref = -1)
40 $r = ($ref == -1) ?
$globals->money
->mpay_def_id
: $ref;
41 $res = XDB
::query('SELECT id, text, url, flags, mail, amount_min, amount_max, amount_def, asso_id
44 list($this->id
, $this->text
, $this->url
, $flags, $this->mail
,
45 $this->amount_min
, $this->amount_max
, $this->amount_def
, $this->asso_id
) = $res->fetchOneRow();
47 $this->amount_min
= (float)$this->amount_min
;
48 $this->amount_max
= (float)$this->amount_max
;
49 $this->flags
= new PlFlagSet($flags);
52 function check($value)
54 $v = (float)strtr($value, ',', '.');
55 if ($this->amount_min
> $v) {
56 return "Montant inférieur au minimum autorisé ({$this->amount_min}).";
57 } elseif ($v > $this->amount_max
) {
58 return "Montant supérieur au maximum autorisé ({$this->amount_max}).";
64 function init($val, $meth)
66 require_once dirname(__FILE__
) . '/money/' . $meth->inc
;
67 $this->api
= new $api($val);
70 function prepareform(User
$user)
72 return $this->api
->prepareform($this, $user);
78 $res = XDB
::query("SELECT e.eid, a.diminutif
79 FROM group_events AS e
80 INNER JOIN groups AS a ON (e.asso_id = a.id)
81 LEFT JOIN group_event_participants AS p ON (p.eid = e.eid AND p.uid = {?})
82 WHERE e.paiement_id = {?} AND p.uid IS NULL", S
::i('uid'), $this->id
);
83 if ($res->numRows()) {
84 return $res->fetchOneAssoc();
97 function PayMethod($id = -1)
101 $i = ($id == -1) ?
$globals->money
->mpay_def_meth
: $id;
102 $res = XDB
::query('SELECT id, text, include
104 WHERE id = {?}', $i);
105 list($this->id
, $this->text
, $this->inc
) = $res->fetchOneRow();
109 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: