* 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:
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);
$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);
}
}
- function moderate_mail($liste, $mid)
+ function moderate_mail($domain, $liste, $mid)
{
$mail = $this->client->get_pending_mail($liste, $mid);
$reason = '';
}
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');
{
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;
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);
// 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;
}
$page->assign('items', $items);
}
+ $page->assign('url_ref', $eid);
}
function handler_admin(&$page, $eid = null, $item_id = null)
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();
<hr />
<h2>Description de l'événement</h2>
-<form method="post" action="{$platal->ns}events/edit/{$platal->argv[1]}">
+<form method="post" action="{$platal->ns}events/edit/{$url_ref}">
<table class='bicol' cellspacing='0' cellpadding='0'>
<colgroup>
<col width='25%' />
</colgroup>
<tr>
<th colspan="2"{if !$e.inscr_open} class="grayed"{/if}>
- <a href="{$platal->ns}events/ical/{$e.eid}/{$e.short_name}.ics" style="display: block; float: left;">
+ <a href="{$platal->ns}events/ical/{$e.short_name|default:$e.eid}/{$e.short_name}.ics" style="display: block; float: left;">
{icon name=calendar_view_day title="Evénement iCal"}
</a>
{$e.intitule}
{/if}
{if $admin}
<br />
- [<a href="{$platal->ns}events/edit/{$e.eid}">
+ [<a href="{$platal->ns}events/edit/{$e.short_name|default:$e.eid}">
modifier
{icon name=date_edit title="Edition de l'événement"}</a>]
<td class="titre">Informations :</td>
<td class='actions'>
{if $admin || $e.show_participants}
- <a href="{$platal->ns}events/admin/{$e.eid}">
+ <a href="{$platal->ns}events/admin/{$e.short_name|default:$e.eid}">
consulter la liste des participants
{icon name=group title="Liste des participants"}
</a><br />
<tr>
<td colspan='2' class='center'>
<strong>
- <a href='{$platal->ns}events/sub/{$e.eid}'>
+ <a href='{$platal->ns}events/sub/{$e.short_name|default:$e.eid}'>
gérer mon inscription
</a>
</strong>