diff --git a/app/helpers/status_messages_helper.rb b/app/helpers/status_messages_helper.rb index 4131ccaf0..f44ffe42e 100644 --- a/app/helpers/status_messages_helper.rb +++ b/app/helpers/status_messages_helper.rb @@ -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):\/\/([^ ]+)/, '\2'); + message.gsub!(/( |^)(www\.[^ ]+\.[^ ])/, '\1http://\2') + message.gsub!(/( |^)http:\/\/www\.youtube\.com\/watch.*v=([A-Za-z0-9_]+)[^ ]*/, '\1youtube::\2') + message.gsub!(/(http|ftp):\/\/([^ ]+)/, '\2') + message.gsub!(/youtube::([A-Za-z0-9_]+)/, 'Youtube: \1') + return message end end diff --git a/public/javascripts/view.js b/public/javascripts/view.js index dec170a07..362543243 100644 --- a/public/javascripts/view.js +++ b/public/javascripts/view.js @@ -72,3 +72,12 @@ $.fn.clearForm = function() { }); }; +function openYoutube(videoid, link) { + var container = document.createElement('div'); + container.innerHTML = '
Close Watch on Youtube'; + link.parentNode.insertBefore(container, this.nextSibling); +} + +function closeYoutube(link) { + link.parentNode.parentNode.removeChild(link.parentNode); +}