+ $cle = $globals->core->econfiance;
+
+ $res = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<membres>\n\n";
+
+ if (S::v('chall') && $_GET['PASS'] == md5(S::v('chall').$cle)) {
+ $list = new MMList(User::getWithUID(10154), "x-econfiance.polytechnique.org");
+ $members = $list->get_members('membres');
+ if (is_array($members)) {
+ $membres = Array();
+ foreach($members[1] as $member) {
+ $user = User::getSilent($member[1]);
+ if ($user && $user->hasProfile()) {
+ $profile = $user->profile();
+ $res .= "<membre>\n";
+ $res .= "\t<nom>" . $profile->lastName() . "</nom>\n";
+ $res .= "\t<prenom>" . $profile->firstName() . "</prenom>\n";
+ $res .= "\t<email>" . $user->forlifeEmail() . "</email>\n";
+ $res .= "</membre>\n\n";
+ }
+ }
+ }
+ $res .= "</membres>\n\n";
+
+ pl_content_headers("text/xml");
+ echo $res;
+ }
+ exit;
+ }
+
+ function handler_manageurs(&$page)
+ {
+ global $globals;
+
+ require_once 'webservices/manageurs.server.inc.php';
+
+ $ips = array_flip(explode(' ', $globals->manageurs->authorized_ips));
+ if ($ips && isset($ips[$_SERVER['REMOTE_ADDR']])) {
+ $server = xmlrpc_server_create();
+
+ xmlrpc_server_register_method($server, 'get_annuaire_infos', 'get_annuaire_infos');
+ xmlrpc_server_register_method($server, 'get_nouveau_infos', 'get_nouveau_infos');
+
+ $request = @$GLOBALS['HTTP_RAW_POST_DATA'];
+ $response = xmlrpc_server_call_method($server, $request, null);
+ pl_content_headers("text/xml");
+ print $response;
+ xmlrpc_server_destroy($server);
+ }
+
+ exit;
+ }
+
+ function handler_redirect(&$page)
+ {
+ http_redirect(Env::v('dest', '/'));
+ }
+
+ function handler_groupex_old(&$page)
+ {
+ return $this->handler_groupex($page, 'iso-8859-1');
+ }
+
+ function handler_groupex(&$page, $charset = 'utf8')
+ {
+ $this->load('auth.inc.php');
+ $page->assign('referer', true);