use sesion_write_close before redirects ... should solve some login problems user...
[platal.git] / htdocs / listes / archives.php
CommitLineData
0337d704 1<?php
2/***************************************************************************
3 * Copyright (C) 2003-2004 Polytechnique.org *
4 * http://opensource.polytechnique.org/ *
5 * *
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. *
10 * *
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. *
15 * *
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 *
18 * Foundation, Inc., *
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
20 ***************************************************************************/
21
22if (!$page) {
23 require_once("xorg.inc.php");
fa36e526 24 if (!Env::has('liste')) redirect('index.php');
0337d704 25 $liste = strtolower(Env::get('liste'));
26 $domain = $globals->mail->domain;
27
28 new_skinned_page('listes/archives.tpl', AUTH_COOKIE);
29 require_once('lists.inc.php');
30
31 $client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
32}
33
34$page->addCssLink('css/lists.archives.css');
35if (list($det) = $client->get_members($liste)) {
36 if ( substr($liste,0,5) != 'promo' && ( $det['ins'] || $det['priv'] ) && !$det['own'] && ($det['sub']<2) ) {
37 $page->kill("La liste n'existe pas ou tu n'as pas le droit de la consulter");
38 } elseif (Get::has('file')) {
39 $file = Get::get('file');
40 $rep = Get::get('rep');
41 if(strstr('/', $file)!==false || !preg_match(',^\d+/\d+$,', $rep)) {
42 $page->kill("La liste n'existe pas ou tu n'as pas le droit de la consulter");
43 } else {
44 $page->assign('archives', $globals->lists->spool."/{$domain}{$globals->lists->vhost_sep}$liste/$rep/$file");
45 }
46 } else {
47 $archs = Array();
48 foreach (glob($globals->lists->spool."/{$domain}{$globals->lists->vhost_sep}$liste/*/*") as $rep) {
49 if (preg_match(",/(\d*)/(\d*)$,", $rep, $matches)) {
50 $archs[intval($matches[1])][intval($matches[2])] = true;
51 }
52 }
53 $page->assign('archs', $archs);
54 $page->assign('range', range(1,12));
55 }
56} else {
57 $page->kill("La liste n'existe pas ou tu n'as pas le droit de la consulter");
58}
59
60$page->run();
61?>