Fixes vim mode line.
[platal.git] / modules / payment / money.inc.php
index 862232a..4fedaa3 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2006 Polytechnique.org                              *
+ *  Copyright (C) 2003-2014 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-require_once dirname(__FILE__).'/../../classes/Flagset.php';
-
 class Payment
 {
-    // {{{ properties
-
-    var $id;
-    var $text;
-    var $url;
-    var $flags;
-    var $mail;
-    var $montant_min;
-    var $montant_max;
-    var $montant_def;
-    var $asso_id;
-
-    var $api = null;
-
-    // }}}
-    // {{{ constructor
-    
-    function Payment($ref=-1)
+    public $id;
+    public $text;
+    public $url;
+    public $flags;
+    public $mvarail;
+    public $amount_min;
+    public $amount_max;
+    public $amount_def;
+    public $asso_id;
+
+    public $api = null;
+
+    function Payment($ref = -1)
     {
         global $globals;
-        $r   = $ref==-1 ? $globals->money->mpay_def_id : $ref;
-        $res = XDB::query("SELECT  id, text, url, flags, mail, montant_min, montant_max, montant_def, asso_id
-                                       FROM  {$globals->money->mpay_tprefix}paiements WHERE id={?}", $r);
+
+        $r   = ($ref == -1) ? $globals->money->mpay_def_id : $ref;
+        $res = XDB::query('SELECT  id, text, url, flags, mail, amount_min, amount_max, amount_def, asso_id
+                             FROM  payments
+                            WHERE  id = {?}', $r);
         list($this->id, $this->text, $this->url, $flags, $this->mail,
-                $this->montant_min, $this->montant_max, $this->montant_def, $this->asso_id) = $res->fetchOneRow();
-        
-        $this->montant_min = (float)$this->montant_min;
-        $this->montant_max = (float)$this->montant_max;
-        $this->flags       = new Flagset($flags);
+             $this->amount_min, $this->amount_max, $this->amount_def, $this->asso_id) = $res->fetchOneRow();
 
-        return $link;
+        $this->amount_min = (float)$this->amount_min;
+        $this->amount_max = (float)$this->amount_max;
+        $this->flags      = new PlFlagSet($flags);
     }
 
-    // }}}
-    // {{{ function check()
-    
     function check($value)
     {
         $v = (float)strtr($value, ',', '.');
-        if ($this->montant_min > $v) {
-            return "Montant inférieur au minimum autorisé ({$this->montant_min}).";
-        } elseif ($v > $this->montant_max) {
-            return "Montant supérieur au maximum autorisé ({$this->montant_max}).";
+        if ($this->amount_min > $v) {
+            return "Montant inférieur au minimum autorisé ({$this->amount_min}).";
+        } elseif ($v > $this->amount_max) {
+            return "Montant supérieur au maximum autorisé ({$this->amount_max}).";
         } else {
             return true;
         }
     }
 
-    // }}}
-    // {{{ function init()
-
-    function init($val, &$meth)
+    function init($val, $meth)
     {
-        require_once dirname(__FILE__).'/money/'.$meth->inc;
+        require_once dirname(__FILE__) . '/money/' . $meth->inc;
         $this->api = new $api($val);
     }
 
-    // }}}
-    // {{{ function prepareform()
-
-    function prepareform()
+    function prepareform(User $user)
     {
-        return $this->api->prepareform($this);
+        return $this->api->prepareform($this, $user);
     }
 
     function event()
     {
         if ($this->asso_id) {
-            $res = XDB::query("SELECT eid, a.diminutif FROM groupex.evenements AS e, groupex.asso AS a WHERE e.asso_id = {?} AND a.id = {?}", $this->asso_id, $this->asso_id);
-            return $res->fetchOneAssoc();
+            $res = XDB::query("SELECT  e.eid, a.diminutif
+                                 FROM  group_events AS e
+                           INNER JOIN  groups AS a ON (e.asso_id = a.id)
+                            LEFT JOIN  group_event_participants AS p ON (p.eid = e.eid AND p.uid = {?})
+                                WHERE  e.paiement_id = {?} AND p.uid IS NULL", S::i('uid'), $this->id);
+            if ($res->numRows()) {
+                return $res->fetchOneAssoc();
+            }
         }
         return null;
     }
-    // }}}
 }
 
-// {{{ class PayMethod
-
 class PayMethod
 {
-    // {{{ properties
-
-    var $id;
-    var $text;
-    var $inc;
+    public $id;
+    public $text;
+    public $inc;
 
-    // }}}
-    // {{{ constructor
-
-    function PayMethod($id=-1)
+    function PayMethod($id = -1)
     {
         global $globals;
-        $i   = $id==-1 ? $globals->money->mpay_def_meth : $id;
-        $res = XDB::query("SELECT id,text,include FROM {$globals->money->mpay_tprefix}methodes WHERE id={?}", $i);
-        list($this->id, $this->text, $this->inc) = $res->fetchOneRow();
-    } 
 
-    // }}}
+        $i   = ($id == -1) ? $globals->money->mpay_def_meth : $id;
+        $res = XDB::query('SELECT  id, text, include
+                             FROM  payment_methods
+                            WHERE  id = {?}', $i);
+        list($this->id, $this->text, $this->inc) = $res->fetchOneRow();
+    }
 }
 
-// }}}
-
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
 ?>