Commit 1ba10751 authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 579749: Linkify the URL found in attachments (restore the is_url behavior)…

Bug 579749: Linkify the URL found in attachments (restore the is_url behavior) if there is only an URL in them r/a=LpSolit
parent 2addcaad
...@@ -172,7 +172,7 @@ ...@@ -172,7 +172,7 @@
</b></p> </b></p>
</div> </div>
[% ELSIF attachment.is_viewable %] [% ELSIF attachment.is_viewable %]
<div > <div>
[% INCLUDE global/textarea.html.tmpl [% INCLUDE global/textarea.html.tmpl
id = 'editFrame' id = 'editFrame'
name = 'comment' name = 'comment'
...@@ -183,10 +183,27 @@ ...@@ -183,10 +183,27 @@
defaultcontent = (attachment.contenttype.match('^text\/')) ? defaultcontent = (attachment.contenttype.match('^text\/')) ?
attachment.data.replace('(.*\n|.+)', '>$1') : undef attachment.data.replace('(.*\n|.+)', '>$1') : undef
%] %]
[%# The regexp is stolen from quoteUrls(), see Template.pm %]
[% safe_protocols = constants.SAFE_PROTOCOLS.join('|') %]
[% IF attachment.contenttype == 'text/plain'
&& attachment.data.match("^($safe_protocols):" _ '[^\s<>\"]+[\w\/]$') %]
<p>
<a href="[% attachment.data FILTER html %]">
[% IF attachment.datasize < 120 %]
[% attachment.data FILTER html %]
[% ELSE %]
[% attachment.data FILTER truncate(80) FILTER html %]
...
[% attachment.data.match('.*(.{20})$').0 FILTER html %]
[% END %]
</a>
</p>
[% ELSE %]
<iframe id="viewFrame" src="attachment.cgi?id=[% attachment.id %]"> <iframe id="viewFrame" src="attachment.cgi?id=[% attachment.id %]">
<b>You cannot view the attachment while viewing its details because your browser does not support IFRAMEs. <b>You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
<a href="attachment.cgi?id=[% attachment.id %]">View the attachment on a separate page</a>.</b> <a href="attachment.cgi?id=[% attachment.id %]">View the attachment on a separate page</a>.</b>
</iframe> </iframe>
[% END %]
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
var patchviewerinstalled = 0; var patchviewerinstalled = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment