<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -40,7 +40,7 @@ class SettingsController &lt; ApplicationController
     @options[:user_format] = User::USER_FORMATS.keys.collect {|f| [User.current.name(f), f.to_s] }
     @deliveries = ActionMailer::Base.perform_deliveries
 
-    @guessed_host_and_path = request.host_with_port
+    @guessed_host_and_path = request.host_with_port.dup
     @guessed_host_and_path &lt;&lt; ('/'+ request.relative_url_root.gsub(%r{^\/}, '')) unless request.relative_url_root.blank?
   end
 </diff>
      <filename>app/controllers/settings_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -291,16 +291,15 @@ module ApplicationHelper
       attachments = attachments.sort_by(&amp;:created_on).reverse
       text = text.gsub(/!((\&lt;|\=|\&gt;)?(\([^\)]+\))?(\[[^\]]+\])?(\{[^\}]+\})?)(\S+\.(bmp|gif|jpg|jpeg|png))!/i) do |m|
         style = $1
-        filename = $6
-        rf = Regexp.new(Regexp.escape(filename),  Regexp::IGNORECASE)
+        filename = $6.downcase
         # search for the picture in attachments
-        if found = attachments.detect { |att| att.filename =~ rf }
+        if found = attachments.detect { |att| att.filename.downcase == filename }
           image_url = url_for :only_path =&gt; only_path, :controller =&gt; 'attachments', :action =&gt; 'download', :id =&gt; found
           desc = found.description.to_s.gsub(/^([^\(\)]*).*$/, &quot;\\1&quot;)
           alt = desc.blank? ? nil : &quot;(#{desc})&quot;
           &quot;!#{style}#{image_url}#{alt}!&quot;
         else
-          &quot;!#{style}#{filename}!&quot;
+          m
         end
       end
     end</diff>
      <filename>app/helpers/application_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,7 +23,7 @@ class Message &lt; ActiveRecord::Base
   belongs_to :last_reply, :class_name =&gt; 'Message', :foreign_key =&gt; 'last_reply_id'
   
   acts_as_searchable :columns =&gt; ['subject', 'content'],
-                     :include =&gt; {:board, :project},
+                     :include =&gt; {:board =&gt; :project},
                      :project_key =&gt; 'project_id',
                      :date_column =&gt; &quot;#{table_name}.created_on&quot;
   acts_as_event :title =&gt; Proc.new {|o| &quot;#{o.board.name}: #{o.subject}&quot;},</diff>
      <filename>app/models/message.rb</filename>
    </modified>
    <modified>
      <diff>@@ -31,9 +31,9 @@ class Role &lt; ActiveRecord::Base
       raise &quot;Can not copy workflow from a #{role.class}&quot; unless role.is_a?(Role)
       raise &quot;Can not copy workflow from/to an unsaved role&quot; if proxy_owner.new_record? || role.new_record?
       clear
-      connection.insert &quot;INSERT INTO workflows (tracker_id, old_status_id, new_status_id, role_id)&quot; +
+      connection.insert &quot;INSERT INTO #{Workflow.table_name} (tracker_id, old_status_id, new_status_id, role_id)&quot; +
                         &quot; SELECT tracker_id, old_status_id, new_status_id, #{proxy_owner.id}&quot; +
-                        &quot; FROM workflows&quot; +
+                        &quot; FROM #{Workflow.table_name}&quot; +
                         &quot; WHERE role_id = #{role.id}&quot;
     end
   end</diff>
      <filename>app/models/role.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,9 +23,9 @@ class Tracker &lt; ActiveRecord::Base
       raise &quot;Can not copy workflow from a #{tracker.class}&quot; unless tracker.is_a?(Tracker)
       raise &quot;Can not copy workflow from/to an unsaved tracker&quot; if proxy_owner.new_record? || tracker.new_record?
       clear
-      connection.insert &quot;INSERT INTO workflows (tracker_id, old_status_id, new_status_id, role_id)&quot; +
+      connection.insert &quot;INSERT INTO #{Workflow.table_name} (tracker_id, old_status_id, new_status_id, role_id)&quot; +
                         &quot; SELECT #{proxy_owner.id}, old_status_id, new_status_id, role_id&quot; +
-                        &quot; FROM workflows&quot; +
+                        &quot; FROM #{Workflow.table_name}&quot; +
                         &quot; WHERE tracker_id = #{tracker.id}&quot;
     end
   end</diff>
      <filename>app/models/tracker.rb</filename>
    </modified>
    <modified>
      <diff>@@ -24,11 +24,13 @@
 
 &lt;p&gt;&lt;%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), :required =&gt; true %&gt;&lt;/p&gt;
 &lt;p&gt;&lt;%= f.select :assigned_to_id, (@issue.assignable_users.collect {|m| [m.name, m.id]}), :include_blank =&gt; true %&gt;&lt;/p&gt;
+&lt;% unless @project.issue_categories.empty? %&gt;
 &lt;p&gt;&lt;%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}), :include_blank =&gt; true %&gt;
 &lt;%= prompt_to_remote(l(:label_issue_category_new),
                      l(:label_issue_category_new), 'category[name]', 
                      {:controller =&gt; 'projects', :action =&gt; 'add_issue_category', :id =&gt; @project},
                      :class =&gt; 'small', :tabindex =&gt; 199) if authorize_for('projects', 'add_issue_category') %&gt;&lt;/p&gt;
