if (strlen(trim($members)) == 0) {
return null;
}
- $members = explode(' ', $members);
+ $members = split("[; ,\r\n\|]+", $members);
}
if ($members) {
$list = array();
foreach ($members as $i => $alias) {
+ $alias = trim($alias);
+ if (empty($alias)) {
+ continue;
+ }
if (($login = get_user_forlife($alias, $callback)) !== false) {
$list[$i] = $login;
} else if(!$strict) {
}
}
+ if (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 {
+ $members = get_users_forlife_list($upload->getContents(),
+ false,
+ array('ListsModule', 'no_login_callback'));
+ $arr = $this->client->mass_subscribe($liste, $members);
+ if (is_array($arr)) {
+ foreach($arr as $addr) {
+ $page->trigSuccess("{$addr[0]} inscrit.");
+ }
+ }
+ }
+ }
+
if (Env::has('del_member')) {
if (strpos(Env::v('del_member'), '@') === false) {
$this->client->mass_unsubscribe(
LEFT JOIN auth_user_md5 AS u ON(m2.origine = "X" AND m2.uid = u.user_id)
WHERE m1.email={?}', $globals->asso('id'), $mem);
if (list($uid, $prenom, $nom, $promo) = $res->fetchOneRow()) {
- $key = $tri_promo ? ($promo != 'non-X' ? $promo : 0) : strtoupper($nom{0});
+ $key = $tri_promo ? ($promo != 'non-X' ? $promo : 0) : strtoupper(@$nom{0});
if ($tri_promo) {
$promo = null;
}
{if $promo && strpos($x.l, '@') === false}
<a href="profile/{$x.l}" class="popup2">{$x.n}</a>
{elseif $x.x}
- <a href="{$platal->ns}member/{$x.x}">{$x.n}</a>
+ <a href="{$platal->ns}member/{$x.x}">{if $x.n|trim}{$x.n}{else}{$x.l}{/if}</a>
{elseif $x.n}
{$x.n}
{else}
</td>
</tr>
{/foreach}
- <tr>
- <td class='titre'>Ajouter ... </td>
+ <tr class="pair">
+ <td class='titre'>Ajouter</td>
<td>
<input type='text' size='30' name='add_owner' />
-
<input type='submit' value='ajouter' />
</td>
</tr>
{$np_m|default:"0"} membre{if $np_m > 1}s{/if} dans la liste
</h1>
-<form method='post' action='{$smarty.server.REQUEST_URI}'>
+<form method='post' action='{$smarty.server.REQUEST_URI}' enctype="multipart/form-data">
<table class='bicol' cellpadding='0' cellspacing='0'>
{foreach from=$members item=xs key=promo}
<tr>
{if $promo && strpos($x.l, '@') === false}
<a href="profile/{$x.l}" class="popup2">{$x.n}</a>
{elseif $x.x}
- <a href="{$platal->ns}member/{$x.x}">{$x.n}</a>
+ <a href="{$platal->ns}member/{$x.x}">{if $x.n|trim}{$x.n}{else}{$x.l}{/if}</a>
{elseif $x.n}
{$x.n}
{else}
</tr>
{/foreach}
<tr>
- <td class='titre'>Ajouter ...</td>
+ <th colspan="2">Ajouter</th>
+ </tr>
+ <tr class="pair">
+ <td class="titre">Liste</td>
<td>
<input type='text' size='40' name='add_member' />
-
+ </td>
+ </tr>
+ <tr class="pair">
+ <td class="titre">ou fichier(*)</td>
+ <td>
+ <input type="file" name="add_member_file" />*
+ </td>
+ </tr>
+ <tr class="pair">
+ <td colspan="2" class="center">
<input type='submit' value='ajouter' />
</td>
</tr>
</table>
</form>
+<div class="smaller">
+ * Le fichier doit contenir une adresse e-mail par ligne. Les X doivent être identifiés par une adresse
+ @polytechnique.org, @m4x.org ou @melix.net/org.
+</div>
+
{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}