home *** CD-ROM | disk | FTP | other *** search
- package com.althea.client.shufflr.model
- {
- import com.althea.client.shufflr.ApplicationFacade;
- import com.althea.client.shufflr.controller.errors.ApplicationError;
- import com.althea.client.shufflr.model.vo.RegistrationDescriptor;
- import com.facebook.data.users.FacebookUser;
- import flash.xml.XMLDocument;
- import flash.xml.XMLNode;
- import mx.logging.LogEventLevel;
- import mx.rpc.AsyncToken;
- import mx.rpc.Fault;
- import mx.rpc.IResponder;
- import mx.rpc.events.FaultEvent;
- import mx.rpc.http.HTTPService;
- import mx.rpc.xml.SimpleXMLEncoder;
- import org.puremvc.as3.multicore.patterns.proxy.Proxy;
-
- public class UserProxy extends Proxy implements IResponder
- {
- public static const NAME:String = "UserProxy";
-
- private var username:String;
-
- private var service:HTTPService;
-
- public function UserProxy(param1:Object = null)
- {
- super(NAME,param1);
- this.service = new HTTPService();
- this.service.method = "POST";
- this.service.requestTimeout = 20;
- this.service.url = NavMapProxy.serverUrl;
- }
-
- private function sendFacebookNote(param1:Object) : void
- {
- var _loc2_:String = param1.result.rss.channel.status;
- }
-
- private function sendAuthNote(param1:Object) : void
- {
- var _loc2_:Object = new Object();
- var _loc3_:String = param1.result.rss.channel.status;
- _loc2_.login = param1.result.rss.channel.login;
- _loc2_.id = param1.result.rss.channel.id;
- _loc2_.fb_info_status = param1.result.rss.channel.fb_info_status;
- _loc2_.questionnaire_submitted = param1.result.rss.channel.questionnaire_submitted;
- if(_loc3_ == "success")
- {
- this.sendNotification(ApplicationFacade.AUTHENTICATED_SUCCESS,_loc2_);
- }
- else
- {
- this.username = "";
- this.sendNotification(ApplicationFacade.UNAUTHENTICATED_SUCCESS);
- }
- }
-
- public function register(param1:RegistrationDescriptor) : void
- {
- this.service.url = NavMapProxy.serverUrl + "register";
- var _loc2_:Object = {};
- _loc2_["user[name]"] = param1.fullname;
- _loc2_["user[login]"] = param1.username;
- _loc2_["user[gender]"] = param1.gender;
- _loc2_["user[password]"] = param1.password;
- _loc2_["user[email]"] = param1.email;
- _loc2_["user[location"] = param1.location;
- _loc2_["user[dob]"] = param1.dob;
- _loc2_["user[fb_id]"] = param1.facebookId;
- _loc2_["user[twitter_id]"] = param1.twitterId;
- _loc2_["user[invite_code]"] = param1.inviteCode;
- _loc2_["download_source"] = param1.sourceSite;
- _loc2_["user[above_13]"] = param1.above13;
- _loc2_["user[tc_consent]"] = param1.tcConsent;
- _loc2_["version"] = param1.version;
- var _loc3_:AsyncToken = this.service.send(_loc2_);
- _loc3_.dataType = "register";
- _loc3_.addResponder(this);
- this.username = param1.username;
- }
-
- private function sendActivateKeyNote(param1:Object) : void
- {
- var _loc2_:String = param1.result.rss.channel.status;
- }
-
- private function sendKeyNote(param1:Object) : void
- {
- var _loc2_:String = param1.result.rss.channel.status;
- if(_loc2_ == "failure")
- {
- this.sendNotification(ApplicationFacade.CHECK_KEY_FAILED);
- }
- else
- {
- this.sendNotification(ApplicationFacade.CHECK_KEY_SUCCESS,param1.result.rss.channel.email);
- }
- }
-
- public function activateKey(param1:String) : void
- {
- this.service.url = NavMapProxy.serverUrl + "users/activation/activate";
- var _loc2_:Object = {};
- _loc2_["key"] = param1;
- var _loc3_:AsyncToken = this.service.send(_loc2_);
- _loc3_.dataType = "activateKey";
- _loc3_.addResponder(this);
- }
-
- public function unauthenticate() : void
- {
- this.service.url = NavMapProxy.serverUrl + "logout";
- }
-
- private function sendUsernameNote(param1:Object) : void
- {
- var _loc2_:String = param1.result.rss.channel.status;
- if(_loc2_ == "taken")
- {
- this.sendNotification(ApplicationFacade.USERNAME_TAKEN);
- }
- else if(_loc2_ == "available")
- {
- this.sendNotification(ApplicationFacade.USERNAME_AVAILABLE);
- }
- }
-
- public function fault(param1:Object) : void
- {
- var _loc2_:Fault = FaultEvent(param1).fault;
- var _loc3_:String = param1.token.dataType;
- switch(_loc3_)
- {
- case "register":
- this.sendNotification(ApplicationFacade.REGISTER_TIMEOUT);
- break;
- case "login":
- this.sendNotification(ApplicationFacade.AUTHENTICATION_TIMEOUT);
- break;
- case "checkUsername":
- this.sendNotification(ApplicationFacade.USERNAME_REQ_TIMEOUT);
- break;
- case "facebookUserData":
- break;
- case "checkKey":
- this.sendNotification(ApplicationFacade.CHECK_KEY_TIMEOUT);
- break;
- case "activateKey":
- }
- var _loc4_:ApplicationError = new ApplicationError(LogEventLevel.ERROR,9000,"authError");
- sendNotification(ApplicationFacade.ERROR,_loc4_,"authError");
- }
-
- public function authenticate(param1:String, param2:String, param3:String) : void
- {
- this.username = param1;
- this.service.url = NavMapProxy.serverUrl + "session";
- var _loc4_:Object = {};
- _loc4_["login"] = param1;
- _loc4_["password"] = param2;
- _loc4_["version"] = param3;
- var _loc5_:AsyncToken = this.service.send(_loc4_);
- _loc5_.dataType = "login";
- _loc5_.addResponder(this);
- }
-
- public function checkKey(param1:String) : void
- {
- this.service.url = NavMapProxy.serverUrl + "users/activation/validate";
- var _loc2_:Object = {};
- _loc2_["key"] = param1;
- var _loc3_:AsyncToken = this.service.send(_loc2_);
- _loc3_.dataType = "checkKey";
- _loc3_.addResponder(this);
- }
-
- public function sendFacebookData(param1:FacebookUser) : void
- {
- var _loc2_:QName = new QName("root");
- var _loc3_:XMLDocument = new XMLDocument();
- var _loc4_:SimpleXMLEncoder = new SimpleXMLEncoder(_loc3_);
- var _loc5_:XMLNode = _loc4_.encodeValue(param1,_loc2_,_loc3_);
- var _loc6_:XML = new XML(_loc3_.toString());
- trace(_loc6_.toXMLString());
- this.service.url = NavMapProxy.serverUrl + "users/fb_info";
- var _loc7_:Object = {};
- _loc7_["fb_xml"] = _loc6_.toXMLString();
- var _loc8_:AsyncToken = this.service.send(_loc7_);
- _loc8_.dataType = "facebookUserData";
- _loc8_.addResponder(this);
- }
-
- public function result(param1:Object) : void
- {
- var dataType:String = null;
- var rpcEvent:Object = param1;
- try
- {
- dataType = rpcEvent.token.dataType;
- if(rpcEvent.result.rss.channel.status == "failure" && rpcEvent.result.rss.channel.error == "invalid session")
- {
- this.sendNotification(ApplicationFacade.LOGOUT);
- }
- switch(dataType)
- {
- case "register":
- this.sendRegisterNote(rpcEvent);
- break;
- case "login":
- this.sendAuthNote(rpcEvent);
- break;
- case "checkUsername":
- this.sendUsernameNote(rpcEvent);
- break;
- case "facebookUserData":
- this.sendFacebookNote(rpcEvent);
- break;
- case "checkKey":
- this.sendKeyNote(rpcEvent);
- break;
- case "activateKey":
- this.sendActivateKeyNote(rpcEvent);
- }
- }
- catch(errObj:Error)
- {
- trace(errObj.message);
- }
- }
-
- public function checkUsername(param1:String) : void
- {
- this.service.url = NavMapProxy.serverUrl + "users/availability/" + param1;
- var _loc2_:AsyncToken = this.service.send();
- _loc2_.dataType = "checkUsername";
- _loc2_.addResponder(this);
- }
-
- private function sendRegisterNote(param1:Object) : void
- {
- var _loc4_:Object = null;
- var _loc2_:String = param1.result.rss.channel.status;
- var _loc3_:Object = new Object();
- _loc3_.id = param1.result.rss.channel.id;
- _loc3_.login = param1.result.rss.channel.login;
- if(_loc2_ == "success")
- {
- this.sendNotification(ApplicationFacade.REGISTER_SUCCESS,_loc3_);
- }
- else
- {
- this.username = "";
- _loc4_ = param1.result.rss.channel.errors;
- this.sendNotification(ApplicationFacade.REGISTER_FAILED,_loc4_.error);
- }
- }
- }
- }
-
-