home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Practical Internet Web Designer 89
/
PIWD89.iso
/
pc
/
CONTENTS
/
FLASH
/
UTILITIES
/
den
/
FlashMX
/
authorize
/
portal
/
main.asc
Wrap
Text File
|
2003-12-02
|
2KB
|
75 lines
application.onAppStart = function()
{
trace("startingNew");
application.users = SharedObject.get("users", true);
application.usersOnline = SharedObject.get("usersOnline", false);
}
application.onConnect = function(newClient)
{
application.acceptConnection(newClient);
newClient.authorize = function(loginArray,firstTime)
{
errorCode = new Object({success:0,code:"none"});
loginName = loginArray.name;
newClient.ID = loginName;
userNow = application.users.getProperty(loginName);
if (firstTime) {
// if registering new user
if (userNow != null){
// ::ERROR:: USER EXIST
trace(":: ERR: " + loginName + " already registered");
errorCode.success = 0;
errorCode.code = "already registered";
} else {
// :: OKEY :: ADD NEW USER
newUser = new Object();
delete loginArray.name;
newUser = loginArray;
newUser.points = 0; // game points
newUser.games = 0; // games played by user
application.users.lock();
application.users.setProperty(loginName,newUser);
application.users.flush();
application.users.unlock();
application.usersOnline.setProperty(newClient.ID, newClient.ID);
errorCode.success = 1;
errorCode.code = "logged";
}
} else {
// :: INFO :: TEST FOR PASSWORD
if (userNow == null){
// ::ERROR:: USER NOT EXIST
trace(":: ERR: " + loginName + " not found")
errorCode.success = 0;
errorCode.code = "no such user";
} else {
// :: OKEY :: TEST FOR PASS
var loginPassword = loginArray.password;
var userPass = userNow.password;
if (userPass == loginPassword){
trace (loginName + "logged inside")
application.usersOnline.setProperty(newClient.ID, newClient.ID);
application.acceptConnection(newClient);
errorCode.success = 1;
errorCode.code = "logged";
} else {
trace(":: ERR: " + loginName + " password error")
errorCode.success = 0;
errorCode.code = "password error";
}
}
}
return (errorCode);
}
}
application.onDisconnect = function(newClient)
{
trace("disconnect: " + newClient.ID);
application.usersOnline.setProperty(newClient.ID, null);
}