home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Multimedija / shufflr.air / ShufflrClient.swf / scripts / air / update / utils / VersionUtils.as < prev   
Encoding:
Text File  |  2010-06-23  |  3.5 KB  |  111 lines

  1. package air.update.utils
  2. {
  3.    import flash.desktop.NativeApplication;
  4.    
  5.    public class VersionUtils
  6.    {
  7.       private static const SPECIALS:Array = ["alpha","beta","rc"];
  8.       
  9.       public function VersionUtils()
  10.       {
  11.          super();
  12.       }
  13.       
  14.       public static function isNewerVersion(param1:String, param2:String) : Boolean
  15.       {
  16.          var _loc9_:String = null;
  17.          var _loc10_:String = null;
  18.          var _loc11_:Boolean = false;
  19.          var _loc12_:Boolean = false;
  20.          var _loc13_:uint = 0;
  21.          var _loc14_:uint = 0;
  22.          var _loc15_:int = 0;
  23.          var _loc16_:int = 0;
  24.          var _loc17_:String = null;
  25.          var _loc18_:String = null;
  26.          var _loc3_:String = param1.replace(/[+\-_ ]/g,".").replace(/\.(\.)+/g,".").replace(/([^\d\.])([^\D\.])/g,"$1.$2").replace(/([^\D\.])([^\d\.])/g,"$1.$2");
  27.          var _loc4_:String = param2.replace(/[+\-_ ]/g,".").replace(/\.(\.)+/g,".").replace(/([^\d\.])([^\D\.])/g,"$1.$2").replace(/([^\D\.])([^\d\.])/g,"$1.$2");
  28.          var _loc5_:Array = _loc3_.split(".");
  29.          var _loc6_:Array = _loc4_.split(".");
  30.          var _loc7_:int = Math.min(_loc5_.length,_loc6_.length);
  31.          var _loc8_:int = 0;
  32.          while(_loc8_ < _loc7_)
  33.          {
  34.             _loc9_ = _loc5_[_loc8_];
  35.             _loc10_ = _loc6_[_loc8_];
  36.             _loc11_ = StringUtils.isDigit(_loc9_.charAt(0));
  37.             _loc12_ = StringUtils.isDigit(_loc10_.charAt(0));
  38.             if(_loc11_ && _loc12_)
  39.             {
  40.                _loc13_ = uint(_loc9_);
  41.                _loc14_ = uint(_loc10_);
  42.                if(_loc14_ != _loc13_)
  43.                {
  44.                   return _loc14_ > _loc13_;
  45.                }
  46.             }
  47.             else
  48.             {
  49.                if(!(!_loc11_ && !_loc12_))
  50.                {
  51.                   if(_loc11_)
  52.                   {
  53.                      return false;
  54.                   }
  55.                   return true;
  56.                }
  57.                _loc15_ = int(SPECIALS.indexOf(_loc9_.toLowerCase()));
  58.                _loc16_ = int(SPECIALS.indexOf(_loc10_.toLowerCase()));
  59.                if(_loc15_ != -1 && _loc16_ != -1)
  60.                {
  61.                   if(_loc15_ != _loc16_)
  62.                   {
  63.                      return _loc16_ > _loc15_;
  64.                   }
  65.                }
  66.                else
  67.                {
  68.                   _loc17_ = _loc9_.toLowerCase();
  69.                   _loc18_ = _loc10_.toLowerCase();
  70.                   if(_loc18_ != _loc17_)
  71.                   {
  72.                      return _loc18_ > _loc17_;
  73.                   }
  74.                }
  75.             }
  76.             _loc8_++;
  77.          }
  78.          if(_loc5_.length == _loc6_.length)
  79.          {
  80.             return false;
  81.          }
  82.          if(_loc5_.length > _loc6_.length)
  83.          {
  84.             if(StringUtils.isDigit(_loc5_[_loc7_].charAt(0)))
  85.             {
  86.                return false;
  87.             }
  88.             return true;
  89.          }
  90.          if(StringUtils.isDigit(_loc6_[_loc7_].charAt(0)))
  91.          {
  92.             return true;
  93.          }
  94.          return false;
  95.       }
  96.       
  97.       public static function getApplicationVersion() : String
  98.       {
  99.          var _loc1_:XML = NativeApplication.nativeApplication.applicationDescriptor;
  100.          var _loc2_:Namespace = _loc1_.namespace();
  101.          return _loc1_._loc2_::version;
  102.       }
  103.       
  104.       public static function getApplicationID() : String
  105.       {
  106.          return NativeApplication.nativeApplication.applicationID;
  107.       }
  108.    }
  109. }
  110.  
  111.