From 5cbb1fadfed368d8d7b1b5a711380668f5db3e9b Mon Sep 17 00:00:00 2001 From: x2003bruneau Date: Sun, 5 Nov 2006 10:18:32 +0000 Subject: [PATCH] Can use event shortname as event id in URL Other fixes git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1049 839d8a87-29fc-0310-9880-83ba4fa771e5 --- ChangeLog | 1 + modules/lists.php | 8 ++++---- modules/xnetevents.php | 28 ++++++++++++++++++++-------- modules/xnetevents/xnetevents.inc.php | 4 ++-- templates/xnetevents/edit.tpl | 2 +- templates/xnetevents/index.tpl | 8 ++++---- 6 files changed, 32 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 794318f..486523a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,6 +15,7 @@ New: * Xnet/Events: - Events can be archived -FRU - Can get iCal version of the events -FRU + - Can use short name as an event identifier in the URL -FRU Bug/Wish: diff --git a/modules/lists.php b/modules/lists.php index b77ec70..1462fbb 100644 --- a/modules/lists.php +++ b/modules/lists.php @@ -125,7 +125,7 @@ class ListsModule extends PLModule function handler_ajax(&$page, $list = null) { - $this->prepare_client($page); + $domain = $this->prepare_client($page); $page->changeTpl('listes/liste.inc.tpl', NO_SKIN); if (Get::has('unsubscribe')) { $this->client->unsubscribe($list); @@ -137,7 +137,7 @@ class ListsModule extends PLModule $this->client->handle_request($list, Get::v('sadd'), 4, ''); } if (Get::has('mid')) { - $this->moderate_mail($list, Get::i('mid')); + $this->moderate_mail($domain, $list, Get::i('mid')); } list($liste, $members, $owners) = $this->client->get_members($list); @@ -371,7 +371,7 @@ class ListsModule extends PLModule } } - function moderate_mail($liste, $mid) + function moderate_mail($domain, $liste, $mid) { $mail = $this->client->get_pending_mail($liste, $mid); $reason = ''; @@ -441,7 +441,7 @@ class ListsModule extends PLModule } if (Env::has('mid')) { - $mail = $this->moderate_mail($liste, Env::i('mid')); + $mail = $this->moderate_mail($domain, $liste, Env::i('mid')); if (Get::has('mid') && is_array($mail)) { $msg = file_get_contents('/etc/mailman/fr/refuse.txt'); diff --git a/modules/xnetevents.php b/modules/xnetevents.php index 977ea1f..95d904d 100644 --- a/modules/xnetevents.php +++ b/modules/xnetevents.php @@ -314,11 +314,22 @@ class XnetEventsModule extends PLModule { global $globals; + // get eid if the the given one is a short name + if (!is_null($eid) && !is_numeric($eid)) { + $res = XDB::query("SELECT eid + FROM groupex.evenements + WHERE asso_id = {?} AND short_name = {?}", + $globals->asso('id'), $eid); + if ($res->numRows()) { + $eid = (int)$res->fetchOneCell(); + } + } + // check the event is in our group if (!is_null($eid)) { $res = XDB::query("SELECT short_name, asso_id - FROM groupex.evenements - WHERE eid = {?}", $eid); + FROM groupex.evenements + WHERE eid = {?}", $eid); $infos = $res->fetchOneAssoc(); if ($infos['asso_id'] != $globals->asso('id')) { return PL_NOT_ALLOWED; @@ -420,15 +431,15 @@ class XnetEventsModule extends PLModule VALUES ({?}, {?}, '', '', 0)", $eid, 1); } - if (is_null($evt['eid'])) { +# if (is_null($evt['eid'])) { pl_redirect('events'); - } +# } } // get a list of all the payment for this asso $res = XDB::iterator("SELECT id, text - FROM {$globals->money->mpay_tprefix}paiements - WHERE asso_id = {?}", $globals->asso('id')); + FROM {$globals->money->mpay_tprefix}paiements + WHERE asso_id = {?}", $globals->asso('id')); $paiements = array(); while ($a = $res->next()) $paiements[$a['id']] = $a['text']; { $page->assign('paiements', $paiements); @@ -446,8 +457,8 @@ class XnetEventsModule extends PLModule // find out if there is already a request for a payment for this event require_once 'validations.inc.php'; $res = XDB::query("SELECT stamp FROM requests - WHERE type = 'paiements' AND data LIKE {?}", - PayReq::same_event($eid, $globals->asso('id'))); + WHERE type = 'paiements' AND data LIKE {?}", + PayReq::same_event($eid, $globals->asso('id'))); $stamp = $res->fetchOneCell(); if ($stamp) { $evt['paiement_id'] = -2; @@ -467,6 +478,7 @@ class XnetEventsModule extends PLModule } $page->assign('items', $items); } + $page->assign('url_ref', $eid); } function handler_admin(&$page, $eid = null, $item_id = null) diff --git a/modules/xnetevents/xnetevents.inc.php b/modules/xnetevents/xnetevents.inc.php index 8f6f5aa..76f4598 100644 --- a/modules/xnetevents/xnetevents.inc.php +++ b/modules/xnetevents/xnetevents.inc.php @@ -40,11 +40,11 @@ function get_event_detail($eid, $item_id = false) LEFT JOIN groupex.evenements_participants AS ep ON(e.eid = ep.eid AND ei.item_id = ep.item_id) LEFT JOIN virtual AS al ON(al.type = 'evt' AND al.alias = CONCAT(short_name, {?})) LEFT JOIN virtual AS pl ON(pl.type = 'evt' AND pl.alias = CONCAT(short_name, {?})) - WHERE e.eid = {?} AND ei.item_id = {?} AND e.asso_id = {?} + WHERE (e.eid = {?} OR e.short_name = {?}) AND ei.item_id = {?} AND e.asso_id = {?} GROUP BY ei.item_id", '-absents@'.$globals->xnet->evts_domain, '-participants@'.$globals->xnet->evts_domain, - $eid, $item_id ? $item_id : 1, $globals->asso('id')); + $eid, $eid, $item_id ? $item_id : 1, $globals->asso('id')); $evt = $res->fetchOneAssoc(); diff --git a/templates/xnetevents/edit.tpl b/templates/xnetevents/edit.tpl index fc483ae..af3b3dc 100644 --- a/templates/xnetevents/edit.tpl +++ b/templates/xnetevents/edit.tpl @@ -55,7 +55,7 @@ function deadlineChange(box)

Description de l'événement

-
+ diff --git a/templates/xnetevents/index.tpl b/templates/xnetevents/index.tpl index 8a2f064..595896c 100644 --- a/templates/xnetevents/index.tpl +++ b/templates/xnetevents/index.tpl @@ -44,7 +44,7 @@
- + {icon name=calendar_view_day title="Evénement iCal"} {$e.intitule} @@ -53,7 +53,7 @@ {/if} {if $admin}
- [ + [ modifier {icon name=date_edit title="Edition de l'événement"}]   @@ -102,7 +102,7 @@
Informations : {if $admin || $e.show_participants} - + consulter la liste des participants {icon name=group title="Liste des participants"}
@@ -156,7 +156,7 @@
- + gérer mon inscription -- 2.1.4