+&lt;% end %&gt;
 &lt;%= content_tag('p', f.select(:fixed_version_id, 
                               (@project.versions.sort.collect {|v| [v.name, v.id]}),
                               { :include_blank =&gt; true })) unless @project.versions.empty? %&gt;</diff>
      <filename>app/views/issues/_form.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -44,6 +44,7 @@
 &lt;fieldset&gt;&lt;legend&gt;&lt;%= l(:field_notes) %&gt;&lt;/legend&gt;
 &lt;%= text_area_tag 'notes', @notes, :cols =&gt; 60, :rows =&gt; 10, :class =&gt; 'wiki-edit' %&gt;
 &lt;%= wikitoolbar_for 'notes' %&gt;
+&lt;/fieldset&gt;
 &lt;/div&gt;
 
 &lt;p&gt;&lt;%= submit_tag l(:button_submit) %&gt;</diff>
      <filename>app/views/issues/bulk_edit.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -47,6 +47,6 @@ entries_by_day = entries.group_by(&amp;:spent_on)
     &lt;/tr&gt;
     &lt;% end -%&gt;
 &lt;% end -%&gt;
-&lt;/tbdoy&gt;
+&lt;/tbody&gt;
 &lt;/table&gt;
 &lt;% end %&gt;</diff>
      <filename>app/views/my/blocks/_timelog.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -17,7 +17,6 @@
     &lt;td&gt;&lt;%= link_to(version.wiki_page_title, :controller =&gt; 'wiki', :page =&gt; Wiki.titleize(version.wiki_page_title)) unless version.wiki_page_title.blank? || @project.wiki.nil? %&gt;&lt;/td&gt;
     &lt;td align=&quot;center&quot;&gt;&lt;%= link_to_if_authorized l(:button_edit), { :controller =&gt; 'versions', :action =&gt; 'edit', :id =&gt; version }, :class =&gt; 'icon icon-edit' %&gt;&lt;/td&gt;
     &lt;td align=&quot;center&quot;&gt;&lt;%= link_to_if_authorized l(:button_delete), {:controller =&gt; 'versions', :action =&gt; 'destroy', :id =&gt; version}, :confirm =&gt; l(:text_are_you_sure), :method =&gt; :post, :class =&gt; 'icon icon-del' %&gt;&lt;/td&gt;
-    &lt;/td&gt;
     &lt;/tr&gt;
 &lt;% end; reset_cycle %&gt;
     &lt;/tbody&gt;</diff>
      <filename>app/views/projects/settings/_versions.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@
 &lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 &lt;style&gt;
 body { font:80% Verdana,Tahoma,Arial,sans-serif; }
-h1, h2, h3, h4 {  font-family: Trebuchet MS,Georgia,&quot;Times New Roman&quot;,serif; }
+h1, h2, h3, h4 {  font-family: &quot;Trebuchet MS&quot;,Georgia,&quot;Times New Roman&quot;,serif; }
 ul.toc { padding: 4px; margin-left: 0; }
 ul.toc li { list-style-type:none; }
 ul.toc li.heading2 { margin-left: 1em; }</diff>
      <filename>app/views/wiki/export.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@
 &lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
 &lt;style&gt;
 body { font:80% Verdana,Tahoma,Arial,sans-serif; }
-h1, h2, h3, h4 {  font-family: Trebuchet MS,Georgia,&quot;Times New Roman&quot;,serif; }
+h1, h2, h3, h4 {  font-family: &quot;Trebuchet MS&quot;,Georgia,&quot;Times New Roman&quot;,serif; }
 &lt;/style&gt;
 &lt;/head&gt;
 &lt;body&gt;</diff>
      <filename>app/views/wiki/export_multiple.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -2,9 +2,10 @@ class SetTopicAuthorsAsWatchers &lt; ActiveRecord::Migration
   def self.up
     # Sets active users who created/replied a topic as watchers of the topic
     # so that the new watch functionality at topic level doesn't affect notifications behaviour
