X-Git-Url: https://git.saurik.com/cydia.git/blobdiff_plain/3ff1504e78cec862a5b88baac7ea10bf702173be..6895ceafe1ea62220c0df671a43c406232a60d82:/Cydia.app/package.js
diff --git a/Cydia.app/package.js b/Cydia.app/package.js
index 1a78a8bb..6e091cf2 100644
--- a/Cydia.app/package.js
+++ b/Cydia.app/package.js
@@ -7,7 +7,7 @@
},
//"depiction": "http://planet-iphones.com/repository/info/chromium1.3.php",
"depiction": "http://cydia.saurik.com/terminal.html",
- "description": "this is a sample description",
+ "longDescription": "this is a sample description",
"homepage": "http://cydia.saurik.com/terminal.html",
"installed": "286u-4",
"id": "mobileterminal",
@@ -33,10 +33,6 @@ function space(selector, html, max) {
}
}
-function cache(url) {
- return url.replace('://', '://ne.edgecastcdn.net/8003A4/');
-}
-
var swap_, swap = function (on, off, time) {
setTimeout(swap_(on, off, time), time);
};
@@ -49,12 +45,19 @@ swap_ = function (on, off, time) {
};
};
-$(function () {
+var special_ = function () {
+ if (package == null)
+ return;
+
var id = package.id;
var idc = encodeURIComponent(id);
var name = package.name;
var icon = 'cydia://package-icon/' + idc;
+
var api = 'http://cydia.saurik.com/api/';
+ var capi = 'http://cache.cydia.saurik.com/api/';
+
+ var support = package.support;
var regarding = function (type) {
return encodeURIComponent("Cydia/APT(" + type + "): " + name);
@@ -66,24 +69,27 @@ $(function () {
$("#name").html(name);
space("#latest", package.latest, 96);
- $.xhr(cache(api + 'package/' + idc), 'GET', {}, null, {
+ $.xhr(capi + 'package/' + idc, 'GET', {}, null, {
success: function (value) {
value = eval(value);
+ if (typeof value.notice == "undefined")
+ $(".notice").addClass("deleted");
+ else
+ $("#notice-src").src(value.notice);
+
if (typeof value.rating == "undefined")
- $(".rating").remove();
+ $(".rating").addClass("deleted");
else {
- $("#rating-load").remove();
+ $("#rating-load").addClass("deleted");
$("#rating-href").href(value.reviews);
var none = $("#rating-none");
var done = $("#rating-done");
if (value.rating == null) {
- done.remove();
none.css("display", "block");
} else {
- none.remove();
done.css("display", "block");
$("#rating-value").css('width', 16 * value.rating);
@@ -100,14 +106,14 @@ $(function () {
thumb.css("background-image", 'url("' + value.icon + '")');
setTimeout(function () {
- icon.css("display", "none");
+ icon.addClass("deleted");
thumb[0].className = 'flip-0';
}, 2000);
}
},
failure: function (status) {
- $(".rating").remove();
+ $(".rating").addClass("deleted");
}
});
@@ -115,33 +121,34 @@ $(function () {
var mode = package.mode;
if (mode == null)
- $(".mode").remove();
+ $(".mode").addClass("deleted");
else {
- $("#mode").html(mode);
+ $("#mode").html(cydia.localize(mode));
$("#mode-src").src("Modes/" + mode + ".png");
}
var warnings = package.warnings;
var length = warnings == null ? 0 : warnings.length;
if (length == 0)
- $(".warnings").remove();
+ $(".warnings").addClass("deleted");
else {
var parent = $("#warnings");
var child = $("#warning");
- child.remove();
for (var i = 0; i != length; ++i) {
var clone = child.clone(true);
+ clone.addClass("inserted");
parent.append(clone);
clone.xpath("./div/label").html($.xml(warnings[i]));
}
+
+ child.addClass("deleted");
}
var applications = package.applications;
var length = applications == null ? 0 : applications.length;
var child = $("#application");
- child.remove();
/*if (length != 0) {
var parent = $("#actions");
@@ -156,35 +163,32 @@ $(function () {
}
}*/
+ child.addClass("deleted");
+
var commercial = package.hasTag('cydia::commercial');
if (!commercial)
- $(".commercial").remove();
+ $(".commercial").addClass("deleted");
var _console = package.hasTag('purpose::console');
if (!_console)
- $(".console").remove();
+ $(".console").addClass("deleted");
var author = package.author;
if (author == null)
- $(".author").remove();
+ $(".author").addClass("deleted");
else {
space("#author", author.name, 160);
if (author.address == null)
- $("#author-icon").remove();
- else {
- var support = package.support;
- if (support == null)
- $("#author-href").href("mailto:" + author.address + "?subject=" + regarding("A"));
- else
- $("#author-href").href(support);
- }
+ $("#author-icon").addClass("deleted");
+ else if (support == null)
+ $("#author-href").href("mailto:" + author.address + "?subject=" + regarding("A"));
+ else
+ $("#author-href").href(support);
}
- //$("#notice-src").src("http://saurik.cachefly.net/notice/" + idc + ".html");
-
/*var store = commercial;
if (!store)
- $(".activation").remove();
+ $(".activation").addClass("deleted");
else {
var activation = api + 'activation/' + idc;
$("#activation-src").src(activation);
@@ -192,28 +196,28 @@ $(function () {
var depiction = package.depiction;
if (depiction == null)
- $(".depiction").remove();
+ $(".depiction").addClass("deleted");
else {
- $(".description").css("display", "none");
+ $(".description").addClass("deleted");
$("#depiction-src").src(depiction);
}
- var description = package.description;
+ var description = package.longDescription;
if (description == null)
- description = package.tagline;
+ description = package.shortDescription;
else
description = description.replace(/\n/g, "
");
$("#description").html(description);
var homepage = package.homepage;
if (homepage == null)
- $(".homepage").remove();
+ $(".homepage").addClass("deleted");
else
$("#homepage-href").href(homepage);
var installed = package.installed;
if (installed == null)
- $(".installed").remove();
+ $(".installed").addClass("deleted");
else {
$("#installed").html(installed);
$("#files-href").href("cydia://files/" + idc);
@@ -221,9 +225,9 @@ $(function () {
space("#id", id, 220);
- var section = package.section;
+ var section = package.longSection;
if (section == null)
- $(".section").remove();
+ $(".section").addClass("deleted");
else {
$("#section-src").src("cydia://section-icon/" + encodeURIComponent(section));
$("#section").html(section);
@@ -231,24 +235,26 @@ $(function () {
var size = package.size;
if (size == 0)
- $(".size").remove();
+ $(".size").addClass("deleted");
else
$("#size").html(size / 1024 + " kB");
var maintainer = package.maintainer;
if (maintainer == null)
- $(".maintainer").remove();
+ $(".maintainer").addClass("deleted");
else {
space("#maintainer", maintainer.name, 153);
if (maintainer.address == null)
- $("#maintainer-icon").remove();
- else
+ $("#maintainer-icon").addClass("deleted");
+ else if (support == null)
$("#maintainer-href").href("mailto:" + maintainer.address + "?subject=" + regarding("M"));
+ else
+ $("#maintainer-href").href(support);
}
var sponsor = package.sponsor;
if (sponsor == null)
- $(".sponsor").remove();
+ $(".sponsor").addClass("deleted");
else {
space("#sponsor", sponsor.name, 152);
$("#sponsor-href").href(sponsor.address);
@@ -256,8 +262,8 @@ $(function () {
var source = package.source;
if (source == null) {
- $(".source").remove();
- $(".trusted").remove();
+ $(".source").addClass("deleted");
+ $(".trusted").addClass("deleted");
} else {
var host = source.host;
@@ -267,12 +273,54 @@ $(function () {
if (source.trusted)
$("#trusted").href("cydia://package-signature/" + idc);
else
- $(".trusted").remove();
+ $(".trusted").addClass("deleted");
var description = source.description;
if (description == null)
- $(".source-description").remove();
+ $(".source-description").addClass("deleted");
else
$("#source-description").html(description);
}
-});
+};
+
+$(special_);
+
+var special = function () {
+ $(".deleted").removeClass("deleted");
+ $(".inserted").remove();
+
+ $("#icon")[0].className = 'flip-0';
+ $("#thumb")[0].className = 'flip-180';
+
+ /* XXX: this could be better */
+ $("#rating-href").href(null);
+ $("#rating-none").css("display", "none");
+ $("#rating-done").css("display", "none");
+
+ var notice = $("#notice-src");
+
+ notice[0].outerHTML = '';
+
+ var depiction = $("#depiction-src");
+
+ depiction[0].outerHTML = '';
+
+ special_();
+};
+
+cydia.setSpecial(special);