| [%# This Source Code Form is subject to the terms of the Mozilla Public |
| # License, v. 2.0. If a copy of the MPL was not distributed with this |
| # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
| # |
| # This Source Code Form is "Incompatible With Secondary Licenses", as |
| # defined by the Mozilla Public License, v. 2.0. |
| #%] |
| |
| [% max_local = Param('maxlocalattachment') * 1024 %] |
| [% max_limit = Param('maxattachmentsize')> max_local ? Param('maxattachmentsize') : max_local %] |
| <tr class="attachment_data"> |
| <th><label for="data">File</label>:</th> |
| <td> |
| <em>Enter the path to the file on your computer</em> (or |
| <a id="attachment_data_controller" href="javascript:TUI_toggle_class('attachment_text_field'); |
| javascript:TUI_toggle_class('attachment_data')" |
| >paste text as attachment</a>).<br> |
| <input type="file" id="data" name="data" size="50" onchange="DataFieldHandler()"> |
| <br><em>(File size limit: [% max_limit FILTER html %] KB)</em> |
| </td> |
| </tr> |
| <tr class="attachment_text_field"> |
| <th><label for="attach_text">File</label>:</th> |
| <td> |
| <em>Paste the text to be added as an attachment</em> (or |
| <a id="attachment_text_field_controller" href="javascript:TUI_toggle_class('attachment_text_field'); |
| javascript:TUI_toggle_class('attachment_data')" |
| >attach a file</a>).<br> |
| <textarea id="attach_text" name="attach_text" cols="80" rows="15" |
| onkeyup="TextFieldHandler()" onblur="TextFieldHandler()"></textarea> |
| </td> |
| </tr> |
| <tr> |
| <th class="required"><label for="description">Description</label>:</th> |
| <td> |
| <em>Describe the attachment briefly.</em><br> |
| <input type="text" id="description" name="description" class="required" |
| size="60" maxlength="200"> |
| </td> |
| </tr> |
| <tr[% ' class="expert_fields"' UNLESS bug.id %]> |
| <th>Content Type:</th> |
| <td> |
| <em>If the attachment is a patch, check the box below.</em><br> |
| <input type="checkbox" id="ispatch" name="ispatch" value="1" |
| onchange="setContentTypeDisabledState(this.form);"> |
| <label for="ispatch">patch</label><br><br> |
| [%# Reset this whenever the page loads so that the JS state is up to date %] |
| <script type="text/javascript"> |
| YAHOO.util.Event.onDOMReady(function() { |
| bz_fireEvent(document.getElementById('ispatch'), 'change'); |
| }); |
| </script> |
| |
| <em>Otherwise, choose a method for determining the content type.</em><br> |
| <input type="radio" id="autodetect" |
| name="contenttypemethod" value="autodetect" checked="checked"> |
| <label for="autodetect">auto-detect</label><br> |
| <input type="radio" id="list" |
| name="contenttypemethod" value="list"> |
| <label for="list">select from list</label>: |
| <select name="contenttypeselection" id="contenttypeselection" |
| onchange="this.form.contenttypemethod[1].checked = true;"> |
| [% PROCESS content_types %] |
| </select><br> |
| <input type="radio" id="manual" |
| name="contenttypemethod" value="manual"> |
| <label for="manual">enter manually</label>: |
| <input type="text" name="contenttypeentry" id="contenttypeentry" |
| size="30" maxlength="200" |
| onchange="if (this.value) this.form.contenttypemethod[2].checked = true;"> |
| </td> |
| </tr> |
| <tr[% ' class="expert_fields"' UNLESS bug.id %]> |
| <td> </td> |
| <td> |
| [% IF flag_types && flag_types.size > 0 %] |
| [% PROCESS "flag/list.html.tmpl" %]<br> |
| [% END %] |
| </td> |
| </tr> |
| [%# if WEBKIT_CHANGES %] |
| [% USE CGI %] |
| [% cgi_product = CGI.param('product') %] |
| [% PROCESS attachment/patchlegalese.html.tmpl product = cgi_product %] |
| [%# endif // WEBKIT_CHANGES %] |
| |
| [% BLOCK content_types %] |
| [%# WEBKIT_CHANGES: Added XHTML source and SVG image. %] |
| [% mimetypes = [{type => "text/plain", desc => "plain text"}, |
| {type => "text/html", desc => "HTML source"}, |
| {type => "application/xhtml+xml", desc => "XHTML source"}, |
| {type => "image/svg+xml", desc => "SVG image"}, |
| {type => "application/xml", desc => "XML source"}, |
| {type => "image/gif", desc => "GIF image"}, |
| {type => "image/jpeg", desc => "JPEG image"}, |
| {type => "image/png", desc => "PNG image"}, |
| {type => "application/pdf", desc => "PDF document"}, |
| {type => "application/octet-stream", desc => "binary file"}] |
| %] |
| [% Hook.process("mimetypes", "attachment/createformcontents.html.tmpl") %] |
| |
| [% FOREACH m = mimetypes %] |
| <option value="[% m.type FILTER html %]">[% m.desc FILTER html %] ([% m.type FILTER html %])</option> |
| [% END %] |
| [% END %] |