mirror of
https://github.com/discourse/discourse.git
synced 2024-11-27 15:06:17 +08:00
Merge pull request #1111 from jamesaanderson/flash-video-onebox
Add flash video onebox support
This commit is contained in:
commit
5cda0e556c
|
@ -172,6 +172,8 @@ class SiteSetting < ActiveRecord::Base
|
|||
setting(:s3_region, '', enum: 'S3RegionSiteSetting')
|
||||
setting(:s3_upload_bucket, '')
|
||||
|
||||
setting(:enable_flash_video_onebox, false)
|
||||
|
||||
setting(:default_trust_level, 0)
|
||||
setting(:default_invitee_trust_level, 1)
|
||||
|
||||
|
|
|
@ -583,6 +583,8 @@ en:
|
|||
s3_secret_access_key: "The Amazon S3 secret access key that will be used to upload images"
|
||||
s3_region: "The Amazon S3 region name that will be used to upload images"
|
||||
|
||||
enable_flash_video_onebox: "Enable embedding of swf and flv links in oneboxes (may introduce a security risk, caution advised)"
|
||||
|
||||
default_invitee_trust_level: "Default trust level (0-4) for invited users"
|
||||
default_trust_level: "Default trust level (0-4) for users"
|
||||
|
||||
|
|
17
lib/oneboxer/flash_video_onebox.rb
Normal file
17
lib/oneboxer/flash_video_onebox.rb
Normal file
|
@ -0,0 +1,17 @@
|
|||
require_dependency 'oneboxer/base_onebox'
|
||||
|
||||
module Oneboxer
|
||||
class FlashVideoOnebox < BaseOnebox
|
||||
|
||||
matcher /^https?:\/\/.*\.(swf|flv)$/
|
||||
|
||||
def onebox
|
||||
if SiteSetting.enable_flash_video_onebox
|
||||
"<object width='100%' height='100%'><param name='#{@url}' value='#{@url}'><embed src='#{@url}' width='100%' height='100%'></embed></object>"
|
||||
else
|
||||
"<a href='#{@url}'>#{@url}</a>"
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
33
spec/components/oneboxer/flash_video_onebox_spec.rb
Normal file
33
spec/components/oneboxer/flash_video_onebox_spec.rb
Normal file
|
@ -0,0 +1,33 @@
|
|||
require 'spec_helper'
|
||||
require 'oneboxer'
|
||||
require 'oneboxer/flash_video_onebox'
|
||||
|
||||
describe Oneboxer::FlashVideoOnebox do
|
||||
before do
|
||||
@o = Oneboxer::FlashVideoOnebox.new('http://player.56.com/v_OTMyNTk1MzE.swf')
|
||||
end
|
||||
|
||||
context "when SiteSetting.enable_flash_video_onebox is true" do
|
||||
before do
|
||||
SiteSetting.stubs(:enable_flash_video_onebox).returns(true)
|
||||
end
|
||||
|
||||
it "generates a flash video" do
|
||||
expect(@o.onebox).to match_html(
|
||||
"<object width='100%' height='100%'><param name='http://player.56.com/v_OTMyNTk1MzE.swf' value='http://player.56.com/v_OTMyNTk1MzE.swf'><embed src='http://player.56.com/v_OTMyNTk1MzE.swf' width='100%' height='100%'></embed></object>"
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context "when SiteSetting.enable_flash_video_onebox is false" do
|
||||
before do
|
||||
SiteSetting.stubs(:enable_flash_video_onebox).returns(false)
|
||||
end
|
||||
|
||||
it "generates a link" do
|
||||
expect(@o.onebox).to match_html(
|
||||
"<a href='http://player.56.com/v_OTMyNTk1MzE.swf'>http://player.56.com/v_OTMyNTk1MzE.swf</a>"
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user