home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Multimedija / shufflr.air / ShufflrClient.swf / scripts / com / facebook / delegates / RequestHelper.as < prev    next >
Encoding:
Text File  |  2010-06-23  |  2.2 KB  |  67 lines

  1. package com.facebook.delegates
  2. {
  3.    import com.adobe.crypto.MD5;
  4.    import com.facebook.facebook_internal;
  5.    import com.facebook.net.FacebookCall;
  6.    import com.facebook.session.IFacebookSession;
  7.    import flash.display.Bitmap;
  8.    import flash.display.BitmapData;
  9.    import flash.net.FileReference;
  10.    import flash.utils.ByteArray;
  11.    
  12.    use namespace facebook_internal;
  13.    
  14.    public class RequestHelper
  15.    {
  16.       protected static var callID:int = 0;
  17.       
  18.       public function RequestHelper()
  19.       {
  20.          super();
  21.       }
  22.       
  23.       public static function formatRequest(param1:FacebookCall) : void
  24.       {
  25.          var _loc2_:IFacebookSession = param1.session;
  26.          param1.facebook_internal::setRequestArgument("v",_loc2_.api_version);
  27.          if(_loc2_.api_key != null)
  28.          {
  29.             param1.facebook_internal::setRequestArgument("api_key",_loc2_.api_key);
  30.          }
  31.          if(_loc2_.session_key != null && param1.useSession)
  32.          {
  33.             param1.facebook_internal::setRequestArgument("session_key",_loc2_.session_key);
  34.          }
  35.          var _loc3_:String = new Date().time.toString() + (callID++).toString();
  36.          param1.facebook_internal::setRequestArgument("call_id",_loc3_);
  37.          param1.facebook_internal::setRequestArgument("method",param1.method);
  38.          param1.facebook_internal::setRequestArgument("sig",formatSig(param1));
  39.       }
  40.       
  41.       public static function formatSig(param1:FacebookCall) : String
  42.       {
  43.          var _loc4_:String = null;
  44.          var _loc5_:String = null;
  45.          var _loc6_:* = undefined;
  46.          var _loc2_:IFacebookSession = param1.session;
  47.          var _loc3_:Array = [];
  48.          for(_loc4_ in param1.args)
  49.          {
  50.             _loc6_ = param1.args[_loc4_];
  51.             if(_loc4_ !== "sig" && !(_loc6_ is ByteArray) && !(_loc6_ is FileReference) && !(_loc6_ is BitmapData) && !(_loc6_ is Bitmap))
  52.             {
  53.                _loc3_.push(_loc4_ + "=" + _loc6_.toString());
  54.             }
  55.          }
  56.          _loc3_.sort();
  57.          _loc5_ = _loc3_.join("");
  58.          if(_loc2_.secret != null)
  59.          {
  60.             _loc5_ += _loc2_.secret;
  61.          }
  62.          return MD5.hash(_loc5_);
  63.       }
  64.    }
  65. }
  66.  
  67.