c79fef9c01
Previously, if the user tried to submit content which was malformed utf-8, Instiki would complain loudly to him. A slightly more user-friendly approach was suggested by the latest Rails 2.3.4, and a conversation with Sam Ruby (who suggested some improvements). Now, instead of complaining, we remove the offending bytes, leaving a well-formed utf-8 string, which we pretend is what the user meant to submit.
34 lines
1.2 KiB
Text
34 lines
1.2 KiB
Text
<%-
|
|
@title = "Creating #{CGI.escapeHTML(WikiWords.separate(@page_name))}"
|
|
@content_width = 720
|
|
@hide_navigation = true
|
|
-%>
|
|
|
|
<div id="MarkupHelp">
|
|
<%= render(:file => "#{@web.markup}_help") %>
|
|
<%= render(:file => 'wiki_words_help') %>
|
|
</div>
|
|
|
|
<div id="editForm">
|
|
<% form_tag({ :action => 'save', :web => @web.address, :id => @page_name },
|
|
{ 'id' => 'editForm', 'method' => 'post', 'onsubmit' => 'cleanAuthorName();', 'accept-charset' => 'utf-8' }) do %>
|
|
|
|
<textarea name="content" id="content" rows="24" cols="60"><%= h(flash[:content] ||
|
|
params['content'] ? params['content'].purify : '' ) %></textarea>
|
|
<div id="editFormButtons">
|
|
<input type="submit" value="Submit" accesskey="s"/> as
|
|
<%= text_field_tag :author, @author,
|
|
:onfocus => "this.value == 'AnonymousCoward' ? this.value = '' : true;",
|
|
:onblur => "this.value == '' ? this.value = 'AnonymousCoward' : true" %>
|
|
</div>
|
|
<%- end -%>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
function cleanAuthorName() {
|
|
if (document.getElementById('authorName').value == "") {
|
|
document.getElementById('authorName').value = 'AnonymousCoward';
|
|
}
|
|
}
|
|
document.forms["editForm"].elements["content"].focus();
|
|
</script>
|