3c8acb8e |
1 | <?php |
2 | |
3 | require_once 'xnet.inc.php'; |
4 | require_once 'lists.inc.php'; |
5 | require_once 'xnet/mail.inc.php'; |
6 | |
7 | new_groupadmin_page('xnet/groupe/annuaire-admin.tpl'); |
8 | $client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'), $globals->asso('mail_domain')); |
9 | $listes = array_map(create_function('$arr', 'return $arr["list"];'), $client->get_lists()); |
10 | |
11 | $subscribers = array(); |
12 | |
13 | foreach ($listes as $list) { |
14 | list(,$members) = $client->get_members($list); |
15 | $mails = array_map(create_function('$arr', 'return $arr[1];'), $members); |
16 | $subscribers = array_unique(array_merge($subscribers, $mails)); |
17 | } |
18 | |
19 | $not_in_group_x = array(); |
20 | $not_in_group_ext = array(); |
21 | |
22 | foreach ($subscribers as $mail) { |
23 | $res = $globals->xdb->query( |
24 | 'SELECT COUNT(*) |
25 | FROM groupex.membres AS m |
26 | LEFT JOIN auth_user_md5 AS u ON (m.uid=u.user_id AND m.uid<50000) |
27 | LEFT JOIN aliases AS a ON (a.id=u.user_id and a.type="a_vie") |
28 | WHERE asso_id = {?} AND |
29 | (m.email = {?} OR CONCAT(a.alias, "@polytechnique.org") = {?})', |
30 | $globals->asso('id'), $mail, $mail); |
31 | if ($res->fetchOneCell() == 0) { |
32 | if (strstr($mail, '@polytechnique.org') === false) { |
33 | $not_in_group_ext[] = $mail; |
34 | } else { |
35 | $not_in_group_x = $mail; |
36 | } |
37 | } |
38 | } |
39 | |
40 | $page->assign('not_in_group_ext', $not_in_group_ext); |
41 | $page->assign('not_in_group_x', $not_in_group_x); |
42 | $page->run(); |
43 | |
44 | ?> |