1 | <?php |
---|
2 | require_once '../../../../require.php'; |
---|
3 | header('Content-Type: application/x-javascript'); |
---|
4 | ?> |
---|
5 | /* |
---|
6 | * Thickbox 3.1 - One Box To Rule Them All. |
---|
7 | * By Cody Lindley (http://www.codylindley.com) |
---|
8 | * Copyright (c) 2007 cody lindley |
---|
9 | * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php |
---|
10 | */ |
---|
11 | |
---|
12 | /* |
---|
13 | * ownersstore.js |
---|
14 | * |
---|
15 | * オーナーズストア通信用ライブラリ. |
---|
16 | * CSSやjavascriptのオーバーレイ処理はThickboxのものを使っています. |
---|
17 | * |
---|
18 | */ |
---|
19 | |
---|
20 | (function() { |
---|
21 | // オーナーズストア通信スクリプトのパス |
---|
22 | var upgrade_url = '<?php echo ROOT_URLPATH ?>upgrade/<?php echo DIR_INDEX_PATH; ?>'; |
---|
23 | |
---|
24 | // ロード中メッセージ「サーバーと通信中です」 |
---|
25 | var loading_message = '\u30b5\u30fc\u30d0\u30fc\u3068\u901a\u4fe1\u4e2d\u3067\u3059'; |
---|
26 | |
---|
27 | // ロード中画像の先読み |
---|
28 | var loading_img = new Image(); |
---|
29 | loading_img.src = '<?php echo ROOT_URLPATH . USER_DIR ?>packages/default/img/ajax/loading.gif'; |
---|
30 | |
---|
31 | var OwnersStore = function() {} |
---|
32 | OwnersStore.prototype = { |
---|
33 | // detect Mac and Firefox use. |
---|
34 | detectMacFF: function() { |
---|
35 | var ua = navigator.userAgent.toLowerCase(); |
---|
36 | if (ua.indexOf('mac') != -1 && ua.indexOf('firefox') != -1) { |
---|
37 | return true; |
---|
38 | } |
---|
39 | }, |
---|
40 | // remove ajax window |
---|
41 | remove: function() { |
---|
42 | $('#TB_window').fadeOut( |
---|
43 | 'fast', |
---|
44 | function(){ |
---|
45 | $('#TB_window,#TB_overlay,#TB_HideSelect').trigger('unload').unbind().remove(); |
---|
46 | } |
---|
47 | ); |
---|
48 | $('#TB_load').remove(); |
---|
49 | //if IE 6 |
---|
50 | if (typeof document.body.style.maxHeight == 'undefined') { |
---|
51 | $('body', 'html').css({height: 'auto', width: 'auto'}); |
---|
52 | $('html').css('overflow', ""); |
---|
53 | } |
---|
54 | return false; |
---|
55 | }, |
---|
56 | // show loading page |
---|
57 | show_loading: function() { |
---|
58 | //if IE 6 |
---|
59 | if (typeof document.body.style.maxHeight === 'undefined') { |
---|
60 | $('body','html').css({height: "100%", width: "100%"}); |
---|
61 | $('html').css('overflow','hidden'); |
---|
62 | //iframe to hide select elements in ie6 |
---|
63 | if (document.getElementById('TB_HideSelect') === null) { |
---|
64 | $('body').append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>"); |
---|
65 | $('#TB_overlay').click(this.remove); |
---|
66 | } |
---|
67 | //all others |
---|
68 | } else { |
---|
69 | if (document.getElementById('TB_overlay') === null) { |
---|
70 | $('body').append("<div id='TB_overlay'></div><div id='TB_window'></div>"); |
---|
71 | $('#TB_overlay').click(this.remove); |
---|
72 | } |
---|
73 | } |
---|
74 | |
---|
75 | if (this.detectMacFF()) { |
---|
76 | //use png overlay so hide flash |
---|
77 | $('#TB_overlay').addClass('TB_overlayMacFFBGHack'); |
---|
78 | } else { |
---|
79 | //use background and opacity |
---|
80 | $('#TB_overlay').addClass('TB_overlayBG'); |
---|
81 | } |
---|
82 | |
---|
83 | //add and show loader to the page |
---|
84 | $('body').append( |
---|
85 | "<div id='TB_load'>" |
---|
86 | + " <p style='color:#ffffff'>" + loading_message + "</p>" |
---|
87 | + " <img src='" + loading_img.src + "' />" |
---|
88 | + '</div>' |
---|
89 | ); |
---|
90 | $('#TB_load').show(); |
---|
91 | }, |
---|
92 | |
---|
93 | // show results |
---|
94 | show_result: function(resp, status, product_id) { |
---|
95 | var title = resp.status || 'ERROR'; |
---|
96 | var contents = resp.msg || ''; |
---|
97 | |
---|
98 | var TB_WIDTH = 400; |
---|
99 | var TB_HEIGHT = 300; |
---|
100 | var ajaxContentW = TB_WIDTH - 20; |
---|
101 | var ajaxContentH = TB_HEIGHT - 45; |
---|
102 | |
---|
103 | if ($('#TB_window').css('display') != 'block') { |
---|
104 | $('#TB_window').append( |
---|
105 | "<div id='TB_title'>" |
---|
106 | + " <div id='TB_ajaxWindowTitle'></div>" |
---|
107 | + " <div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' onclick='OwnersStore.remove();'>close</a></div>" |
---|
108 | + '</div>' |
---|
109 | + "<div id='TB_ajaxContent' style='width:" + ajaxContentW + "px;height:" + ajaxContentH + "px'>" |
---|
110 | + '</div>' |
---|
111 | ); |
---|
112 | //this means the window is already up, we are just loading new content via ajax |
---|
113 | } else { |
---|
114 | $('#TB_ajaxContent')[0].style.width = ajaxContentW +'px'; |
---|
115 | $('#TB_ajaxContent')[0].style.height = ajaxContentH +'px'; |
---|
116 | $('#TB_ajaxContent')[0].scrollTop = 0; |
---|
117 | } |
---|
118 | |
---|
119 | $('#TB_load').remove(); |
---|
120 | $('#TB_window').css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'}); |
---|
121 | |
---|
122 | // take away IE6 |
---|
123 | if (!(jQuery.browser.msie && jQuery.browser.version < 7)) { |
---|
124 | $('#TB_window').css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'}); |
---|
125 | } |
---|
126 | |
---|
127 | $('#TB_ajaxWindowTitle').html(title); |
---|
128 | $('#TB_ajaxContent').html(contents); |
---|
129 | $('#TB_window').css({display:'block'}); |
---|
130 | |
---|
131 | // DL成功時に設定ボタンを表示 |
---|
132 | if (resp.status == 'SUCCESS' && product_id) { |
---|
133 | $('#ownersstore_settings_default' + product_id).hide(); // --を非表示 |
---|
134 | $('#ownersstore_settings' + product_id).show(); // 設定ボタン表示 |
---|
135 | $('#ownersstore_download' + product_id).html('\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9'); // アップデートボタンを「ダウンロード」へ変換 |
---|
136 | $('#ownersstore_version' + product_id).html(resp.data.version); |
---|
137 | } |
---|
138 | }, |
---|
139 | |
---|
140 | // exexute install or update |
---|
141 | download: function(product_id) { |
---|
142 | this.show_loading(); |
---|
143 | var show = this.show_result; |
---|
144 | $.post( |
---|
145 | upgrade_url, |
---|
146 | {mode: 'download', product_id: product_id}, |
---|
147 | function(resp, status) { |
---|
148 | show(resp, status, product_id); |
---|
149 | }, |
---|
150 | 'json' |
---|
151 | ) |
---|
152 | }, |
---|
153 | |
---|
154 | // get products list |
---|
155 | products_list: function() { |
---|
156 | this.show_loading(); |
---|
157 | var show = this.show_result; |
---|
158 | var remove = this.remove; |
---|
159 | $().ajaxError(this.show_result); |
---|
160 | $.post( |
---|
161 | upgrade_url, |
---|
162 | {mode: 'products_list'}, |
---|
163 | function(resp, status) { |
---|
164 | if (resp.status == 'SUCCESS') { |
---|
165 | remove(); |
---|
166 | $('#ownersstore_index').hide(); |
---|
167 | $('#ownersstore_products_list').html(resp.msg); |
---|
168 | } else { |
---|
169 | show(resp, status); |
---|
170 | } |
---|
171 | }, |
---|
172 | 'json' |
---|
173 | ) |
---|
174 | } |
---|
175 | } |
---|
176 | window.OwnersStore = new OwnersStore(); |
---|
177 | })(); |
---|