-    Message.connection.execute(&quot;INSERT INTO watchers (watchable_type, watchable_id, user_id)&quot; +
-                                 &quot; SELECT DISTINCT 'Message', COALESCE(messages.parent_id, messages.id), messages.author_id FROM messages, users&quot; +
-                                 &quot; WHERE messages.author_id = users.id AND users.status = 1&quot;)
+    Message.connection.execute(&quot;INSERT INTO #{Watcher.table_name} (watchable_type, watchable_id, user_id)&quot; +
+                                 &quot; SELECT DISTINCT 'Message', COALESCE(m.parent_id, m.id), m.author_id&quot; +
+                                 &quot; FROM #{Message.table_name} m, #{User.table_name} u&quot; +
+                                 &quot; WHERE m.author_id = u.id AND u.status = 1&quot;)
   end
 
   def self.down</diff>
      <filename>db/migrate/098_set_topic_authors_as_watchers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -792,7 +792,7 @@ class RedCloth3 &lt; String
             (?:\(([^)]+?)\)(?=&quot;))?     # $title
             &quot;:
             (                          # $url
-            (\/|https?:\/\/|s?ftps?:\/\/|www\.)
+            (\/|[a-zA-Z]+:\/\/|www\.)  # $proto
             [\w\/]\S+?
             )               
             (\/)?                      # $slash</diff>
      <filename>lib/redcloth3.rb</filename>
    </modified>
    <modified>
      <diff>@@ -61,7 +61,7 @@
 
         &lt;ul&gt;
             &lt;li&gt;&lt;strong&gt;[[sandbox:some page]]&lt;/strong&gt; displays a link to the page named 'Some page' of the Sandbox wiki&lt;/li&gt;
-            &lt;li&gt;&lt;strong&gt;[[sandbox]]&lt;/strong&gt; displays a link to the Sandbox wiki main page&lt;/li&gt;
+            &lt;li&gt;&lt;strong&gt;[[sandbox:]]&lt;/strong&gt; displays a link to the Sandbox wiki main page&lt;/li&gt;
         &lt;/ul&gt;
 
         &lt;p&gt;Wiki links are displayed in red if the page doesn't exist yet, eg: &lt;a href=&quot;Nonexistent_page.html&quot; class=&quot;wiki-page new&quot;&gt;Nonexistent page&lt;/a&gt;.&lt;/p&gt;</diff>
      <filename>public/help/wiki_syntax_detailed.html</filename>
    </modified>
    <modified>
      <diff>@@ -89,7 +89,9 @@ class ApplicationHelperTest &lt; HelperTestCase
   def test_attached_images
     to_test = {
       'Inline image: !logo.gif!' =&gt; 'Inline image: &lt;img src=&quot;/attachments/download/3&quot; title=&quot;This is a logo&quot; alt=&quot;This is a logo&quot; /&gt;',
-      'Inline image: !logo.GIF!' =&gt; 'Inline image: &lt;img src=&quot;/attachments/download/3&quot; title=&quot;This is a logo&quot; alt=&quot;This is a logo&quot; /&gt;'
+      'Inline image: !logo.GIF!' =&gt; 'Inline image: &lt;img src=&quot;/attachments/download/3&quot; title=&quot;This is a logo&quot; alt=&quot;This is a logo&quot; /&gt;',
+      'No match: !ogo.gif!' =&gt; 'No match: &lt;img src=&quot;ogo.gif&quot; alt=&quot;&quot; /&gt;',
+      'No match: !ogo.GIF!' =&gt; 'No match: &lt;img src=&quot;ogo.GIF&quot; alt=&quot;&quot; /&gt;'
     }
     attachments = Attachment.find(:all)
     to_test.each { |text, result| assert_equal &quot;&lt;p&gt;#{result}&lt;/p&gt;&quot;, textilizable(text, :attachments =&gt; attachments) }</diff>
      <filename>test/unit/helpers/application_helper_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>fae04f3ae1f66c797d6f7cd08ce4e8eba1cb3df7</id>
    </parent>
  </parents>
  <author>
    <name>Jean-Philippe Lang</name>
    <email>jp_lang@yahoo.fr</email>
  </author>
  <url>http://github.com/edavis10/redmine/commit/bc4249e3d3edebef687acadd9b2eaadd6eefab48</url>
  <id>bc4249e3d3edebef687acadd9b2eaadd6eefab48</id>
  <committed-date>2009-02-09T10:46:00-08:00</committed-date>
  <authored-date>2009-02-09T10:46:00-08:00</authored-date>
  <message>Merged r2270, r2344, r2359, r2360, r2362, r2363, r2415, r2423, r2424 from trunk.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/0.8-stable@2425 e93f8b46-1217-0410-a6f0-8f06a7374b81</message>
  <tree>14be495681dce08ea526b4db4a50e2ba7f8128b1</tree>
  <committer>
    <name>Jean-Philippe Lang</name>
    <email>jp_lang@yahoo.fr</email>
  </committer>
</commit>
