You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
2.2 KiB
110 lines
2.2 KiB
function Session(sInfo, sId, sUser)
|
|
{
|
|
this.eUser = $(sUser);
|
|
this.eId = $(sId);
|
|
this.canvas = $(sInfo + " canvas").get(0);
|
|
this.context = this.canvas.getContext("2d");
|
|
|
|
this.id = "none"
|
|
this.timeout = 0;
|
|
this.timeleft = 0;
|
|
this.user = null;
|
|
|
|
//this.draw();
|
|
}
|
|
|
|
Session.prototype.isAthenticated = function(data)
|
|
{
|
|
}
|
|
|
|
Session.prototype.authenticate = function(data)
|
|
{
|
|
this.username = data.username;
|
|
this.email = data.email;
|
|
this.firstname = data.firstname;
|
|
this.surname = data.surname;
|
|
|
|
name = "";
|
|
if ('' == this.username) {
|
|
name = "not logged in";
|
|
$("li.signup").removeClass("hide");
|
|
$("li.login").removeClass("hide");
|
|
$("li.logout").addClass("hide");
|
|
} else {
|
|
if ('' == this.firstname || '' == this.surname) {
|
|
name += this.username;
|
|
} else {
|
|
name += this.firstname + " " + this.surname;
|
|
}
|
|
$("li.signup").addClass("hide");
|
|
$("li.login").addClass("hide");
|
|
$("li.logout").removeClass("hide");
|
|
}
|
|
|
|
this.eUser.empty().append(name);
|
|
}
|
|
|
|
Session.prototype.loadJSON = function(data)
|
|
{
|
|
// this.stop();
|
|
|
|
this.id = ("0" == data.id)? "none" : data.id;
|
|
this.timeout = data.timeout * 10;
|
|
this.timeleft = data.timeleft * 10;
|
|
|
|
this.eId.empty().append(this.id);
|
|
|
|
this.draw();
|
|
if (0 < this.timeleft)
|
|
this.start();
|
|
}
|
|
|
|
Session.prototype.draw = function()
|
|
{
|
|
this.context.fillStyle = "rgb(255, 0, 0)";
|
|
this.context.fillRect(0, 0, this.canvas.width, this.canvas.height);
|
|
|
|
this.context.fillStyle = "rgb(0, 255, 0)";
|
|
this.context.fillRect(0, 0,
|
|
this.canvas.width / this.timeout * this.timeleft,
|
|
this.canvas.height);
|
|
}
|
|
|
|
Session.prototype.start = function()
|
|
{
|
|
if (null === this.interval) {
|
|
this.interval = setInterval($.proxy(this.process, this), 1000);
|
|
}
|
|
}
|
|
|
|
Session.prototype.process = function()
|
|
{
|
|
if (0 >= this.timeleft) {
|
|
this.stop();
|
|
}
|
|
|
|
else {
|
|
this.timeleft -= 10;
|
|
this.draw();
|
|
}
|
|
}
|
|
|
|
Session.prototype.stop = function()
|
|
{
|
|
clearInterval(this.interval);
|
|
this.interval = null;
|
|
this.id = "none";
|
|
this.timeout = 0;
|
|
this.timeleft = 0;
|
|
this.username = "";
|
|
this.email = "";
|
|
this.firstname = "";
|
|
this.surname = "";
|
|
|
|
this.eId.empty().append("");
|
|
this.eUser.empty().append("not logged in");
|
|
|
|
this.draw();
|
|
}
|
|
|
|
// vim: set ts=4 sw=4:
|