2150 |
mathias |
1 |
/**
|
|
|
2 |
* Based on the expressinstall.as class created by Geoff Stearns as part
|
|
|
3 |
* of the FlashObject library.
|
|
|
4 |
*
|
|
|
5 |
* Use this file to invoke the Macromedia Flash Player Express Install functionality
|
|
|
6 |
* This file is intended for use with the FlashObject embed script. You can download FlashObject
|
|
|
7 |
* and this file at the following URL: http://blog.deconcept.com/flashobject/
|
|
|
8 |
*
|
|
|
9 |
* Usage:
|
|
|
10 |
* var ExpressInstall = new ExpressInstall();
|
|
|
11 |
*
|
|
|
12 |
* // test to see if install is needed:
|
|
|
13 |
* if (ExpressInstall.needsUpdate) { // returns true if update is needed
|
|
|
14 |
* ExpressInstall.init(); // starts the update
|
|
|
15 |
* }
|
|
|
16 |
*
|
|
|
17 |
* NOTE: Your Flash movie must be at least 214px by 137px in order to use ExpressInstall.
|
|
|
18 |
*
|
|
|
19 |
*/
|
|
|
20 |
|
|
|
21 |
class ExpressInstall {
|
|
|
22 |
public var needsUpdate:Boolean;
|
|
|
23 |
private var updater:MovieClip;
|
|
|
24 |
private var hold:MovieClip;
|
|
|
25 |
|
|
|
26 |
public function ExpressInstall(){
|
|
|
27 |
// does the user need to update?
|
|
|
28 |
this.needsUpdate = (_root.MMplayerType == undefined) ? false : true;
|
|
|
29 |
}
|
|
|
30 |
|
|
|
31 |
public function init():Void{
|
|
|
32 |
this.loadUpdater();
|
|
|
33 |
}
|
|
|
34 |
|
|
|
35 |
public function loadUpdater():Void {
|
|
|
36 |
System.security.allowDomain("fpdownload.macromedia.com");
|
|
|
37 |
|
|
|
38 |
// hope that nothing is at a depth of 10000000, you can change this depth if needed, but you want
|
|
|
39 |
// it to be on top of your content if you have any stuff on the first frame
|
|
|
40 |
this.updater = _root.createEmptyMovieClip("expressInstallHolder", 10000000);
|
|
|
41 |
|
|
|
42 |
// register the callback so we know if they cancel or there is an error
|
|
|
43 |
var _self = this;
|
|
|
44 |
this.updater.installStatus = _self.onInstallStatus;
|
|
|
45 |
this.hold = this.updater.createEmptyMovieClip("hold", 1);
|
|
|
46 |
|
|
|
47 |
// can't use movieClipLoader because it has to work in 6.0.65
|
|
|
48 |
this.updater.onEnterFrame = function():Void {
|
|
|
49 |
if(typeof this.hold.startUpdate == 'function'){
|
|
|
50 |
_self.initUpdater();
|
|
|
51 |
this.onEnterFrame = null;
|
|
|
52 |
}
|
|
|
53 |
}
|
|
|
54 |
|
|
|
55 |
var cacheBuster:Number = Math.random();
|
|
|
56 |
|
|
|
57 |
this.hold.loadMovie("http://fpdownload.macromedia.com/pub/flashplayer/"
|
|
|
58 |
+"update/current/swf/autoUpdater.swf?"+ cacheBuster);
|
|
|
59 |
}
|
|
|
60 |
|
|
|
61 |
private function initUpdater():Void{
|
|
|
62 |
this.hold.redirectURL = _root.MMredirectURL;
|
|
|
63 |
this.hold.MMplayerType = _root.MMplayerType;
|
|
|
64 |
this.hold.MMdoctitle = _root.MMdoctitle;
|
|
|
65 |
this.hold.startUpdate();
|
|
|
66 |
}
|
|
|
67 |
|
|
|
68 |
public function onInstallStatus(msg):Void{
|
|
|
69 |
getURL("javascript:dojox.flash.install._onInstallStatus('"+msg+"')");
|
|
|
70 |
}
|
|
|
71 |
}
|