Youtube proof of concept patch/preview - not done yet (see bug #332)
This commit is contained in:
parent
50f9e8f240
commit
8e753cc073
2 changed files with 14 additions and 2 deletions
|
|
@ -16,8 +16,11 @@ module StatusMessagesHelper
|
|||
|
||||
# next line is important due to XSS! (h is rail's make_html_safe-function)
|
||||
message = h(message).html_safe
|
||||
message.gsub!(/( |^)(www\.[^ ]+\.[^ ])/, '\1http://\2');
|
||||
return message.gsub(/(http|ftp):\/\/([^ ]+)/, '<a target="_blank" href="\1://\2">\2</a>');
|
||||
message.gsub!(/( |^)(www\.[^ ]+\.[^ ])/, '\1http://\2')
|
||||
message.gsub!(/( |^)http:\/\/www\.youtube\.com\/watch.*v=([A-Za-z0-9_]+)[^ ]*/, '\1youtube::\2')
|
||||
message.gsub!(/(http|ftp):\/\/([^ ]+)/, '<a target="_blank" href="\1://\2">\2</a>')
|
||||
message.gsub!(/youtube::([A-Za-z0-9_]+)/, '<a name="\1" onclick="openYoutube(\'\1\', this)" href="#\1">Youtube: \1</a>')
|
||||
return message
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
|
|
@ -72,3 +72,12 @@ $.fn.clearForm = function() {
|
|||
});
|
||||
};
|
||||
|
||||
function openYoutube(videoid, link) {
|
||||
var container = document.createElement('div');
|
||||
container.innerHTML = '<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/'+videoid+'?fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'+videoid+'?fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object><br><a href="#'+videoid+'" onclick="closeYoutube(this)">Close</a> <a href="http://www.youtube.com/watch?v='+videoid+'" target="_blank">Watch on Youtube</a>';
|
||||
link.parentNode.insertBefore(container, this.nextSibling);
|
||||
}
|
||||
|
||||
function closeYoutube(link) {
|
||||
link.parentNode.parentNode.removeChild(link.parentNode);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue