Browse Source

External API enhancements closes #147 and closes #148

pull/162/head
Zach Wise 13 years ago
parent
commit
0f7f9aebe7
  1. 5
      source/js/Core/VMM.Library.js
  2. 28
      source/js/Core/VMM.js
  3. 301
      source/js/Media/VMM.ExternalAPI.js
  4. 33
      source/js/Media/VMM.MediaElement.js
  5. 10
      source/js/Media/VMM.MediaType.js
  6. 2
      source/js/Slider/VMM.Slider.Slide.js

5
source/js/Core/VMM.Library.js

@ -100,7 +100,9 @@ if(typeof VMM != 'undefined') {
VMM.getJSON = function(url, data, callback) { VMM.getJSON = function(url, data, callback) {
if( typeof( jQuery ) != 'undefined' ){ if( typeof( jQuery ) != 'undefined' ){
jQuery.ajaxSetup({
timeout: 3000
});
/* CHECK FOR IE /* CHECK FOR IE
================================================== */ ================================================== */
if ( VMM.Browser.browser == "Explorer" && parseInt(VMM.Browser.version, 10) >= 7 && window.XDomainRequest) { if ( VMM.Browser.browser == "Explorer" && parseInt(VMM.Browser.version, 10) >= 7 && window.XDomainRequest) {
@ -117,6 +119,7 @@ if(typeof VMM != 'undefined') {
} else { } else {
return jQuery.getJSON(url, data, callback); return jQuery.getJSON(url, data, callback);
} }
} }
} }

28
source/js/Core/VMM.js

@ -118,6 +118,22 @@ if (typeof VMM == 'undefined') {
twitter: "" twitter: ""
}, },
timers: {
api: 7000
},
api: {
pushques: [],
},
twitter: {
active: false,
array: [],
api_loaded: false,
que: []
},
flickr: { flickr: {
active: false, active: false,
array: [], array: [],
@ -166,7 +182,8 @@ if (typeof VMM == 'undefined') {
active: false, active: false,
array: [], array: [],
api_loaded: false, api_loaded: false,
que: [] que: [],
tries: 0
}, },
soundcloud: { soundcloud: {
@ -294,6 +311,15 @@ function trace( msg ) {
} }
} }
/* Array Remove - By John Resig (MIT Licensed)
http://ejohn.org/blog/javascript-array-remove/
================================================== */
Array.prototype.remove = function(from, to) {
var rest = this.slice((to || from) + 1 || this.length);
this.length = from < 0 ? this.length + from : from;
return this.push.apply(this, rest);
}
/* Extending Date to include Week /* Extending Date to include Week
================================================== */ ================================================== */
Date.prototype.getWeek = function() { Date.prototype.getWeek = function() {

301
source/js/Media/VMM.ExternalAPI.js

@ -27,12 +27,107 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
if (VMM.master_config.vimeo.active) { if (VMM.master_config.vimeo.active) {
VMM.ExternalAPI.vimeo.pushQue(); VMM.ExternalAPI.vimeo.pushQue();
} }
if (VMM.master_config.twitter.active) {
VMM.ExternalAPI.twitter.pushQue();
}
if (VMM.master_config.flickr.active) {
VMM.ExternalAPI.flickr.pushQue();
}
}, },
twitter: { twitter: {
tweetArray: [], tweetArray: [],
get: function(mid, id) {
var tweet = {mid: mid, id: id};
VMM.master_config.twitter.que.push(tweet);
VMM.master_config.twitter.active = true;
//VMM.master_config.api.pushques.push(VMM.ExternalAPI.twitter.pushQue);
},
create: function(tweet, callback) {
var id = tweet.mid.toString(),
error_obj = { twitterid: tweet.mid },
the_url = "http://api.twitter.com/1/statuses/show.json?id=" + tweet.mid + "&include_entities=true&callback=?",
twitter_timeout = setTimeout(VMM.ExternalAPI.twitter.errorTimeOut, VMM.master_config.timers.api, tweet),
callback_timeout= setTimeout(callback, VMM.master_config.timers.api, tweet);
VMM.getJSON(the_url, function(d) {
var id = d.id_str,
twit = "<blockquote><p>",
td = VMM.Util.linkify_with_twitter(d.text, "_blank");
// TWEET CONTENT
twit += td;
twit += "</p></blockquote>";
// TWEET MEDIA
if (typeof d.entities.media != 'undefined') {
if (d.entities.media[0].type == "photo") {
twit += "<img src=' " + d.entities.media[0].media_url + "' alt=''>"
}
}
// TWEET AUTHOR
twit += "<div class='vcard author'>";
twit += "<a class='screen-name url' href='https://twitter.com/" + d.user.screen_name + "' data-screen-name='" + d.user.screen_name + "' target='_blank'>";
twit += "<span class='avatar'><img src=' " + d.user.profile_image_url + "' alt=''></span>";
twit += "<span class='fn'>" + d.user.name + "</span>";
twit += "<span class='nickname'>@" + d.user.screen_name + "<span class='thumbnail-inline'></span></span>";
twit += "</a>";
twit += "</div>";
VMM.attachElement("#tweet_"+tweet.id.toString(), twit );
VMM.attachElement("#text_thumb_"+tweet.id.toString(), d.text );
})
.error(function(jqXHR, textStatus, errorThrown) {
trace("TWITTER error");
trace("TWITTER ERROR: " + textStatus + " " + jqXHR.responseText);
VMM.attachElement("#tweet_"+tweet.id, "<p>ERROR LOADING TWEET " + tweet.mid + "</p>" );
})
.success(function(d) {
clearTimeout(twitter_timeout);
clearTimeout(callback_timeout);
callback();
});
},
errorTimeOut: function(tweet) {
trace("TWITTER JSON ERROR TIMEOUT " + tweet.mid);
VMM.attachElement("#tweet_" + tweet.id, "<span class='messege'><p>Still waiting on Twitter: " + tweet.mid + "</p></span>" );
// CHECK RATE STATUS
VMM.getJSON("http://api.twitter.com/1/account/rate_limit_status.json", function(d) {
trace("REMAINING TWITTER API CALLS " + d.remaining_hits);
trace("TWITTER RATE LIMIT WILL RESET AT " + d.reset_time);
var mes = "";
if (d.remaining_hits == 0) {
mes = "<p>You've reached the maximum number of tweets you can load in an hour.</p>";
mes += "<p>You can view tweets again starting at: <br/>" + d.reset_time + "</p>";
} else {
mes = "<p>Still waiting on Twitter. " + id + "</p>";
//mes = "<p>Tweet " + id + " was not found.</p>";
}
VMM.attachElement("#twitter_" + id, "<span class='messege'>" + mes + "</span>" );
});
},
pushQue: function() {
if (VMM.master_config.twitter.que.length > 0) {
VMM.ExternalAPI.twitter.create(VMM.master_config.twitter.que[0], VMM.ExternalAPI.twitter.pushQue);
VMM.master_config.twitter.que.remove(0);
}
},
getHTML: function(id) { getHTML: function(id) {
//var the_url = document.location.protocol + "//api.twitter.com/1/statuses/oembed.json?id=" + id+ "&callback=?"; //var the_url = document.location.protocol + "//api.twitter.com/1/statuses/oembed.json?id=" + id+ "&callback=?";
var the_url = "http://api.twitter.com/1/statuses/oembed.json?id=" + id+ "&callback=?"; var the_url = "http://api.twitter.com/1/statuses/oembed.json?id=" + id+ "&callback=?";
@ -152,7 +247,7 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
twitterid: id twitterid: id
}; };
var the_url = "http://api.twitter.com/1/statuses/show.json?id=" + id + "&include_entities=true&callback=?"; var the_url = "http://api.twitter.com/1/statuses/show.json?id=" + id + "&include_entities=true&callback=?";
var twitter_timeout = setTimeout(VMM.ExternalAPI.twitter.notFoundError, 4000, id); var twitter_timeout = setTimeout(VMM.ExternalAPI.twitter.errorTimeOut, VMM.master_config.timers.api, id);
VMM.getJSON(the_url, VMM.ExternalAPI.twitter.formatJSON) VMM.getJSON(the_url, VMM.ExternalAPI.twitter.formatJSON)
.error(function(jqXHR, textStatus, errorThrown) { .error(function(jqXHR, textStatus, errorThrown) {
@ -168,25 +263,7 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
}); });
}, },
notFoundError: function(id) {
trace("TWITTER JSON ERROR TIMEOUT " + id);
VMM.attachElement("#twitter_" + id, "<span class='messege'><p>Error loading tweet: " + id + "</p></span>" );
// CHECK RATE STATUS
VMM.getJSON("http://api.twitter.com/1/account/rate_limit_status.json", function(d) {
trace("REMAINING TWITTER API CALLS " + d.remaining_hits);
trace("TWITTER RATE LIMIT WILL RESET AT " + d.reset_time);
var mes = "";
if (d.remaining_hits == 0) {
mes = "<p>You've reached the maximum number of tweets you can load in an hour.</p>";
mes += "<p>You can view tweets again starting at: <br/>" + d.reset_time + "</p>";
} else {
mes = "<p>Tweet " + id + " was not found.</p>";
}
VMM.attachElement("#twitter_" + id, "<span class='messege'>" + mes + "</span>" );
});
},
formatJSON: function(d) { formatJSON: function(d) {
var id = d.id_str; var id = d.id_str;
@ -486,16 +563,24 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
googleplus: { googleplus: {
get: function(user, activity) { get: function(user, activity) {
var api_key, gplus; var api_key;
var gplus = {user: user, activity: activity}; var gplus = {user: user, activity: activity};
VMM.master_config.googleplus.que.push(gplus); VMM.master_config.googleplus.que.push(gplus);
VMM.master_config.googleplus.active = true; VMM.master_config.googleplus.active = true;
}, },
create: function(gplus) { create: function(gplus, callback) {
var mediaElem = "", api_key = "", gperson_api_url, gactivity_api_url, g_activity = "", g_content = "", g_attachments = ""; var mediaElem = "",
api_key = "",
g_activity = "",
g_content = "",
g_attachments = "",
gperson_api_url,
gactivity_api_url;
googleplus_timeout = setTimeout(VMM.ExternalAPI.googleplus.errorTimeOut, VMM.master_config.timers.api, gplus),
callback_timeout = setTimeout(callback, VMM.master_config.timers.api, gplus);
if (VMM.master_config.Timeline.api_keys.google != "") { if (VMM.master_config.Timeline.api_keys.google != "") {
api_key = VMM.master_config.Timeline.api_keys.google; api_key = VMM.master_config.Timeline.api_keys.google;
@ -584,16 +669,39 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
})
.error(function(jqXHR, textStatus, errorThrown) {
var error_obj = VMM.parseJSON(jqXHR.responseText);
trace(error_obj.error.message);
VMM.attachElement("#googleplus_" + gplus.activity, "<p>ERROR LOADING GOOGLE+ </p><p>" + error_obj.error.message + "</p>");
})
.success(function(d) {
clearTimeout(googleplus_timeout);
clearTimeout(callback_timeout);
callback();
}); });
}, },
pushQue: function() { pushQue: function() {
if (VMM.master_config.googleplus.que.length > 0) {
VMM.ExternalAPI.googleplus.create(VMM.master_config.googleplus.que[0], VMM.ExternalAPI.googleplus.pushQue);
VMM.master_config.googleplus.que.remove(0);
}
/*
for(var i = 0; i < VMM.master_config.googleplus.que.length; i++) { for(var i = 0; i < VMM.master_config.googleplus.que.length; i++) {
VMM.ExternalAPI.googleplus.create(VMM.master_config.googleplus.que[i]); VMM.ExternalAPI.googleplus.create(VMM.master_config.googleplus.que[i]);
} }
VMM.master_config.googleplus.que = []; VMM.master_config.googleplus.que = [];
*/
},
errorTimeOut: function(gplus) {
trace("GOOGLE+ JSON ERROR TIMEOUT " + gplus.activity);
VMM.attachElement("#googleplus_" + gplus.activity, "<p>Still waiting on GOOGLE+ </p><p>" + gplus.activity + "</p>");
} }
}, },
@ -617,6 +725,7 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
}, },
pushQue: function() { pushQue: function() {
for(var i = 0; i < VMM.master_config.googledocs.que.length; i++) { for(var i = 0; i < VMM.master_config.googledocs.que.length; i++) {
VMM.ExternalAPI.googledocs.create(VMM.master_config.googledocs.que[i]); VMM.ExternalAPI.googledocs.create(VMM.master_config.googledocs.que[i]);
} }
@ -628,39 +737,67 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
flickr: { flickr: {
get: function(mid, id) { get: function(mid, id) {
var api_key; var flick = {mid: mid, id: id};
VMM.master_config.flickr.que.push(flick);
VMM.master_config.flickr.active = true;
},
create: function(flick, callback) {
var api_key,
callback_timeout= setTimeout(callback, VMM.master_config.timers.api, flick);
if (VMM.master_config.Timeline.api_keys.flickr != "") { if (VMM.master_config.Timeline.api_keys.flickr != "") {
api_key = VMM.master_config.Timeline.api_keys.flickr; api_key = VMM.master_config.Timeline.api_keys.flickr;
} else { } else {
api_key = Aes.Ctr.decrypt(VMM.master_config.api_keys_master.flickr, VMM.master_config.vp, 256) api_key = Aes.Ctr.decrypt(VMM.master_config.api_keys_master.flickr, VMM.master_config.vp, 256)
} }
var the_url = "http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&api_key=" + api_key + "&photo_id=" + mid + "&format=json&jsoncallback=?"; var the_url = "http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&api_key=" + api_key + "&photo_id=" + flick.mid + "&format=json&jsoncallback=?";
VMM.getJSON(the_url, VMM.ExternalAPI.flickr.create);
}, VMM.getJSON(the_url, function(d) {
var flickr_id = d.sizes.size[0].url.split("photos\/")[1].split("/")[1];
create: function(d) {
var flickr_id = d.sizes.size[0].url.split("photos\/")[1].split("/")[1]; var flickr_large_id = "flickr_" + flick.id + "_large",
var id = "flickr_" + flickr_id; flickr_thumb_id = "flickr_" + flick.id + "_thumb";
var flickr_large_id = id + "_large"; //flickr_thumb_id = "flickr_" + uid + "_thumb";
var flickr_thumb_id = id + "_thumb";
var flickr_img_size, flickr_img_thumb, flickr_size_found = false;
var flickr_best_size = "Large";
flickr_best_size = VMM.ExternalAPI.flickr.sizes(VMM.master_config.sizes.api.height); var flickr_img_size,
flickr_img_thumb,
flickr_size_found = false,
flickr_best_size = "Large";
for(var i = 0; i < d.sizes.size.length; i++) { flickr_best_size = VMM.ExternalAPI.flickr.sizes(VMM.master_config.sizes.api.height);
if (d.sizes.size[i].label == flickr_best_size) {
flickr_size_found = true; for(var i = 0; i < d.sizes.size.length; i++) {
flickr_img_size = d.sizes.size[i].source; if (d.sizes.size[i].label == flickr_best_size) {
flickr_size_found = true;
flickr_img_size = d.sizes.size[i].source;
}
} }
} if (!flickr_size_found) {
if (!flickr_size_found) { flickr_img_size = d.sizes.size[d.sizes.size.length - 1].source;
flickr_img_size = d.sizes.size[d.sizes.size.length - 1].source; }
}
flickr_img_thumb = d.sizes.size[0].source;
VMM.Lib.attr("#"+flickr_large_id, "src", flickr_img_size);
VMM.attachElement("#"+flickr_thumb_id, "<img src='" + flickr_img_thumb + "'>");
})
.error(function(jqXHR, textStatus, errorThrown) {
trace("FLICKR error");
trace("FLICKR ERROR: " + textStatus + " " + jqXHR.responseText);
})
.success(function(d) {
clearTimeout(callback_timeout);
callback();
});
flickr_img_thumb = d.sizes.size[0].source; },
VMM.Lib.attr("#"+flickr_large_id, "src", flickr_img_size);
VMM.attachElement("#"+flickr_thumb_id, "<img src='" + flickr_img_thumb + "'>"); pushQue: function() {
if (VMM.master_config.flickr.que.length > 0) {
VMM.ExternalAPI.flickr.create(VMM.master_config.flickr.que[0], VMM.ExternalAPI.flickr.pushQue);
VMM.master_config.flickr.que.remove(0);
}
}, },
sizes: function(s) { sizes: function(s) {
@ -717,19 +854,20 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
VMM.master_config.soundcloud.active = true; VMM.master_config.soundcloud.active = true;
}, },
create: function(sound) { create: function(sound, callback) {
var the_url = "http://soundcloud.com/oembed?url=" + sound.url + "&format=js&callback=?"; var the_url = "http://soundcloud.com/oembed?url=" + sound.url + "&format=js&callback=?";
VMM.getJSON(the_url, function(d) { VMM.getJSON(the_url, function(d) {
VMM.attachElement("#"+sound.id, d.html); VMM.attachElement("#"+sound.id, d.html);
callback();
}); });
}, },
pushQue: function() { pushQue: function() {
for(var i = 0; i < VMM.master_config.soundcloud.que.length; i++) { if (VMM.master_config.soundcloud.que.length > 0) {
VMM.ExternalAPI.soundcloud.create(VMM.master_config.soundcloud.que[i]); VMM.ExternalAPI.soundcloud.create(VMM.master_config.soundcloud.que[0], VMM.ExternalAPI.soundcloud.pushQue);
VMM.master_config.soundcloud.que.remove(0);
} }
VMM.master_config.soundcloud.que = []; }
},
}, },
@ -741,9 +879,10 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
VMM.master_config.wikipedia.active = true; VMM.master_config.wikipedia.active = true;
}, },
create: function(api_obj) { create: function(api_obj, callback) {
var the_url = "http://" + api_obj.lang + ".wikipedia.org/w/api.php?action=query&prop=extracts&redirects=&titles=" + api_obj.url + "&exintro=1&format=json&callback=?"; var the_url = "http://" + api_obj.lang + ".wikipedia.org/w/api.php?action=query&prop=extracts&redirects=&titles=" + api_obj.url + "&exintro=1&format=json&callback=?";
callback_timeout= setTimeout(callback, VMM.master_config.timers.api, api_obj);
if ( VMM.Browser.browser == "Explorer" && parseInt(VMM.Browser.version, 10) >= 7 && window.XDomainRequest) { if ( VMM.Browser.browser == "Explorer" && parseInt(VMM.Browser.version, 10) >= 7 && window.XDomainRequest) {
var temp_text = "<h4><a href='http://" + VMM.master_config.language.api.wikipedia + ".wikipedia.org/wiki/" + api_obj.url + "' target='_blank'>" + api_obj.url + "</a></h4>"; var temp_text = "<h4><a href='http://" + VMM.master_config.language.api.wikipedia + ".wikipedia.org/wiki/" + api_obj.url + "' target='_blank'>" + api_obj.url + "</a></h4>";
temp_text += "<span class='wiki-source'>" + VMM.master_config.language.messages.wikipedia + "</span>"; temp_text += "<span class='wiki-source'>" + VMM.master_config.language.messages.wikipedia + "</span>";
@ -785,17 +924,43 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
VMM.attachElement("#"+api_obj.id, _wiki ); VMM.attachElement("#"+api_obj.id, _wiki );
} }
} }
//callback();
})
.error(function(jqXHR, textStatus, errorThrown) {
trace("WIKIPEDIA error");
trace("WIKIPEDIA ERROR: " + textStatus + " " + jqXHR.responseText);
trace(errorThrown);
VMM.attachElement("#"+api_obj.id, "<span class='messege'>" + "<p>Wikipedia is not responding</p>" + "</span>" );
// TRY AGAIN?
clearTimeout(callback_timeout);
if (VMM.master_config.wikipedia.tries < 4) {
trace("WIKIPEDIA ATTEMPT " + VMM.master_config.wikipedia.tries);
trace(api_obj);
VMM.master_config.wikipedia.tries++;
VMM.ExternalAPI.wikipedia.create(api_obj, callback);
} else {
callback();
}
})
.success(function(d) {
VMM.master_config.wikipedia.tries = 0;
clearTimeout(callback_timeout);
callback();
}); });
}, },
pushQue: function() { pushQue: function() {
trace("WIKIPEDIA PUSH QUE");
for(var i = 0; i < VMM.master_config.wikipedia.que.length; i++) { if (VMM.master_config.wikipedia.que.length > 0) {
VMM.ExternalAPI.wikipedia.create(VMM.master_config.wikipedia.que[i]); trace("WIKIPEDIA PUSH QUE " + VMM.master_config.wikipedia.que.length);
VMM.ExternalAPI.wikipedia.create(VMM.master_config.wikipedia.que[0], VMM.ExternalAPI.wikipedia.pushQue);
VMM.master_config.wikipedia.que.remove(0);
} }
VMM.master_config.wikipedia.que = [];
}, },
}, },
@ -903,11 +1068,15 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
VMM.master_config.vimeo.active = true; VMM.master_config.vimeo.active = true;
}, },
create: function(d) { create: function(d, callback) {
trace("VIMEO CREATE"); trace("VIMEO CREATE");
// THUMBNAIL // THUMBNAIL
var url = "http://vimeo.com/api/v2/video/" + d + ".json"; var url = "http://vimeo.com/api/v2/video/" + d + ".json";
VMM.getJSON(url, VMM.ExternalAPI.vimeo.createThumb); VMM.getJSON(url, function(d) {
VMM.ExternalAPI.vimeo.createThumb(d);
callback();
});
}, },
createThumb: function(d) { createThumb: function(d) {
@ -917,10 +1086,16 @@ if(typeof VMM != 'undefined' && typeof VMM.ExternalAPI == 'undefined') {
}, },
pushQue: function() { pushQue: function() {
if (VMM.master_config.vimeo.que.length > 0) {
VMM.ExternalAPI.vimeo.create(VMM.master_config.vimeo.que[0], VMM.ExternalAPI.vimeo.pushQue);
VMM.master_config.vimeo.que.remove(0);
}
/*
for(var i = 0; i < VMM.master_config.vimeo.que.length; i++) { for(var i = 0; i < VMM.master_config.vimeo.que.length; i++) {
VMM.ExternalAPI.vimeo.create(VMM.master_config.vimeo.que[i]); VMM.ExternalAPI.vimeo.create(VMM.master_config.vimeo.que[i]);
} }
VMM.master_config.vimeo.que = []; VMM.master_config.vimeo.que = [];
*/
} }
} }

