Beautifully crafted timelines that are easy and intuitive to use. http://timeline.knightlab.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.0 KiB
98 lines
3.0 KiB
/* MediaType |
|
================================================== */ |
|
if(typeof VMM != 'undefined' && typeof VMM.MediaType == 'undefined') { |
|
|
|
//VMM.mediaType.youtube(d); //should return a true or false |
|
// VMM.MediaType(url); //returns an object with .type and .id |
|
|
|
VMM.MediaType = function(d) { |
|
var success = false; |
|
var media = {}; |
|
if (d.match("div class='twitter'")) { |
|
media.type = "twitter-ready"; |
|
media.id = d; |
|
success = true; |
|
} else if (d.match('(www.)?youtube|youtu\.be')) { |
|
if (d.match('v=')) { |
|
youtube_id = VMM.Util.getUrlVars(d)["v"]; |
|
//youtube_id = d.split(/embed\//)[1].split('"')[0]; |
|
} else { |
|
youtube_id = d.split(/v\/|v=|youtu\.be\//)[1].split(/[?&]/)[0]; |
|
} |
|
//youtube_id = d.split(/v\/|v=|youtu\.be\//)[1].split(/[?&]/)[0]; |
|
// http://www.youtube.com/watch?feature=player_embedded&v=0l-ivcnLrSc |
|
//http://www.youtube.com/watch?v=0l-ivcnLrSc |
|
media.type = "youtube"; |
|
media.id = youtube_id; |
|
success = true; |
|
} else if (d.match('(player.)?vimeo\.com')) { |
|
//vimeo_id = d.split(/video\/|http:\/\/vimeo\.com\//)[1].split(/[?&]/)[0]; |
|
vimeo_id = d.split(/video\/|\/\/vimeo\.com\//)[1].split(/[?&]/)[0]; |
|
|
|
media.type = "vimeo"; |
|
media.id = vimeo_id; |
|
success = true; |
|
} else if (d.match('(player.)?soundcloud\.com')) { |
|
//soundcloud_url = unescape(d.split(/value="/)[1].split(/["]/)[0]); |
|
//soundcloud_id = soundcloud_url.split(/tracks\//)[1].split(/[&"]/)[0]; |
|
media.type = "soundcloud"; |
|
media.id = d; |
|
success = true; |
|
} else if (d.match('(www.)?twitter\.com')) { |
|
trace("TWITTER MATCH"); |
|
// https://twitter.com/#!/twitterapi/statuses/133640144317198338 |
|
// https://twitter.com/#!/DeliciousHot/status/23189589820702720 |
|
if (d.match("status\/")) { |
|
twitter_id = d.split("status\/")[1]; |
|
} else if (d.match("statuses\/")) { |
|
twitter_id = d.split("statuses\/")[1]; |
|
} else { |
|
twitter_id = ""; |
|
} |
|
|
|
media.type = "twitter"; |
|
media.id = twitter_id; |
|
success = true; |
|
} else if (d.match("maps.google")) { |
|
//maps.google.com |
|
media.type = "google-map"; |
|
media.id = d.split(/src=['|"][^'|"]*?['|"]/gi); |
|
//trace("google map " + media.id); |
|
success = true; |
|
} else if (d.match("flickr.com/photos")) { |
|
media.type = "flickr"; |
|
//media.id = d.split('/photos/[^/]+/([0-9]+)/gi'); |
|
|
|
media.id = d.split("photos\/")[1].split("/")[1]; |
|
media.link = d; |
|
//media.id = media.id.split("/")[1]; |
|
//trace("FLICKR " + media.id); |
|
success = true; |
|
} else if (d.match(/jpg|jpeg|png|gif/i)) { |
|
media.type = "image"; |
|
media.id = d; |
|
success = true; |
|
} else if (VMM.FileExtention.googleDocType(d)) { |
|
media.type = "googledoc"; |
|
media.id = d; |
|
success = true; |
|
} else if (d.indexOf('http://') == 0) { |
|
media.type = "website"; |
|
media.id = d; |
|
success = true; |
|
} else { |
|
trace("unknown media"); |
|
media.type = "unknown"; |
|
media.id = d; |
|
success = true; |
|
} |
|
|
|
if (success) { |
|
return media; |
|
} else { |
|
trace("No valid media id detected"); |
|
trace(d); |
|
} |
|
return false; |
|
} |
|
} |