From 450701580b0af99191b8c68cc08759bbcb8caa34 Mon Sep 17 00:00:00 2001
From: Florent Bruneau
Date: Sat, 28 Jun 2008 18:11:04 +0200
Subject: [PATCH] * Can use a file to bootstrap the list of members of a list
(via list/create) * Allow 'non-X' addresses to be used at list creation time.
Signed-off-by: Florent Bruneau
---
modules/lists.php | 19 +++++++++++++++----
templates/lists/create.tpl | 10 +++++++---
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/modules/lists.php b/modules/lists.php
index 132c179..8baeb85 100644
--- a/modules/lists.php
+++ b/modules/lists.php
@@ -184,21 +184,32 @@ class ListsModule extends PLModule
}
// click on validate button 'add_member_sub'
+ require_once('user.func.inc.php');
if (Post::has('add_member_sub') && Post::has('add_member')) {
- require_once('user.func.inc.php');
- $forlifes = get_users_forlife_list(Post::v('add_member'), true);
+ $forlifes = get_users_forlife_list(Post::v('add_member'), false);
if (!is_null($forlifes)) {
$members = array_merge($members, $forlifes);
}
}
+ if (Post::has('add_member_sub') && isset($_FILES['add_member_file']) && $_FILES['add_member_file']['tmp_name']) {
+ $upload =& PlUpload::get($_FILES['add_member_file'], S::v('forlife'), 'list.addmember', true);
+ if (!$upload) {
+ $page->trigError('Une erreur s\'est produite lors du téléchargement du fichier');
+ } else {
+ $forlifes = get_users_forlife_list($upload->getContents(), false);
+ if (!is_null($forlifes)) {
+ $members = array_merge($members, $forlifes);
+ }
+ }
+ }
ksort($owners);
$owners = array_unique($owners);
ksort($members);
$members = array_unique($members);
- $page->assign('owners', join(' ', $owners));
- $page->assign('members', join(' ', $members));
+ $page->assign('owners', join("\n", $owners));
+ $page->assign('members', join("\n", $members));
if (!Post::has('submit')) {
return;
diff --git a/templates/lists/create.tpl b/templates/lists/create.tpl
index 0f79963..d642394 100644
--- a/templates/lists/create.tpl
+++ b/templates/lists/create.tpl
@@ -37,7 +37,7 @@ moins 4 polytechniciens inscrits sur le site, et de fournir les informations sui
liste :
-