33
source/js/Media/VMM.MediaElement.js

@ -27,7 +27,7 @@ if(typeof VMM != 'undefined' && typeof VMM.MediaElement == 'undefined') {
mediaElem = "<div class='thumbnail thumb-photo'></div>"; mediaElem = "<div class='thumbnail thumb-photo'></div>";
return mediaElem; return mediaElem;
} else if (m.type == "flickr") { } else if (m.type == "flickr") {
mediaElem = "<div class='thumbnail thumb-photo' id='flickr_" + m.id + "_thumb'></div>"; mediaElem = "<div class='thumbnail thumb-photo' id='flickr_" + uid + "_thumb'></div>";
return mediaElem; return mediaElem;
} else if (m.type == "instagram") { } else if (m.type == "instagram") {
mediaElem = "<div class='thumbnail thumb-instagram' id='instagram_" + m.id + "_thumb'><img src='" + VMM.ExternalAPI.instagram.get(m.id, true) + "'></div>"; mediaElem = "<div class='thumbnail thumb-instagram' id='instagram_" + m.id + "_thumb'><img src='" + VMM.ExternalAPI.instagram.get(m.id, true) + "'></div>";
@ -85,7 +85,7 @@ if(typeof VMM != 'undefined' && typeof VMM.MediaElement == 'undefined') {
} }
}, },
create: function(data, secondary) { create: function(data, uid) {
var _valid = false, var _valid = false,
loading_messege = "<span class='messege'><p>" + VMM.master_config.language.messages.loading + "</p></span>"; loading_messege = "<span class='messege'><p>" + VMM.master_config.language.messages.loading + "</p></span>";
@ -108,18 +108,16 @@ if(typeof VMM != 'undefined' && typeof VMM.MediaElement == 'undefined') {
mediaElem = "<div class='media-image media-shadow'><img src='" + m.id + "' class='media-image'></div>"; mediaElem = "<div class='media-image media-shadow'><img src='" + m.id + "' class='media-image'></div>";
// FLICKR // FLICKR
} else if (m.type == "flickr") { } else if (m.type == "flickr") {
_id = "flickr_" + m.id; _id = "flickr_" + uid;
mediaElem = "<div class='media-image media-shadow'><a href='" + m.link + "' target='_blank'><img id='" + _id + "_large" + "'></a></div>"; mediaElem = "<div class='media-image media-shadow'><a href='" + m.link + "' target='_blank'><img id='" + _id + "_large" + "'></a></div>";
VMM.ExternalAPI.flickr.get(m.id, "#" + _id); VMM.ExternalAPI.flickr.get(m.id, uid);
// INSTAGRAM // INSTAGRAM
} else if (m.type == "instagram") { } else if (m.type == "instagram") {
_id = "flickr_" + m.id;
mediaElem = "<div class='media-image media-shadow'><a href='" + m.link + "' target='_blank'><img src='" + VMM.ExternalAPI.instagram.get(m.id) + "'></a></div>"; mediaElem = "<div class='media-image media-shadow'><a href='" + m.link + "' target='_blank'><img src='" + VMM.ExternalAPI.instagram.get(m.id) + "'></a></div>";
// GOOGLE DOCS // GOOGLE DOCS
} else if (m.type == "googledoc") { } else if (m.type == "googledoc") {
_id = "googledoc_" + VMM.Util.unique_ID(5); mediaElem = "<div class='media-frame media-shadow doc' id='" + uid + "'>" + loading_messege + "</div>";
mediaElem = "<div class='media-frame media-shadow doc' id='" + _id + "'>" + loading_messege + "</div>"; VMM.ExternalAPI.googledocs.get(m.id, uid);
VMM.ExternalAPI.googledocs.get(m.id, _id);
// YOUTUBE // YOUTUBE
} else if (m.type == "youtube") { } else if (m.type == "youtube") {
mediaElem = "<div class='media-shadow'><div class='media-frame video youtube' id='youtube_" + m.id + "'>" + loading_messege + "</div></div>"; mediaElem = "<div class='media-shadow'><div class='media-frame video youtube' id='youtube_" + m.id + "'>" + loading_messege + "</div></div>";
@ -133,23 +131,21 @@ if(typeof VMM != 'undefined' && typeof VMM.MediaElement == 'undefined') {
mediaElem = "<div class='media-shadow'><iframe class='media-frame video dailymotion' autostart='false' frameborder='0' width='100%' height='100%' src='http://www.dailymotion.com/embed/video/" + m.id + "'></iframe></div>"; mediaElem = "<div class='media-shadow'><iframe class='media-frame video dailymotion' autostart='false' frameborder='0' width='100%' height='100%' src='http://www.dailymotion.com/embed/video/" + m.id + "'></iframe></div>";
// TWITTER // TWITTER
} else if (m.type == "twitter"){ } else if (m.type == "twitter"){
mediaElem = "<div class='twitter' id='" + "twitter_" + m.id + "'>" + loading_messege + "</div>"; mediaElem = "<div class='twitter' id='" + "tweet_" + uid + "'>" + loading_messege + "</div>";
isTextMedia = true; isTextMedia = true;
VMM.ExternalAPI.twitter.prettyHTML(m.id, secondary); VMM.ExternalAPI.twitter.get(m.id, uid);
// TWITTER // TWITTER
} else if (m.type == "twitter-ready") { } else if (m.type == "twitter-ready") {
isTextMedia = true; isTextMedia = true;
mediaElem = m.id; mediaElem = m.id;
// SOUNDCLOUD // SOUNDCLOUD
} else if (m.type == "soundcloud") { } else if (m.type == "soundcloud") {
_id = "soundcloud_" + VMM.Util.unique_ID(5); mediaElem = "<div class='media-frame media-shadow soundcloud' id='" + uid + "'>" + loading_messege + "</div>";
mediaElem = "<div class='media-frame media-shadow soundcloud' id='" + _id + "'>" + loading_messege + "</div>"; VMM.ExternalAPI.soundcloud.get(m.id, uid);
VMM.ExternalAPI.soundcloud.get(m.id, _id);
// GOOGLE MAPS // GOOGLE MAPS
} else if (m.type == "google-map") { } else if (m.type == "google-map") {
_id = "googlemap_" + VMM.Util.unique_ID(7); mediaElem = "<div class='media-frame media-shadow map' id='" + uid + "'>" + loading_messege + "</div>";
mediaElem = "<div class='media-frame media-shadow map' id='" + _id + "'>" + loading_messege + "</div>"; VMM.ExternalAPI.googlemaps.get(m.id, uid);
VMM.ExternalAPI.googlemaps.get(m.id, _id);
// GOOGLE PLUS // GOOGLE PLUS
} else if (m.type == "googleplus") { } else if (m.type == "googleplus") {
_id = "googleplus_" + m.id; _id = "googleplus_" + m.id;
@ -158,10 +154,9 @@ if(typeof VMM != 'undefined' && typeof VMM.MediaElement == 'undefined') {
VMM.ExternalAPI.googleplus.get(m.user, m.id); VMM.ExternalAPI.googleplus.get(m.user, m.id);
// WIKIPEDIA // WIKIPEDIA
} else if (m.type == "wikipedia") { } else if (m.type == "wikipedia") {
_id = "wikipedia_" + VMM.Util.unique_ID(7); mediaElem = "<div class='wikipedia' id='" + m.uniqueid + "'>" + loading_messege + "</div>";
mediaElem = "<div class='wikipedia' id='" + _id + "'>" + loading_messege + "</div>";
isTextMedia = true; isTextMedia = true;
VMM.ExternalAPI.wikipedia.get(m.id, _id, m.lang); VMM.ExternalAPI.wikipedia.get(m.id, m.uniqueid, m.lang);
// STORIFY // STORIFY
} else if (m.type == "storify") { } else if (m.type == "storify") {
isTextMedia = true; isTextMedia = true;

10
source/js/Media/VMM.MediaType.js

@ -6,8 +6,14 @@ if(typeof VMM != 'undefined' && typeof VMM.MediaType == 'undefined') {
// VMM.MediaType(url); //returns an object with .type and .id // VMM.MediaType(url); //returns an object with .type and .id
VMM.MediaType = function(d) { VMM.MediaType = function(d) {
var success = false; var success = false,
var media = {}; media = {
type: "unknown",
id: "",
link: "",
lang: "",
uniqueid: VMM.Util.unique_ID(6)
};
if (d.match("div class='twitter'")) { if (d.match("div class='twitter'")) {
media.type = "twitter-ready"; media.type = "twitter-ready";

2
source/js/Slider/VMM.Slider.Slide.js

@ -230,7 +230,7 @@ if (typeof VMM.Slider != 'undefined') {
if (data.asset != null && data.asset != "") { if (data.asset != null && data.asset != "") {
if (data.asset.media != null && data.asset.media != "") { if (data.asset.media != null && data.asset.media != "") {
c.has.media = true; c.has.media = true;
$media = VMM.appendAndGetElement($slide, "<div>", "media", VMM.MediaElement.create(data.asset)); $media = VMM.appendAndGetElement($slide, "<div>", "media", VMM.MediaElement.create(data.asset, data.uniqueid));
} }
} }

Loading…
Cancel
Save