Subversion Repositories Applications.reseau

Compare Revisions

Regard whitespace Rev 67 → Rev 68

/trunk/widget/modules/auth/squelettes/auth_fr.tpl.php
25,6 → 25,8
 
<script>
baseUrlAuth = '<?php echo $baseUrlAuth ?>';
origine = '<?php echo $origine ?>';
action = '<?php echo $action ?>';
</script>
</head>
 
/trunk/widget/modules/auth/squelettes/js/defaut.js
52,6 → 52,43
 
// Connexion au SSO
$('#formulaire-identification').submit(function() {
connecterUtilisateur();
return false;
});
 
// Déconnexion du SSO
$('#deconnexion').click(function() {
deconnecterUtilisateur();
return false;
});
 
// vérification de l'état au chargement
var urlAuth = baseUrlAuth + '/identite';
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
}).done(function(data) {
// connecté
definirUtilisateur(data.token);
afficherPanneauBienvenue();
})
.fail(function(error) {
// non connecté
afficherPanneauIdentification();
});
 
// exécuter une action si définie (par ex: déconnexion)
executerAction();
});
 
/**
* Connecte l'utilisateur au SSO
*/
function connecterUtilisateur() {
var login = $('#login').val(),
mdp = $('#mdp').val();
if (login == '' || mdp == '') {
67,6 → 104,7
}
})
.done(function(data) {
rediriger();
definirUtilisateur(data.token);
afficherPanneauBienvenue();
masquerErreurs();
75,11 → 113,12
afficherErreurLogin();
});
}
return false;
});
}
 
// Déconnexion du SSO
$('#deconnexion').click(function() {
/**
* Déconnecte l'utilisateur du SSO
*/
function deconnecterUtilisateur() {
var urlAuth = baseUrlAuth + '/deconnexion';
$.ajax({
url: urlAuth,
90,6 → 129,7
}
})
.done(function(data) {
rediriger();
definirUtilisateur();
afficherPanneauIdentification();
masquerErreurs();
99,27 → 139,21
// dans l'interface actuelle sans que ce soit moche
//afficherErreurServeur();
});
return false;
});
}
 
// vérification de l'état au chargement
var urlAuth = baseUrlAuth + '/identite';
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
/**
* Si la variable "action" est définie (provenant du paramètre GET "origine"),
* exécute l'action associée (par ex: déconnexion)
*/
function executerAction() {
switch (action) {
case "deconnexion":
deconnecterUtilisateur();
break;
default :
// on ne fait rien
}
}).done(function(data) {
// connecté
definirUtilisateur(data.token);
afficherPanneauBienvenue();
})
.fail(function(error) {
// non connecté
afficherPanneauIdentification();
});
}
 
function definirUtilisateur(jeton) {
var nomComplet = '';
147,6 → 181,16
return payload;
}
 
/**
* Si la variable "origine" est définie (provenant du paramètre GET "origine"),
* redirige l'utilisateur vers cette page
*/
function rediriger() {
if (origine != '') {
window.location.href = origine;
}
}
 
function afficherPanneauIdentification() {
$('#panneau-identification').show();
$('#panneau-bienvenue').hide();
168,4 → 212,3
function masquerErreurs() {
$('.info-erreur').hide();
}
});
/trunk/widget/modules/auth/Auth.php
16,6 → 16,8
 
protected $langue;
protected $langueDefaut;
protected $origine;
protected $action;
protected $baseUrlAuth;
 
public function __construct($config, $parametres) {
28,7 → 30,8
* Méthode appelée par défaut pour charger ce widget
*/
public function executer() {
//$this->collecterParametres();
$this->collecterParametres();
// choix du squelette en fonction de la langue
$squelette = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'squelettes' . DIRECTORY_SEPARATOR . 'auth_' . $this->langue . '.tpl.php';
if (! file_exists($squelette)) {
$squelette = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'squelettes' . DIRECTORY_SEPARATOR . 'auth_' . $this->langueDefaut . '.tpl.php';
37,9 → 40,25
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/auth/squelettes/css/defaut.css');
$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/auth/squelettes/js/defaut.js');
$widget['donnees']['baseUrlAuth'] = $this->baseUrlAuth;
$widget['donnees']['origine'] = $this->origine;
$widget['donnees']['action'] = $this->action;
 
$contenu = $this->traiterSquelettePhp($squelette, $widget['donnees']);
$this->envoyer($contenu);
}
 
protected function collecterParametres() {
if (isset($_GET['origine']) && $_GET['origine'] != '') {
$this->origine = $_GET['origine'];
}
if (isset($_GET['action']) && $_GET['action'] != '') {
$this->action = $_GET['action'];
}
if (isset($_GET['lang']) && $_GET['lang'] != '') {
$this->langue = $_GET['lang'];
} else {
$this->langue = $this->langueDefaut;
}
}
}
?>