Mercurial Hosting > nabble
view src/nabble/view/naml/message.naml @ 20:47162510b27f
vimeo fix
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 05 Jun 2020 13:16:45 -0600 |
parents | 7ecd1a4ef557 |
children |
line wrap: on
line source
<macro name="message_with_signature" requires="node"> <n.node_message_as_html /> <n.if.both condition1="[n.owner.has_signature/]" condition2="[n.owner.is_active/]"> <then> <div class="signature weak-color"> <n.owner.signature_as_html/> </div> </then> </n.if.both> </macro> <macro name="node_message_block" dot_parameter="do" requires="node"> <n.global_set_var name="message_block_node" value="[n.this_node/]" /> <n.do/> </macro> <macro name="message_block_node" dot_parameter="do"> <n.get_node node="[n.global_var name='message_block_node'/]" do="[n.do/]" /> </macro> <macro name="node_message_as_html" requires="node"> <n.node_message_block.message.message_as_html /> </macro> <macro name="node_message_as_text" requires="node"> <n.node_message_block.message.message_as_text /> </macro> <macro name="message_quoted" requires="node" unindent="true"> <quote author="[n.owner.name/]"> <n.trim.message.as_quoted_text/> </quote> <n.nop/> </macro> <macro name="message_as_html" requires="message"> <n.if.either condition1="[n.is_deleted/]" condition2="[n.is_deactivated/]"> <then> <b><t>CONTENTS DELETED</t></b> <div class="weak-color"><t>The author has deleted this message.</t></div> </then> <else> <n.set_var. name="output"> <n.as_html_list.process_message_html /> </n.set_var.> <n.if.is_imported_mail> <then.set_var. name="output"> <n.remove_unsubscription_link.var name="output" /> </then.set_var.> </n.if.is_imported_mail> <n.var name="output" /> </else> </n.if.either> </macro> <macro name="process_message_html" requires="html_list"> <n.process_raw_tags/> <n.process_cdata_tags/> <n.process_embed regex="[n.embed_regex/]" /> <n.process_file_tags/> <n.apply_message_security/> <n.process_quotes wrote="[t][n.author/] wrote[/t]"/> <n.process_email/> <n.set_target_to_top/> <n.add_nofollow/> <n.process_smilies/> </macro> <macro name="apply_message_security" requires="html_list"> <n.if.is_in_command name="node_message_block"> <then.if.not.message_block_node.has_unrestricted_posting> <then.message_security/> </then.if.not.message_block_node.has_unrestricted_posting> <else.message_security/> </n.if.is_in_command > </macro> <macro name="message_security" requires="html_list"> <n.disable_banned_tags.> script, style, html, head, body, link </n.disable_banned_tags.> <n.disable_invalid_urls.> href, src, action </n.disable_invalid_urls.> <n.disable_javascript_urls.> href, src, action </n.disable_javascript_urls.> <n.disable_on_event/> <n.disable_scripts/> <n.disable_style_blocks/> </macro> <macro name="message_as_text" requires="message"> <n.as_text_list.process_message_text /> </macro> <macro name="process_message_text" requires="html_list"> <n.process_quotes_as_text wrote="[t][n.author/] wrote[/t]"/> <n.process_smilies_as_text/> <n.process_file_tags/> <n.process_tag tag="b" do="*" /> <n.process_tag tag="/b" do="*" /> <n.process_tag tag="i" do="/" /> <n.process_tag tag="/i" do="/" /> <n.process_tag tag="u" do="_" /> <n.process_tag tag="/u" do="_" /> <n.process_text text="<" replacement="[n.lt/]" /> <n.process_text text=">" replacement="[n.gt/]" /> </macro> <macro name="embed_regex"> <n.if.is_in_command name="node_message_block"> <then.if.message_block_node.has_unrestricted_posting> <then>(?s).*</then> <else.embed_regex_list/> </then.if.message_block_node.has_unrestricted_posting> <else.embed_regex_list/> </n.if.is_in_command > </macro> <macro name="embed_regex_list"> (<n.youtube_object_regex/>)|(<n.youtube_object_regex2/>)|(<n.youtube_iframe_regex/>)|(<n.liveleak_regex/>)|(<n.polldaddy_regex/>)|(<n.vimeo_regex/>) </macro> <macro name="youtube_object_regex"> <![CDATA[\s*<object width="\d+" height="\d+"><param name="movie" value="http://www.youtube.com/v/[^"]+"></param><param name="allowFullScreen" value="\w+"></param><param name="allowscriptaccess" value="\w+"></param><embed src="http://www.youtube.com/v/[^"]+" type="application/x-shockwave-flash" allowscriptaccess="\w+" allowfullscreen="\w+" width="\d+" height="\d+"></embed></object>\s*]]> </macro> <macro name="youtube_object_regex2"> <![CDATA[\s*<object width="\d+" height="\d+"><param name="movie" value="https?://www.youtube(-nocookie)?.com/v/[^"]+"></param><param name="allowFullScreen" value="\w+"></param><param name="allowscriptaccess" value="\w+"></param><embed src="https?://www.youtube(-nocookie)?.com/v/[^"]+" type="application/x-shockwave-flash" width="\d+" height="\d+"( allowscriptaccess="\w+")?( allowfullscreen="\w+")?></embed></object>\s*]]> </macro> <macro name="youtube_iframe_regex"> <![CDATA[\s*<iframe[^>]* src="(https?:)?//www.youtube.com/embed/[^"]+"[^>]*></iframe>\s*]]> </macro> <macro name="liveleak_regex"> <![CDATA[\s*<object width="\d+" height="\d+"><param name="movie" value="http://www.liveleak.com/e/\w+"></param><param name="wmode" value="\w+"></param><param name="allowscriptaccess" value="\w+"></param><embed src="http://www.liveleak.com/e/\w+" type="application/x-shockwave-flash" wmode="\w+" allowscriptaccess="\w+" width="\d+" height="\d+"></embed></object>\s*]]> </macro> <macro name="polldaddy_regex"> <![CDATA[\s*<embed allowScriptAccess="\w+" saveEmbedTags="\w+" quality="\w+" wmode="\w+" bgcolor="#\w+" name="\w+" salign="\w+" scale="\w+" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="p=\d+" src="http://i.polldaddy.com/poll.swf" width="\d+" height="\d+"></embed>\s*]]> </macro> <macro name="vimeo_regex"> <![CDATA[\s*<iframe src="https?://player.vimeo.com/video/[^"]+" width="\d+" height="\d+" frameborder="0"( webkitAllowFullScreen)?( mozallowfullscreen)?( allowFullScreen)?></iframe>.*]]> </macro>