]> git.mxchange.org Git - friendica.git/blob - addon/oembed/oembed.js
26541490b18fc01b7cb570f1996175bb17336062
[friendica.git] / addon / oembed / oembed.js
1 function oembed(){
2   $("#oembed").toggleClass('hide');
3 }
4
5 function oembed_do(){
6   embedurl = $('#oembed_url').attr('value');
7   var url = 'http://oohembed.com/oohembed/?url='+escape( embedurl )+"&callback=?";
8   
9   $.getJSON(url, function(data) {
10     var ret="";
11     switch(data.type){
12       case "video": {
13         if (data.thumbnail_url){
14           tw = 200; if (data.thumbnail_width) tw=data.thumbnail_width;
15           th = 180; if (data.thumbnail_height) tw=data.thumbnail_height;
16           ret = "<a href='"+embedurl+"'>";
17           // tiny mce bbcode plugin not support image size......
18           ret += "<img width='"+tw+"' height='"+th+"' src='"+data.thumbnail_url+"'></a>";
19         } else {
20           ret = data.html;  
21         }
22       }; break;
23       case "photo": {
24           // tiny mce bbcode plugin not support image size......        
25           ret = "<img width='"+data.width+"' height='"+data.height+"' src='"+data.url+"'>";
26       }; break;
27       case "link": {
28           ret = "<a href='"+embedurl+"'>"+data.title+"</a>";
29       }; break;
30       case "rich": {
31           ret = data.html; // not so safe... http://www.oembed.com/ : "Consumers may wish to load the HTML in an off-domain iframe to avoid XSS" 
32       }; break;
33       default: {
34         alert("Error retriving data!");
35         return;
36       }
37     }
38     var embedlink = embedurl;
39     if (data.title) embedlink = data.title
40     ret+="<br><a href='"+embedurl+"'>"+embedlink+"</a>";
41     if (data.author_name) {
42       ret+=" by "+data.author_name;
43     }
44     if (data.provider_name) {
45       ret+=" on "+data.provider_name;
46     }
47     tinyMCE.execCommand('mceInsertRawHTML',false,ret);
48     oembed();
49   });
50   
51 }