<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>CHANGELOG</filename>
    </added>
    <added>
      <filename>script/changelog.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -87,7 +87,7 @@ module ApplicationHelper
   def truncated_author(object, author_method = :author, email_method = :email)
     author, email = object.send(author_method), object.send(email_method)     
     value = h(truncate(author, :length =&gt; 20))
-    email.blank? ? value : enkode_mail(email, value, h(author))
+    email.blank? ? value : mail_to(email, value, :title =&gt; h(author))
   end
   
   def will_paginate_per_page(collection, options = {})
@@ -139,6 +139,25 @@ module ApplicationHelper
     page &lt;&lt; &quot;$$('.pagination').each(function(el) { el.#{term.blank? ? 'show' : 'hide'}() });&quot;    
   end
 
+  # Modification of the built-in encryption 
+  # Uses modified version of the hivelogic enkoder (original Copyright (c) 2006, Automatic Corp.)
+  def mail_to(email_address, name = nil, html_options = {})
+    html_options.symbolize_keys!
+    html_options.delete(:encode)
+    logic = random_enkode_logic
+      
+    result = ''
+    &quot;document.write('#{super}');&quot;.each_byte do |c|
+      result &lt;&lt; sprintf(&quot;%%%x&quot;, c)
+    end
+    result = &quot;eval(decodeURIComponent('#{result}'))&quot;
+
+    result = logic[:rb].call(result)
+    result = &quot;kode='#{escape_javascript(result)}';#{logic[:js]}&quot;
+    result = &quot;function hl_enkoder(){var kode='#{escape_javascript(result)}';var i,c,x;while(eval(kode));};hl_enkoder();&quot;
+    &quot;&lt;script type=\&quot;#{Mime::JS}\&quot;&gt;#{result}&lt;/script&gt;&quot;     
+  end
+
   protected
 
     def gravatar(email, options = {})
@@ -146,6 +165,42 @@ module ApplicationHelper
       options.reverse_merge!(:class =&gt; 'frame')
       image_tag &quot;http://www.gravatar.com/avatar/#{MD5::md5(email)}.png?s=#{size}&quot;, options
     end
+
+  private
+  
+    def random_enkode_logic
+      kodes = [{
+        :rb =&gt; lambda {|s| s.reverse },
+        :js =&gt; &quot;kode=kode.split('').reverse().join('')&quot;
+      }, {
+        :rb =&gt; lambda {|s|
+          result = ''
+          s.each_byte { |b|
+            b += 3
+            b -= 128 if b &gt; 127
+            result &lt;&lt; b.chr
+          }
+          result
+        },
+        :js =&gt; (
+           &quot;x='';for(i=0;i&lt;kode.length;i++){c=kode.charCodeAt(i)-3;&quot; +
+           &quot;if(c&lt;0)c+=128;x+=String.fromCharCode(c)}kode=x&quot;
+        )
+      }, {
+        :rb =&gt; lambda {|s|
+          for i in (0..s.length/2-1)
+            s[i*2],s[i*2+1] = s[i*2+1],s[i*2]
+          end
+          s
+        },
+        :js =&gt; (
+           &quot;x='';for(i=0;i&lt;(kode.length-1);i+=2){&quot; +
+           &quot;x+=kode.charAt(i+1)+kode.charAt(i)};&quot; +
+           &quot;kode=x+(i&lt;kode.length?kode.charAt(kode.length-1):'');&quot;
+         )
+      }]
+      kodes[rand(kodes.size)]      
+    end
   
 end
 </diff>
      <filename>app/helpers/application_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,7 +23,7 @@ class Change &lt; ActiveRecord::Base
   def unified_diff
     if @unified_diff.nil? &amp;&amp; diffable?
       node = repository.node(path, revision)
-      if node.size &lt; maximum_diff_size
+      if node.size &lt; self.class.maximum_diff_size
         @unified_diff = repository.unified_diff(path, previous_revision, revision)
       end
     end</diff>
      <filename>app/models/change.rb</filename>
    </modified>
    <modified>
      <diff>@@ -26,7 +26,7 @@
   &lt;div class=&quot;span-5 last&quot;&gt;      
     &lt;strong&gt;&lt;%=_ 'Assigned To' %&gt;:&lt;/strong&gt;&lt;br/&gt;
     &lt;% if @ticket.assigned_user -%&gt;
-      &lt;em&gt;&lt;%= enkode_mail @ticket.assigned_user.email, h(truncate(@ticket.assigned_user.name, :length =&gt; 20)), h(@ticket.assigned_user.name) %&gt;&lt;/em&gt;
+      &lt;em&gt;&lt;%= mail_to @ticket.assigned_user.email, h(truncate(@ticket.assigned_user.name, :length =&gt; 20)), :title =&gt; h(@ticket.assigned_user.name) %&gt;&lt;/em&gt;
     &lt;% else -%&gt;
       &lt;em&gt;&lt;%=_ 'Unassigned' %&gt;&lt;/em&gt;
     &lt;% end -%&gt;</diff>
      <filename>app/views/tickets/_ticket_info.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@
 # you don't control web/app server and can't set it the proper way
 # ENV['RAILS_ENV'] ||= 'production'
 
-RETROSPECTIVA_VERSION = '1.1-DEV (M3+)'
+RETROSPECTIVA_VERSION = '1.9.207'
 
 # Specifies gem version of Rails to use when vendor/rails is not present
 RAILS_GEM_VERSION = '2.2.2' unless defined? RAILS_GEM_VERSION</diff>
      <filename>config/environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -73,7 +73,8 @@ describe Change do
     end
     
     it 'should return an empty string as DIFF if DIFF is exceeding the size limit' do
-      changes(:r04_m02).unified_diff(0).should == ''
+      Change.stub!(:maximum_diff_size).and_return(0)
+      changes(:r04_m02).unified_diff.should == ''
     end    
     
   end</diff>
      <filename>spec/models/change_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,6 +13,7 @@ describe &quot;/changesets/show.html.erb&quot; do
 
     @c1 = mock_model Change, 
       :name =&gt; 'M', :path =&gt; '/retro/modified.rb', :revision =&gt; 'R10', :diffable? =&gt; true,
+      :unified_diff? =&gt; true,
       :unified_diff =&gt; &lt;&lt;END_DIFF
 --- Revision R5
 +++ Revision R10
@@ -24,9 +25,9 @@ describe &quot;/changesets/show.html.erb&quot; do
      return unless check_repository_testable 
 END_DIFF
     @c2 = mock_model Change, 
-      :name =&gt; 'MV', :path =&gt; '/retro/moved_to.rb', :revision =&gt; 'R10', :diffable? =&gt; false, :from_path =&gt; '/retro/moved_from.rb', :from_revision =&gt; 'R5'
+      :name =&gt; 'MV', :path =&gt; '/retro/moved_to.rb', :revision =&gt; 'R10', :diffable? =&gt; false, :from_path =&gt; '/retro/moved_from.rb', :from_revision =&gt; 'R5', :unified_diff? =&gt; false
     @c3 = mock_model Change, 
-      :name =&gt; 'A', :path =&gt; '/retro/added.rb', :revision =&gt; 'R10', :diffable? =&gt; false
+      :name =&gt; 'A', :path =&gt; '/retro/added.rb', :revision =&gt; 'R10', :diffable? =&gt; false, :unified_diff? =&gt; false
     
     @changeset = mock_model Changeset,
       :revision =&gt; 'REV1',</diff>
      <filename>spec/views/changesets/show.html.erb_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>vendor/plugins/enkoder/LICENSE</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/enkoder/README</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/enkoder/init.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/enkoder/lib/enkoder.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>2cf9504a7a5d67cd9431f7d8498b64411e3d570a</id>
    </parent>
  </parents>
  <author>
    <name>Dimitrij Denissenko</name>
    <email>contact@dvisionfactory.com</email>
  </author>
  <url>http://github.com/dim/retrospectiva/commit/2ae800bd393fb98452af4439af4514a6cf605ea1</url>
  <id>2ae800bd393fb98452af4439af4514a6cf605ea1</id>
  <committed-date>2009-02-07T05:09:25-08:00</committed-date>
  <authored-date>2009-02-07T05:09:25-08:00</authored-date>
  <message>Added CHANGELOG
Removed/Repplaced enkoder plugin
Fixed specs</message>
  <tree>a76204d8c7199c9d81adfd4d257447a24ac25aa6</tree>
  <committer>
    <name>Dimitrij Denissenko</name>
    <email>contact@dvisionfactory.com</email>
  </committer>
</commit>
