1 |
|
---|
2 | var wpGears = {
|
---|
3 |
|
---|
4 | createStore : function() {
|
---|
5 | if ( 'undefined' == typeof google || ! google.gears ) return;
|
---|
6 |
|
---|
7 | if ( 'undefined' == typeof localServer )
|
---|
8 | localServer = google.gears.factory.create("beta.localserver");
|
---|
9 |
|
---|
10 | store = localServer.createManagedStore(this.storeName());
|
---|
11 | store.manifestUrl = "gears-manifest.php";
|
---|
12 | store.checkForUpdate();
|
---|
13 | this.message(3);
|
---|
14 | },
|
---|
15 |
|
---|
16 | getPermission : function() {
|
---|
17 | var perm = true;
|
---|
18 |
|
---|
19 | if ( 'undefined' != typeof google && google.gears ) {
|
---|
20 | if ( ! google.gears.factory.hasPermission )
|
---|
21 | perm = google.gears.factory.getPermission( 'WordPress', 'images/logo.gif' );
|
---|
22 |
|
---|
23 | if ( perm )
|
---|
24 | try { this.createStore(); } catch(e) { this.message(); } // silence if canceled
|
---|
25 | else
|
---|
26 | this.message(4);
|
---|
27 | }
|
---|
28 | },
|
---|
29 |
|
---|
30 | storeName : function() {
|
---|
31 | var name = window.location.protocol + window.location.host;
|
---|
32 |
|
---|
33 | name = name.replace(/[\/\\:*"?<>|;,]+/g, '_'); // gears beta doesn't allow certain chars in the store name
|
---|
34 | name = 'wp_' + name.substring(0, 60); // max length of name is 64 chars
|
---|
35 |
|
---|
36 | return name;
|
---|
37 | },
|
---|
38 |
|
---|
39 | message : function(show) {
|
---|
40 | var t = this, msg1 = t.I('gears-msg1'), msg2 = t.I('gears-msg2'), msg3 = t.I('gears-msg3'), msg4 = t.I('gears-msg4'), num = t.I('gears-upd-number'), wait = t.I('gears-wait');
|
---|
41 |
|
---|
42 | if ( ! msg1 ) return;
|
---|
43 |
|
---|
44 | if ( 'undefined' != typeof google && google.gears ) {
|
---|
45 | if ( show && show == 4 ) {
|
---|
46 | msg1.style.display = msg2.style.display = msg3.style.display = 'none';
|
---|
47 | msg4.style.display = 'block';
|
---|
48 | } else if ( google.gears.factory.hasPermission ) {
|
---|
49 | msg1.style.display = msg2.style.display = msg4.style.display = 'none';
|
---|
50 | msg3.style.display = 'block';
|
---|
51 |
|
---|
52 | if ( 'undefined' == typeof store )
|
---|
53 | t.createStore();
|
---|
54 |
|
---|
55 | store.oncomplete = function(){wait.innerHTML = (' ' + wpGearsL10n.updateCompleted);};
|
---|
56 | store.onerror = function(){wait.innerHTML = (' ' + wpGearsL10n.error + ' ' + store.lastErrorMessage);};
|
---|
57 | store.onprogress = function(e){if(num) num.innerHTML = (' ' + e.filesComplete + ' / ' + e.filesTotal);};
|
---|
58 | } else {
|
---|
59 | msg1.style.display = msg3.style.display = msg4.style.display = 'none';
|
---|
60 | msg2.style.display = 'block';
|
---|
61 | }
|
---|
62 | }
|
---|
63 | },
|
---|
64 |
|
---|
65 | I : function(id) {
|
---|
66 | return document.getElementById(id);
|
---|
67 | }
|
---|
68 | };
|
---|
69 |
|
---|
70 | (function() {
|
---|
71 | if ( 'undefined' != typeof google && google.gears ) return;
|
---|
72 |
|
---|
73 | var gf = false;
|
---|
74 | if ( 'undefined' != typeof GearsFactory ) {
|
---|
75 | gf = new GearsFactory();
|
---|
76 | } else {
|
---|
77 | try {
|
---|
78 | gf = new ActiveXObject('Gears.Factory');
|
---|
79 | if ( factory.getBuildInfo().indexOf('ie_mobile') != -1 )
|
---|
80 | gf.privateSetGlobalObject(this);
|
---|
81 | } catch (e) {
|
---|
82 | if ( ( 'undefined' != typeof navigator.mimeTypes ) && navigator.mimeTypes['application/x-googlegears'] ) {
|
---|
83 | gf = document.createElement("object");
|
---|
84 | gf.style.display = "none";
|
---|
85 | gf.width = 0;
|
---|
86 | gf.height = 0;
|
---|
87 | gf.type = "application/x-googlegears";
|
---|
88 | document.documentElement.appendChild(gf);
|
---|
89 | }
|
---|
90 | }
|
---|
91 | }
|
---|
92 |
|
---|
93 | if ( ! gf ) return;
|
---|
94 | if ( 'undefined' == typeof google ) google = {};
|
---|
95 | if ( ! google.gears ) google.gears = { factory : gf };
|
---|
96 | })();
|
---|