Project

General

Profile

Statistics
| Revision:

root / trunk / web / dojo / dojox / flash / ExpressInstall.as @ 11

History | View | Annotate | Download (2.33 KB)

1 9 andrej.cim
/**
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
}