Bouton connecter/déconnecterr 95%.

This commit is contained in:
Georges Dupéron 2011-05-24 18:23:42 +02:00
parent 0ab4833657
commit d3e051693c
3 changed files with 38 additions and 5 deletions

View File

@ -104,7 +104,7 @@
<a class="fpButton" href="#connection" style="right:55%; top:66%;">
<div class="highlight"></div>
<div class="icon-container"><img alt="" class="icon" src="ressources/img/72/default.png" /></div>
<div class="icon-label subFitFont"><span class="text center">Connexion</span></div>
<div class="icon-label subFitFont"><span class="text dis-connect center">Connexion</span></div>
</a>
<a class="fpButton" href="#info" style="left:55%; top:66%;">
<div class="highlight"></div>

View File

@ -16,6 +16,7 @@ $.ajaj = function(url, data, dfd, retryCheck, callback) {
if (callback) return $.getJSON(url, data, callback);
return $.getJSON(url, data, function(data) {
if (data.isError) {
isConnected(false);
dfd.reject(data);
message("Erreur", data.msg);
if ((data.error == 10 || data.error == 3) && state.screen == fromScreen && (!retryCheck || retryCheck())) {
@ -24,9 +25,11 @@ $.ajaj = function(url, data, dfd, retryCheck, callback) {
$.screen('frontpage').trigger('goto');
}
} else {
isConnected(true);
dfd.resolve(data);
}
}).fail(function(data) {
isConnected(false);
dfd.reject(data);
$("#frontpage").trigger('goto');
message("Erreur", "Une erreur est survenue, veuillez nous en excuser.");
@ -198,6 +201,9 @@ init(function() {
window.document.title = "PtiClic pre-alpha 0.2";
if (runstate.pendingSetPrefs) runstate.pendingSetPrefs();
});
$.screen('frontpage').bind('update', function() {
$('.dis-connect').text(isConnected() ? "Déconnexion" : "Connexion");
});
if (UI().isAndroid()) $('#back2site').hide();
$('#frontpage a.fpButton').$each(function(i,e) {
e.find('img.icon').data('image', e.attr('href').substring(1));
@ -205,6 +211,15 @@ init(function() {
});
// ==== Écran connexion
function isConnected(arg) {
if (typeof arg == 'undefined') {
return !!runstate.connected;
} else {
runstate.connected = !!arg;
if (runstate.screen == 'frontpage') $.screen('frontpage').trigger('update');
}
}
init(function() {
$('#connection.screen form').submit(function() {
runstate.user = $('#user').val();
@ -231,6 +246,21 @@ init(function() {
runstate.cancelPendingSetPrefs();
if (state.screen == 'frontpage') $.screen('frontpage').trigger('goto');
});
$('a[href="#connection"]').click(function() {
if (isConnected()) {
UI().setPreference("user", '');
UI().setPreference("passwd", '');
runstate.user = '';
runstate.passwd = '';
$.ajaj("server.php?callback=?", { action: 9 }, null, null, function(data) {
isConnected(false);
message("Succès", "Vous êtes déconnecté.");
loadPrefs({theme:"green"});
});
return false;
}
});
});
// ==== Écran game
@ -365,6 +395,7 @@ runstate.serverPrefs = $.extend({}, runstate.prefs);
function loadPrefs(prefs) {
var previousTheme = runstate.prefs ? runstate.prefs.theme : 'green';
if (prefs && prefs.theme) {
isConnected(true);
runstate.prefs = prefs;
runstate.serverPrefs = $.extend({}, runstate.prefs);
if (runstate.loaded && previousTheme != runstate.prefs.theme) jss();
@ -383,8 +414,8 @@ function setPrefs(prefs, callback) {
runstate.pendingGetPrefs = function() {
$.ajaj("server.php?callback=?", { action: 7 }, null, null, function(data) {
if (data.theme) { runstate.connected = true; message("Succès", "Vous êtes connecté.", data.msg); loadPrefs(data); }
if (data.isError) message("Erreur", data.msg);
if (data.theme) { isConnected(true); message("Succès", "Vous êtes connecté."); loadPrefs(data); }
if (data.isError) { isConnected(false); message("Erreur", data.msg); }
});
};

View File

@ -111,8 +111,10 @@ function main()
setUserPref($user, $_GET['key'], $_GET['value']);
userPrefs($user);
}
else {
} elseif ($action == 9) {
session_destroy();
echo '{"disconnected":true}';
} else {
throw new Exception("Commande inconnue", 2);
}
}