Fixes page count in xnetevent administration.
[platal.git] / modules / xnetevents.php
index 96f563d..edee012 100644 (file)
@@ -26,16 +26,16 @@ class XnetEventsModule extends PLModule
     function handlers()
     {
         return array(
-            '%grp/events'       => $this->make_hook('events',  AUTH_MDP),
-            '%grp/events/sub'   => $this->make_hook('sub',     AUTH_MDP),
-            '%grp/events/csv'   => $this->make_hook('csv',     AUTH_MDP, 'user', NO_HTTPS),
-            '%grp/events/ical'  => $this->make_hook('ical',    AUTH_MDP, 'user', NO_HTTPS),
-            '%grp/events/edit'  => $this->make_hook('edit',    AUTH_MDP, 'groupadmin'),
-            '%grp/events/admin' => $this->make_hook('admin',   AUTH_MDP, 'groupmember'),
+            '%grp/events'       => $this->make_hook('events', AUTH_MDP),
+            '%grp/events/sub'   => $this->make_hook('sub',    AUTH_MDP),
+            '%grp/events/csv'   => $this->make_hook('csv',    AUTH_MDP, 'user', NO_HTTPS),
+            '%grp/events/ical'  => $this->make_hook('ical',   AUTH_MDP, 'user', NO_HTTPS),
+            '%grp/events/edit'  => $this->make_hook('edit',   AUTH_MDP, 'groupadmin'),
+            '%grp/events/admin' => $this->make_hook('admin',  AUTH_MDP, 'groupmember'),
         );
     }
 
-    function handler_events(&$page, $archive = null)
+    function handler_events($page, $archive = null)
     {
         global $globals;
 
@@ -73,10 +73,9 @@ class XnetEventsModule extends PLModule
         if ($action == 'del') {
             // deletes the event mailing aliases
             if ($tmp[1]) {
-                foreach (array('-absents@', '-participants@', '-paye@', '-participants-non-paye@') as $v) {
-                    XDB::execute("DELETE FROM  virtual
-                                        WHERE  type = 'evt' AND alias LIKE {?}",
-                                 $tmp[1] . $v . '%');
+                require_once 'emails.inc.php';
+                foreach (explode(',', $globals->xnet->event_lists) as $suffix) {
+                    delete_list_alias($tmp[1] . $suffix, $globals->xnet->evts_domain, 'event');
                 }
             }
 
@@ -152,16 +151,11 @@ class XnetEventsModule extends PLModule
                 $e['topay'] += $m['nb'] * $m['montant'];
             }
 
-            $query = XDB::query(
-                "SELECT amount
+            $montant = XDB::fetchOneCell(
+                "SELECT SUM(amount) as sum_amount
                    FROM payment_transactions AS t
                  WHERE ref = {?} AND uid = {?}", $e['paiement_id'], S::v('uid'));
-            $montants = $query->fetchColumn();
-
-            foreach ($montants as $m) {
-                $p = strtr(substr($m, 0, strpos($m, 'EUR')), ',', '.');
-                $e['paid'] += trim($p);
-            }
+            $e['paid'] += $montant;
 
             make_event_date($e);
 
@@ -175,7 +169,7 @@ class XnetEventsModule extends PLModule
         $page->assign('undisplayed_events', $undisplayed_events);
     }
 
-    function handler_sub(&$page, $eid = null)
+    function handler_sub($page, $eid = null)
     {
         $this->load('xnetevents.inc.php');
         $page->changeTpl('xnetevents/subscribe.tpl');
@@ -266,7 +260,7 @@ class XnetEventsModule extends PLModule
         }
         if ($updated !== false) {
             $page->trigSuccess('Ton inscription à l\'événement a été mise à jour avec succès.');
-            subscribe_lists_event(S::i('uid'), $evt, ($total > 0 ? 1 : 0), 0);
+            subscribe_lists_event(S::i('uid'), $evt['short_name'], ($total > 0 ? 1 : 0), 0);
 
             if ($evt['subscription_notification'] != 'nobody') {
                 $mailer = new PlMailer('xnetevents/subscription-notif.mail.tpl');
@@ -290,7 +284,7 @@ class XnetEventsModule extends PLModule
         $page->assign('event', get_event_detail($eid));
     }
 
-    function handler_csv(&$page, $eid = null, $item_id = null)
+    function handler_csv($page, $eid = null, $item_id = null)
     {
         $this->load('xnetevents.inc.php');
 
@@ -320,7 +314,7 @@ class XnetEventsModule extends PLModule
         $page->assign('tout', !Env::v('item_id', false));
     }
 
-    function handler_ical(&$page, $eid = null)
+    function handler_ical($page, $eid = null)
     {
         global $globals;
 
@@ -352,7 +346,7 @@ class XnetEventsModule extends PLModule
         pl_content_headers("text/calendar");
     }
 
-    function handler_edit(&$page, $eid = null)
+    function handler_edit($page, $eid = null)
     {
         global $globals;
 
@@ -469,7 +463,7 @@ class XnetEventsModule extends PLModule
                                 Post::v('intitule')." - ".$globals->asso('nom'),
                                 Post::v('site'), $money_defaut,
                                 Post::v('confirmation'), 0, 999,
-                                $globals->asso('id'), $eid);
+                                $globals->asso('id'), $eid, Post::b('donation'));
                 if ($p->accept()) {
                     $p->submit();
                 } else {
@@ -535,7 +529,7 @@ class XnetEventsModule extends PLModule
         $page->assign('url_ref', $eid);
     }
 
-    function handler_admin(&$page, $eid = null, $item_id = null)
+    function handler_admin($page, $eid = null, $item_id = null)
     {
         global $globals;
 
@@ -566,7 +560,7 @@ class XnetEventsModule extends PLModule
                                  SET paid = paid + {?}
                                WHERE uid = {?} AND eid = {?} AND item_id = 1",
                              $amount, $member->uid, $evt['eid']);
-                subscribe_lists_event($member->uid, $evt, 1, $amount);
+                subscribe_lists_event($member->uid, $evt['short_name'], 1, $amount);
             }
 
             // change the number of personns coming with a participant
@@ -598,10 +592,10 @@ class XnetEventsModule extends PLModule
                                         WHERE uid = {?} AND eid = {?}",
                                     $member->uid, $evt['eid']);
                     $u = 0;
-                    subscribe_lists_event($member->uid, $evt, -1, $paid);
+                    subscribe_lists_event($member->uid, $evt['short_name'], -1, $paid);
                 } else {
                     $u = $u['cnt'] ? $u['nb'] : null;
-                    subscribe_lists_event($member->uid, $evt, ($u > 0 ? 1 : 0), $paid);
+                    subscribe_lists_event($member->uid, $evt['short_name'], ($u > 0 ? 1 : 0), $paid);
                 }
             }
 
@@ -636,8 +630,7 @@ class XnetEventsModule extends PLModule
                                            GROUP BY  p.uid', $evt['eid']);
 
         $ofs = Env::i('offset');
-        $tot = (is_null($evt['nb_tot']) ? $evt['nb'] : $evt['nb_tot']);
-        $nbp = ceil($tot / NB_PER_PAGE);
+        $nbp = ceil($evt['user_count'] / NB_PER_PAGE);
         if ($nbp > 1) {
             $links = array();
             if ($ofs) {