FIX: skip html escaping event urls (#473)
This commit is contained in:
parent
f9f8e9d719
commit
1a97a946ce
|
|
@ -41,7 +41,7 @@ module DiscoursePostEvent
|
||||||
|
|
||||||
if value && valid_options.include?(name)
|
if value && valid_options.include?(name)
|
||||||
event ||= {}
|
event ||= {}
|
||||||
event[name.sub("data-", "").to_sym] = if name == "data-name"
|
event[name.sub("data-", "").to_sym] = if %w[data-name data-url].include?(name)
|
||||||
value
|
value
|
||||||
else
|
else
|
||||||
CGI.escapeHTML(value)
|
CGI.escapeHTML(value)
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,16 @@ describe DiscoursePostEvent::EventParser do
|
||||||
expect(events[0][:name]).to eq("bar <script> baz")
|
expect(events[0][:name]).to eq("bar <script> baz")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "doesn't escape urls" do
|
||||||
|
post_event = build_post user, <<~TXT
|
||||||
|
[event start="2020" url="https://example.com/?q=foo&all=true"]
|
||||||
|
[/event]
|
||||||
|
TXT
|
||||||
|
|
||||||
|
events = parser.extract_events(post_event)
|
||||||
|
expect(events[0][:url]).to eq("https://example.com/?q=foo&all=true")
|
||||||
|
end
|
||||||
|
|
||||||
context "with custom fields" do
|
context "with custom fields" do
|
||||||
before { SiteSetting.discourse_post_event_allowed_custom_fields = "foo-bar|bar" }
|
before { SiteSetting.discourse_post_event_allowed_custom_fields = "foo-bar|bar" }
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue