new_admin_page('admin/synchro_ax.tpl');
$page->assign('xorg_title','Polytechnique.org - Administration - Synchro AX');
-require_once('user.func.inc.php');
require_once('synchro_ax.inc.php');
+if (is_ax_key_missing()) {
+ $page->assign('no_private_key', true);
+ $page->run();
+}
+
+require_once('user.func.inc.php');
+
if (Env::has('user')) {
$login = get_user_forlife(Env::get('user'));
if ($login === false) {
$globals->xdb->query('UPDATE auth_user_quick SET profile_from_ax = 1 WHERE user_id = {?}', Session::getInt('uid'));
}
-if (Env::get('synchro_ax') == 'confirm') {
- require_once('synchro_ax.inc.php');
+require_once('synchro_ax.inc.php');
+if (is_ax_key_missing())
+ $page->assign('no_private_key', true);
+
+if (Env::get('synchro_ax') == 'confirm' && !is_ax_key_missing()) {
ax_synchronize(Session::get('bestalias'), Session::getInt('uid'));
$page->trig('Ton profil a été synchronisé avec celui du site polytechniciens.com');
}
require_once('user.func.inc.php');
+function is_ax_key_missing() {
+ global $globals;
+ return !$globals->webservice->private_key_ax || !is_file($globals->webservice->private_key_ax);
+}
+
function get_user_ax($matricule_ax, $raw=false)
{
require_once('webservices/ax/client.inc');
\r
global $globals;\r
//chemin de stockage de la clé privée A MODIFIER\r
- $chemin_cle_privee = $globals->spoolroot."/configs/cle_privee_ax.pem";\r
+ $chemin_cle_privee = $globals->webservice->private_key_ax;\r
//phrase cryptant la clé privée\r
$phrase = $globals->webservice->pass_ax;\r
// "Cryptage de la cle pour polytechnique.org";\r
Synchronisation depuis l'AX
</h1>
+{if $no_private_key}
+<p>
+ Impossible d'utiliser ce service, il manque la clef privée AX dans la configuration de plat/al.
+</p>
+{else}
<form action='{$smarty.request.PHP_SELF}' method='get'>
<table class="tinybicol">
<tr>
</tr>
</table>
</form>
+{/if}
-{if $x}
+{if $x and !no_private_key}
<form action='{$smarty.request.PHP_SELF}' method='post'>
{if $x.profile_from_ax}
<div style="text-align:center;margin:5px;background:green">
</table>
</div>
+{if !$no_private_key}
<div class="blocunite">
<table class="bicol" cellspacing="0" cellpadding="0"
summary="Profil : Informations générales">
</tr>
</table>
</div>
+{/if}
<div class="blocunite">
<table class="bicol" cellspacing="0" cellpadding="0"