summaryrefslogtreecommitdiff
path: root/MobileCydia.app/package.js
diff options
context:
space:
mode:
Diffstat (limited to 'MobileCydia.app/package.js')
-rw-r--r--MobileCydia.app/package.js330
1 files changed, 330 insertions, 0 deletions
diff --git a/MobileCydia.app/package.js b/MobileCydia.app/package.js
new file mode 100644
index 0000000..b9f85ff
--- /dev/null
+++ b/MobileCydia.app/package.js
@@ -0,0 +1,330 @@
+/*var package = {
+ "name": "MobileTerminal",
+ "latest": "286u-5",
+ "author": {
+ "name": "Allen Porter",
+ "address": "allen.porter@gmail.com"
+ },
+ //"depiction": "http://planet-iphones.com/repository/info/chromium1.3.php",
+ "depiction": "http://cydia.saurik.com/terminal.html",
+ "longDescription": "this is a sample description",
+ "homepage": "http://cydia.saurik.com/terminal.html",
+ "installed": "286u-4",
+ "id": "mobileterminal",
+ "section": "Terminal Support",
+ "size": 552*1024,
+ "maintainer": {
+ "name": "Jay Freeman",
+ "address": "saurik@saurik.com"
+ },
+ "source": {
+ "name": "Telesphoreo Tangelo",
+ "description": "Distribution of Unix Software for the iPhone"
+ }
+};*/
+
+function space(selector, html, max) {
+ var node = $(selector);
+ node.html(html);
+ var width = node.width();
+ if (width > max) {
+ var spacing = (max - node.width()) / (html.length - 1) + "px";
+ node.css("letter-spacing", spacing);
+ }
+}
+
+var swap_, swap = function (on, off, time) {
+ setTimeout(swap_(on, off, time), time);
+};
+
+swap_ = function (on, off, time) {
+ return function () {
+ on.className = 'fade-out';
+ off.className = 'fade-in';
+ swap(off, on, time);
+ };
+};
+
+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);
+ };
+
+ $("#icon").css("background-image", 'url("' + icon + '")');
+ //$("#reflection").src("cydia://package-icon/" + idc);
+
+ $("#name").html(name);
+ space("#latest", package.latest, 96);
+
+ $.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").addClass("deleted");
+ else {
+ $("#rating-load").addClass("deleted");
+ $("#rating-href").href(value.reviews);
+
+ var none = $("#rating-none");
+ var done = $("#rating-done");
+
+ if (value.rating == null) {
+ none.css("display", "block");
+ } else {
+ done.css("display", "block");
+
+ $("#rating-value").css('width', 16 * value.rating);
+ }
+ }
+
+ if (typeof value.icon != "undefined" && value.icon != null) {
+ var icon = $("#icon");
+ var thumb = $("#thumb");
+
+ icon[0].className = 'flip-180';
+ thumb[0].className = 'flip-360';
+
+ thumb.css("background-image", 'url("' + value.icon + '")');
+
+ setTimeout(function () {
+ icon.addClass("deleted");
+ thumb[0].className = 'flip-0';
+ }, 2000);
+ }
+ },
+
+ failure: function (status) {
+ $(".rating").addClass("deleted");
+ }
+ });
+
+ $("#settings").href("cydia://package-settings/" + idc);
+
+ var mode = package.mode;
+ if (mode == null)
+ $(".mode").addClass("deleted");
+ else {
+ $("#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").addClass("deleted");
+ else {
+ var parent = $("#warnings");
+ var child = $("#warning");
+
+ 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");
+
+ /*if (length != 0) {
+ var parent = $("#actions");
+
+ for (var i = 0; i != length; ++i) {
+ var application = applications[i];
+ var clone = child.clone(true);
+ parent.append(clone);
+ clone.href("cydia://launch/" + application[0]);
+ clone.xpath("label").html("Run " + $.xml(application[1]));
+ clone.xpath("img").src(application[2]);
+ }
+ }*/
+
+ child.addClass("deleted");
+
+ var commercial = package.hasTag('cydia::commercial');
+ if (!commercial)
+ $(".commercial").addClass("deleted");
+
+ var _console = package.hasTag('purpose::console');
+ if (!_console)
+ $(".console").addClass("deleted");
+
+ var author = package.author;
+ if (author == null)
+ $(".author").addClass("deleted");
+ else {
+ space("#author", author.name, 160);
+ if (author.address == null)
+ $("#author-icon").addClass("deleted");
+ else if (support == null)
+ $("#author-href").href("mailto:" + author.address + "?subject=" + regarding("A"));
+ else
+ $("#author-href").href(support);
+ }
+
+ /*var store = commercial;
+ if (!store)
+ $(".activation").addClass("deleted");
+ else {
+ var activation = api + 'activation/' + idc;
+ $("#activation-src").src(activation);
+ }*/
+
+ var depiction = package.depiction;
+ if (depiction != null) {
+ $(".description").addClass("deleted");
+ $("#depiction-src").src(depiction);
+ } else {
+ $(".depiction").addClass("deleted");
+
+ var description = package.longDescription;
+ if (description == null)
+ description = package.shortDescription;
+
+ if (description == null)
+ $(".description").addClass("deleted");
+ else {
+ description = $.xml(description).replace(/\n/g, "<br/>");
+ $("#description").html(description);
+ }
+ }
+
+ var homepage = package.homepage;
+ if (homepage == null)
+ $(".homepage").addClass("deleted");
+ else
+ $("#homepage-href").href(homepage);
+
+ var installed = package.installed;
+ if (installed == null)
+ $(".installed").addClass("deleted");
+ else {
+ $("#installed").html(installed);
+ $("#files-href").href("cydia://files/" + idc);
+ }
+
+ space("#id", id, 220);
+
+ var section = package.longSection;
+ if (section == null)
+ $(".section").addClass("deleted");
+ else {
+ $("#section-src").src("cydia://section-icon/" + encodeURIComponent(section));
+ $("#section").html(section);
+ }
+
+ var size = package.size;
+ if (size == 0)
+ $(".size").addClass("deleted");
+ else
+ $("#size").html(size / 1024 + " kB");
+
+ var maintainer = package.maintainer;
+ if (maintainer == null)
+ $(".maintainer").addClass("deleted");
+ else {
+ space("#maintainer", maintainer.name, 153);
+ if (maintainer.address == null)
+ $("#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").addClass("deleted");
+ else {
+ space("#sponsor", sponsor.name, 152);
+ $("#sponsor-href").href(sponsor.address);
+ }
+
+ var source = package.source;
+ if (source == null) {
+ $(".source").addClass("deleted");
+ $(".trusted").addClass("deleted");
+ } else {
+ var host = source.host;
+
+ $("#source-src").src("cydia://source-icon/" + encodeURIComponent(host));
+ $("#source-name").html(source.name);
+
+ if (source.trusted)
+ $("#trusted").href("cydia://package-signature/" + idc);
+ else
+ $(".trusted").addClass("deleted");
+
+ var description = source.description;
+ if (description == null)
+ $(".source-description").addClass("deleted");
+ else
+ $("#source-description").html($.xml(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 = '<iframe' +
+ ' class="notice"' +
+ ' id="notice-src"' +
+ ' frameborder="0"' +
+ ' width="320"' +
+ ' height="0"' +
+ ' target="_top"' +
+ '></iframe>';
+
+ var depiction = $("#depiction-src");
+
+ depiction[0].outerHTML = '<iframe' +
+ ' class="depiction"' +
+ ' id="depiction-src"' +
+ ' frameborder="0"' +
+ ' width="320"' +
+ ' height="0"' +
+ ' target="_top"' +
+ ' onload_="loaded()"' +
+ '></iframe>';
+
+ special_();
+};
+
+cydia.setSpecial(special);