]>
git.saurik.com Git - cydia.git/blob - Cydia.app/package.js
2 "name": "MobileTerminal",
5 "name": "Allen Porter",
6 "address": "allen.porter@gmail.com"
8 //"depiction": "http://planet-iphones.com/repository/info/chromium1.3.php",
9 "depiction": "http://cydia.saurik.com/terminal.html",
10 "longDescription": "this is a sample description",
11 "homepage": "http://cydia.saurik.com/terminal.html",
12 "installed": "286u-4",
13 "id": "mobileterminal",
14 "section": "Terminal Support",
17 "name": "Jay Freeman",
18 "address": "saurik@saurik.com"
21 "name": "Telesphoreo Tangelo",
22 "description": "Distribution of Unix Software for the iPhone"
26 function space(selector
, html
, max
) {
27 var node
= $(selector
);
29 var width
= node
.width();
31 var spacing
= (max
- node
.width()) / (html
.length
- 1) + "px";
32 node
.css("letter-spacing", spacing
);
37 return url
.replace('://', '://ne.edgecastcdn.net/8003A4/');
40 var swap_
, swap = function (on
, off
, time
) {
41 setTimeout(swap_(on
, off
, time
), time
);
44 swap_ = function (on
, off
, time
) {
46 on
.className
= 'fade-out';
47 off
.className
= 'fade-in';
52 var special_ = function () {
57 var idc
= encodeURIComponent(id
);
58 var name
= package.name
;
59 var icon
= 'cydia://package-icon/' + idc
;
60 var api
= 'http://cydia.saurik.com/api/';
62 var support
= package.support
;
64 var regarding = function (type
) {
65 return encodeURIComponent("Cydia/APT(" + type
+ "): " + name
);
68 $("#icon").css("background-image", 'url("' + icon
+ '")');
69 //$("#reflection").src("cydia://package-icon/" + idc);
71 $("#name").html(name
);
72 space("#latest", package.latest
, 96);
74 $.xhr(cache(api
+ 'package/' + idc
), 'GET', {}, null, {
75 success: function (value
) {
78 if (typeof value
.notice
== "undefined")
79 $(".notice").addClass("deleted");
81 $("#notice-src")[0].outerHTML
= '<iframe' +
88 ' src="' + $.xml(value
.notice
) + '"' +
89 ' onload="onframe(' + "'notice-src', 'notice'" + ')"' +
92 if (typeof value
.rating
== "undefined")
93 $(".rating").addClass("deleted");
95 $("#rating-load").addClass("deleted");
96 $("#rating-href").href(value
.reviews
);
98 var none
= $("#rating-none");
99 var done
= $("#rating-done");
101 if (value
.rating
== null) {
102 none
.css("display", "block");
104 done
.css("display", "block");
106 $("#rating-value").css('width', 16 * value
.rating
);
110 if (typeof value
.icon
!= "undefined" && value
.icon
!= null) {
111 var icon
= $("#icon");
112 var thumb
= $("#thumb");
114 icon
[0].className
= 'flip-180';
115 thumb
[0].className
= 'flip-360';
117 thumb
.css("background-image", 'url("' + value
.icon
+ '")');
119 setTimeout(function () {
120 icon
.addClass("deleted");
121 thumb
[0].className
= 'flip-0';
126 failure: function (status
) {
127 $(".rating").addClass("deleted");
131 $("#settings").href("cydia://package-settings/" + idc
);
133 var mode
= package.mode
;
135 $(".mode").addClass("deleted");
137 $("#mode").html(cydia
.localize(mode
));
138 $("#mode-src").src("Modes/" + mode
+ ".png");
141 var warnings
= package.warnings
;
142 var length
= warnings
== null ? 0 : warnings
.length
;
144 $(".warnings").addClass("deleted");
146 var parent
= $("#warnings");
147 var child
= $("#warning");
149 for (var i
= 0; i
!= length
; ++i
) {
150 var clone
= child
.clone(true);
151 clone
.addClass("inserted");
152 parent
.append(clone
);
153 clone
.xpath("./div/label").html($.xml(warnings
[i
]));
156 child
.addClass("deleted");
159 var applications
= package.applications
;
160 var length
= applications
== null ? 0 : applications
.length
;
162 var child
= $("#application");
165 var parent = $("#actions");
167 for (var i = 0; i != length; ++i) {
168 var application = applications[i];
169 var clone = child.clone(true);
170 parent.append(clone);
171 clone.href("cydia://launch/" + application[0]);
172 clone.xpath("label").html("Run " + $.xml(application[1]));
173 clone.xpath("img").src(application[2]);
177 child
.addClass("deleted");
179 var commercial
= package.hasTag('cydia::commercial');
181 $(".commercial").addClass("deleted");
183 var _console
= package.hasTag('purpose::console');
185 $(".console").addClass("deleted");
187 var author
= package.author
;
189 $(".author").addClass("deleted");
191 space("#author", author
.name
, 160);
192 if (author
.address
== null)
193 $("#author-icon").addClass("deleted");
194 else if (support
== null)
195 $("#author-href").href("mailto:" + author
.address
+ "?subject=" + regarding("A"));
197 $("#author-href").href(support
);
200 /*var store = commercial;
202 $(".activation").addClass("deleted");
204 var activation = api + 'activation/' + idc;
205 $("#activation-src").src(activation);
208 var depiction
= package.depiction
;
209 if (depiction
== null)
210 $(".depiction").addClass("deleted");
212 $(".description").addClass("deleted");
214 $("#depiction-src")[0].outerHTML
= '<iframe' +
215 ' class="depiction"' +
216 ' id="depiction-src"' +
221 ' src="' + $.xml(depiction
) + '"' +
222 ' onload="onframe(' + "'depiction-src', 'depiction'" + ')"' +
226 var description
= package.longDescription
;
227 if (description
== null)
228 description
= package.shortDescription
;
230 description
= description
.replace(/\n/g, "<br/>");
231 $("#description").html(description
);
233 var homepage
= package.homepage
;
234 if (homepage
== null)
235 $(".homepage").addClass("deleted");
237 $("#homepage-href").href(homepage
);
239 var installed
= package.installed
;
240 if (installed
== null)
241 $(".installed").addClass("deleted");
243 $("#installed").html(installed
);
244 $("#files-href").href("cydia://files/" + idc
);
247 space("#id", id
, 220);
249 var section
= package.longSection
;
251 $(".section").addClass("deleted");
253 $("#section-src").src("cydia://section-icon/" + encodeURIComponent(section
));
254 $("#section").html(section
);
257 var size
= package.size
;
259 $(".size").addClass("deleted");
261 $("#size").html(size
/ 1024 + " kB");
263 var maintainer
= package.maintainer
;
264 if (maintainer
== null)
265 $(".maintainer").addClass("deleted");
267 space("#maintainer", maintainer
.name
, 153);
268 if (maintainer
.address
== null)
269 $("#maintainer-icon").addClass("deleted");
270 else if (support
== null)
271 $("#maintainer-href").href("mailto:" + maintainer
.address
+ "?subject=" + regarding("M"));
273 $("#maintainer-href").href(support
);
276 var sponsor
= package.sponsor
;
278 $(".sponsor").addClass("deleted");
280 space("#sponsor", sponsor
.name
, 152);
281 $("#sponsor-href").href(sponsor
.address
);
284 var source
= package.source
;
285 if (source
== null) {
286 $(".source").addClass("deleted");
287 $(".trusted").addClass("deleted");
289 var host
= source
.host
;
291 $("#source-src").src("cydia://source-icon/" + encodeURIComponent(host
));
292 $("#source-name").html(source
.name
);
295 $("#trusted").href("cydia://package-signature/" + idc
);
297 $(".trusted").addClass("deleted");
299 var description
= source
.description
;
300 if (description
== null)
301 $(".source-description").addClass("deleted");
303 $("#source-description").html(description
);
309 var special = function () {
310 $(".deleted").removeClass("deleted");
311 $(".inserted").remove();
313 $("#icon")[0].className
= 'flip-0';
314 $("#thumb")[0].className
= 'flip-180';
316 /* XXX: this could be better */
317 $("#rating-href").href(null);
318 $("#rating-none").css("display", "none");
319 $("#rating-done").css("display", "none");
321 var notice
= $("#notice-src");
323 notice
[0].outerHTML
= '<iframe' +
330 ' onload="onframe(' + "'notice-src', 'notice'" + ')"' +
333 var depiction
= $("#depiction-src");
335 depiction
[0].outerHTML
= '<iframe' +
336 ' class="depiction"' +
337 ' id="depiction-src"' +
342 ' onload="onframe(' + "'depiction-src', 'depiction'" + ')"' +
348 cydia
.setSpecial(special
);