=> $this->make_hook('manageurs', AUTH_PUBLIC),
'auth-redirect.php' => $this->make_hook('redirect', AUTH_COOKIE),
- 'auth-groupex.php' => $this->make_hook('groupex', AUTH_COOKIE),
+ 'auth-groupex.php' => $this->make_hook('groupex_old', AUTH_COOKIE),
+ 'auth-groupex' => $this->make_hook('groupex', AUTH_COOKIE),
'admin/auth-groupes-x' => $this->make_hook('admin_authgroupesx', AUTH_MDP, 'admin'),
);
}
WHERE $where
ORDER BY nom");
- $res = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n<membres>\n\n";
+ $res = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<membres>\n\n";
while (list ($prenom1,$nom1,$email1) = $all->next()) {
$res .= "<membre>\n";
$res .= "</membres>\n\n";
- header('Content-Type: text/xml; charset="ISO-8859-1"');
+ header('Content-Type: text/xml; charset="UTF-8"');
echo $res;
}
exit;
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'];
+ $request = @$GLOBALS['HTTP_RAW_POST_DATA'];
$response = xmlrpc_server_call_method($server, $request, null);
header('Content-Type: text/xml');
print $response;
http_redirect(Env::v('dest', '/'));
}
- function handler_groupex(&$page)
+ function handler_groupex_old(&$page)
+ {
+ return $this->handler_groupex($page, 'iso-8859-1');
+ }
+
+ function handler_groupex(&$page, $charset = 'utf8')
{
require_once dirname(__FILE__).'/auth/auth.inc.php';
$page->assign('referer', true);
}
/* a-t-on besoin d'ajouter le http:// ? */
- if (!preg_match("/^(http|https):\/\/.*/",$gpex_url))
+ if (!preg_match("/^(http|https):\/\/.*/",$gpex_url)) {
$gpex_url = "http://$gpex_url";
+ }
$gpex_challenge = $_GET["challenge"];
// mise à jour de l'heure et de la machine de dernier login sauf quand on est en suid
}
/* on parcourt les entrees de groupes_auth */
- $res = XDB::iterRow('select privkey,name,datafields from groupesx_auth');
+ $res = XDB::iterRow('SELECT privkey, name, datafields FROM groupesx_auth');
while (list($privkey,$name,$datafields) = $res->next()) {
if (md5($gpex_challenge.$privkey) == $gpex_pass) {
- $returl = $gpex_url.gpex_make_params($gpex_challenge,$privkey,$datafields);
+ $returl = $gpex_url . gpex_make_params($gpex_challenge, $privkey, $datafields, $charset);
http_redirect($returl);
}
}
/* si on n'a pas trouvé, on renvoit sur x.org */
http_redirect('https://www.polytechnique.org/');
}
- function handler_admin_authgroupesx(&$page, $action = 'list', $id = null) {
+
+ function handler_admin_authgroupesx(&$page, $action = 'list', $id = null)
+ {
$page->assign('xorg_title','Polytechnique.org - Administration - Auth groupes X');
$page->assign('title', 'Gestion de l\'authentification centralisée');
$table_editor = new PLTableEditor('admin/auth-groupes-x','groupesx_auth','id');