motiro 0.6.10 → 0.6.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. data/AUTHORS +7 -11
  2. data/LICENSE +602 -262
  3. data/README +6 -7
  4. data/README.en +5 -6
  5. data/README.pt-br +6 -6
  6. data/app/controllers/account_controller.rb +5 -6
  7. data/app/controllers/application.rb +5 -6
  8. data/app/controllers/javascript_controller.rb +6 -7
  9. data/app/controllers/report_controller.rb +5 -6
  10. data/app/controllers/root_controller.rb +5 -1
  11. data/app/controllers/wiki_controller.rb +10 -8
  12. data/app/core/cache_reporter.rb +6 -7
  13. data/app/core/cache_reporter_fetcher.rb +6 -6
  14. data/app/core/chief_editor.rb +5 -6
  15. data/app/core/license.rb +598 -0
  16. data/app/core/reporter.rb +6 -7
  17. data/app/core/reporter_driver.rb +5 -5
  18. data/app/core/reporter_fetcher.rb +6 -7
  19. data/app/core/settings.rb +5 -6
  20. data/app/core/version.rb +1 -1
  21. data/app/core/wiki_reporter.rb +5 -6
  22. data/app/helpers/application_helper.rb +33 -16
  23. data/app/helpers/default_page_provider.rb +6 -7
  24. data/app/helpers/report_helper.rb +5 -6
  25. data/app/helpers/wiki_helper.rb +48 -0
  26. data/app/models/change.rb +5 -6
  27. data/app/models/chunk.rb +5 -6
  28. data/app/models/feed_observer.rb +6 -7
  29. data/app/models/headline.rb +5 -6
  30. data/app/models/page.rb +16 -7
  31. data/app/models/revision.rb +9 -9
  32. data/app/models/user.rb +6 -9
  33. data/app/models/wiki_reference.rb +5 -6
  34. data/app/models/wiki_sweeper.rb +6 -7
  35. data/app/ports/chdir_runner.rb +6 -7
  36. data/app/ports/runner.rb +5 -5
  37. data/app/reporters/darcs_connection.rb +6 -7
  38. data/app/reporters/darcs_reporter.rb +9 -10
  39. data/app/reporters/darcs_temp_repo.rb +5 -6
  40. data/app/reporters/events_reporter.rb +5 -6
  41. data/app/reporters/features_reporter.rb +5 -6
  42. data/app/reporters/subversion_reporter.rb +5 -6
  43. data/app/reporters/svn_connection.rb +6 -6
  44. data/app/reporters/svn_settings.rb +5 -5
  45. data/app/views/account/_authorization.rhtml +31 -23
  46. data/app/views/account/_availability.rhtml +1 -3
  47. data/app/views/javascript/motiro.rjs +6 -8
  48. data/app/views/layouts/_bottom.rhtml +7 -0
  49. data/app/views/report/list.rhtml +1 -1
  50. data/app/views/root/license.rhtml +5 -0
  51. data/app/views/wiki/_editbar.rhtml +2 -18
  52. data/app/views/wiki/_properties_show.rhtml +2 -1
  53. data/app/views/wiki/_show_event.rhtml +3 -1
  54. data/app/views/wiki/_show_feature.rhtml +2 -2
  55. data/app/views/wiki/diff.rhtml +2 -2
  56. data/app/views/wiki/page_feed.rxml +1 -13
  57. data/app/views/wiki/raw.rhtml +7 -0
  58. data/app/views/wiki/show.rhtml +1 -1
  59. data/app/views/wiki/sourcediff.rhtml +2 -2
  60. data/bin/motiro +5 -6
  61. data/config/initializers/motiro_core.rb +1 -0
  62. data/config/routes.rb +9 -6
  63. data/db/translation/pt-BR.rb +20 -6
  64. data/lib/array_extensions.rb +6 -7
  65. data/lib/diff_chunk_builder.rb +5 -6
  66. data/lib/differ.rb +5 -6
  67. data/lib/string_extensions.rb +5 -6
  68. data/lib/stub_hash.rb +5 -6
  69. data/lib/tasks/packaging.rake +7 -7
  70. data/lib/tasks/testing.rake +5 -6
  71. data/lib/tick_daemon.rb +5 -6
  72. data/lib/wiki_link_handler.rb +5 -6
  73. data/lib/wiki_renderer.rb +5 -6
  74. data/public/images/calendar.gif +0 -0
  75. data/public/images/done.gif +0 -0
  76. data/public/images/error.gif +0 -0
  77. data/public/images/not-done.gif +0 -0
  78. data/public/images/rss.gif +0 -0
  79. data/public/stylesheets/motiro.css +163 -170
  80. data/script/ticker +5 -6
  81. data/test/acceptance/account_test.rb +6 -7
  82. data/test/acceptance/darcs_test.rb +6 -7
  83. data/test/acceptance/events_test.rb +5 -6
  84. data/test/acceptance/main_page_test.rb +6 -7
  85. data/test/acceptance/subversion_test.rb +5 -6
  86. data/test/acceptance/ts_all_suites.rb +5 -6
  87. data/test/acceptance/wiki_test.rb +5 -6
  88. data/test/contract/darcs_test.rb +5 -6
  89. data/test/contract/svn_test.rb +5 -6
  90. data/test/fixtures/pages.yml +12 -0
  91. data/test/fixtures/revisions.yml +61 -0
  92. data/test/functional/report_controller_test.rb +5 -6
  93. data/test/functional/report_features_test.rb +5 -6
  94. data/test/functional/report_subversion_test.rb +5 -6
  95. data/test/functional/root_controller_test.rb +19 -4
  96. data/test/functional/wiki_controller_test.rb +66 -8
  97. data/test/lib/acceptance_test_case.rb +6 -7
  98. data/test/lib/darcs_excerpts.rb +5 -6
  99. data/test/lib/darcs_repo.rb +5 -6
  100. data/test/lib/hash_extensions.rb +5 -6
  101. data/test/lib/live_mode_test.rb +6 -7
  102. data/test/lib/netutils.rb +6 -7
  103. data/test/lib/platform_thread.rb +5 -5
  104. data/test/lib/selenium_extensions.rb +6 -7
  105. data/test/lib/stubio.rb +6 -7
  106. data/test/lib/webserver.rb +5 -6
  107. data/test/meta/darcs_repo_test.rb +6 -6
  108. data/test/meta/local_svn_test.rb +6 -7
  109. data/test/meta/platform_thread_test.rb +5 -5
  110. data/test/meta/stubio_test.rb +6 -7
  111. data/test/stubs/wiki_link_handler.rb +5 -6
  112. data/test/test_helper.rb +5 -6
  113. data/test/unit/array_extensions_test.rb +5 -6
  114. data/test/unit/cache_reporter_fetcher_test.rb +5 -6
  115. data/test/unit/cache_reporter_test.rb +5 -6
  116. data/test/unit/change_test.rb +5 -6
  117. data/test/unit/chdir_runner_test.rb +5 -6
  118. data/test/unit/chief_editor_test.rb +5 -6
  119. data/test/unit/darcs_connection_test.rb +5 -6
  120. data/test/unit/darcs_reporter_test.rb +14 -6
  121. data/test/unit/darcs_temp_repo_test.rb +5 -6
  122. data/test/unit/default_page_provider_test.rb +5 -6
  123. data/test/unit/diff_chunk_builder_test.rb +6 -7
  124. data/test/unit/headline_test.rb +5 -6
  125. data/test/unit/page_test.rb +45 -6
  126. data/test/unit/reporter_driver_test.rb +6 -7
  127. data/test/unit/reporter_test.rb +6 -7
  128. data/test/unit/revision_test.rb +17 -13
  129. data/test/unit/runner_test.rb +5 -6
  130. data/test/unit/string_extensions_test.rb +6 -7
  131. data/test/unit/svn_connection_test.rb +5 -5
  132. data/test/unit/svn_reporter_interaction_test.rb +6 -7
  133. data/test/unit/svn_reporter_test.rb +5 -6
  134. data/test/unit/svn_settings_test.rb +6 -7
  135. data/test/unit/user_test.rb +6 -11
  136. data/test/unit/wiki_link_handler_test.rb +5 -6
  137. data/test/unit/wiki_renderer_test.rb +7 -7
  138. data/test/unit/wiki_reporter_test.rb +5 -6
  139. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiast.rb +15 -0
  140. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikihtmlgenerator.rb +18 -3
  141. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikilexer.rb +48 -9
  142. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikilinkhandler.rb +7 -0
  143. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiparser.rb +534 -485
  144. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiparser.y +25 -1
  145. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiwalker.rb +13 -0
  146. data/vendor/mediacloth-trunk/test/data/html1 +3 -3
  147. data/vendor/mediacloth-trunk/test/data/html10 +16 -16
  148. data/vendor/mediacloth-trunk/test/data/html11 +1 -1
  149. data/vendor/mediacloth-trunk/test/data/html13 +1 -1
  150. data/vendor/mediacloth-trunk/test/data/html4 +1 -1
  151. data/vendor/mediacloth-trunk/test/data/html5 +4 -4
  152. data/vendor/mediacloth-trunk/test/data/html7 +13 -1
  153. data/vendor/mediacloth-trunk/test/data/html9 +1 -1
  154. data/vendor/mediacloth-trunk/test/data/input1 +2 -0
  155. data/vendor/mediacloth-trunk/test/data/input7 +13 -1
  156. data/vendor/mediacloth-trunk/test/data/lex1 +1 -1
  157. data/vendor/mediacloth-trunk/test/data/lex7 +13 -1
  158. data/vendor/mediacloth-trunk/test/htmlgenerator.rb +26 -1
  159. data/vendor/mediacloth-trunk/test/lexer.rb +10 -0
  160. metadata +95 -103
  161. data/build/build.rb +0 -29
  162. data/config/report/subversion.yml +0 -26
  163. data/public/images/calendar.png +0 -0
  164. data/public/images/done.png +0 -0
  165. data/public/images/not-done.png +0 -0
  166. data/public/images/rss.png +0 -0
@@ -6,29 +6,37 @@
6
6
  :id => 'passwords_do_not_match', :class => 'warning',
7
7
  :style=> 'display:none' %>
8
8
  <% form_tag :controller => 'account', :action=> 'login' do %>
9
- <div class="authorization_cell">
10
- <%= content_tag :label, 'User'.t, :for=> 'user_login'%><br />
11
- <%= text_field 'user', 'login', :size => 12,
12
- :value => flash[:desired_login] %>
13
- </div>
14
- <div class="authorization_cell">
15
- <%= content_tag :label, 'Password'.t, :for=> 'user_password'%><br />
16
- <%= password_field 'user', 'password', :size => 12 %>
17
- </div>
18
- <div id="password_confirm" class="authorization_cell" style="display: none;">
19
- <%= content_tag :label, 'Confirmation'.t, :for=> 'user_password_confirmation'%>
20
- <%= password_field 'user', 'password_confirmation',
21
- :size => 12,
22
- :disabled => true %>
23
- </div>
24
- <div class="authorization_cell">
25
- <input type="checkbox" id="chk_new_user"
26
- name="chk_new_user" class="checkbox"
27
- onClick="tooglePasswordConfirmation(document.forms[0].chk_new_user.checked)" />
28
- <%= 'New user?'.t %><br />
29
- <input type='hidden' name='return_to' value="<%= request.env['REQUEST_URI'] -%>"/>
30
- <input class='button' type="submit" name="login" value="Login &#187;" />
31
- </div>
9
+ <table>
10
+ <tbody>
11
+ <tr>
12
+ <td><%= content_tag :label, 'User'.t, :for=> 'user_login' -%></td>
13
+ <td><%= content_tag :label, 'Password'.t, :for=> 'user_password' -%></td>
14
+ <td id="confirm_label" style="display: none;">
15
+ <%= content_tag :label, 'Confirmation'.t, :for=> 'user_password_confirmation'%>
16
+ </td>
17
+ <td>
18
+ <input type="checkbox" id="chk_new_user"
19
+ name="chk_new_user" class="checkbox"
20
+ onClick="tooglePasswordConfirmation(document.forms[0].chk_new_user.checked)" />
21
+ <%= 'New user?'.t %><br />
22
+ <input type='hidden' name='return_to' value="<%= request.env['REQUEST_URI'] -%>"/>
23
+ </td>
24
+ </tr>
25
+ <tr>
26
+ <td>
27
+ <%= text_field 'user', 'login', :size => 12,
28
+ :value => flash[:desired_login] %>
29
+ </td>
30
+ <td><%= password_field 'user', 'password', :size => 12 %></td>
31
+ <td id="confirm_field" style="display: none;">
32
+ <%= password_field 'user', 'password_confirmation',
33
+ :size => 12,
34
+ :disabled => true %>
35
+ </td>
36
+ <td><input class='button' type="submit" name="login" value="Login &#187;" /></td>
37
+ </tr>
38
+ </tbody>
39
+ </table>
32
40
  <% if flash[:login_failure] %>
33
41
  <%= content_tag(:span,
34
42
  'Incorrect username or password. Please try again.'.t,
@@ -1,5 +1,3 @@
1
1
  <% if @login_not_available %>
2
2
  <span class="warning" id="username_not_available"><%= 'Not available'.t -%></span>
3
- <% else %>
4
- <span style="position: absolute" />
5
- <% end %>
3
+ <% end %>
@@ -51,15 +51,13 @@ function extraPropertiesLoaded() {
51
51
  }
52
52
 
53
53
  function tooglePasswordConfirmation(show) {
54
- var elem = document.getElementById('password_confirm');
55
- var state = show ? 'block' : 'none';
56
- var action = show ? '#{url_for :controller => 'account', :action => 'signup'}' : '#{url_for :controller => 'account', :action => 'login'}' ;
57
-
54
+ document.getElementById("authentication_errors").style.display =
55
+ document.getElementById("confirm_field").style.display =
56
+ document.getElementById("confirm_label").style.display = show ? '':'none';
57
+
58
58
  document.getElementById("user_password_confirmation").disabled = !show;
59
- document.getElementById("authentication_errors").style.display = state;
60
- document.forms[0].action = action;
61
59
 
62
- elem.style.display = state;
60
+ document.forms[0].action = show ? '#{url_for :controller => 'account', :action => 'signup'}' : '#{url_for :controller => 'account', :action => 'login'}';
63
61
  }
64
62
 
65
63
  function check_password_confirmation() {
@@ -130,4 +128,4 @@ for(i=0;i<v.length;i++){
130
128
  }
131
129
  return(objlist);
132
130
  }
133
- JS
131
+ JS
@@ -1,5 +1,12 @@
1
1
  <div id="footer">
2
2
  <p>Motiro <%= 'version'.t -%> <%= MOTIRO_VERSION -%></p>
3
+ <p>
4
+ <%= link_to 'Source code'.t,
5
+ 'http://www.motiro.org/wiki/show/Download' -%>
6
+ <%= 'is available.'.t %> <%= 'See the'.t -%>
7
+ <%= link_to 'terms and conditions'.t,
8
+ :controller => 'root', :action => 'license' -%>.
9
+ </p>
3
10
  </div>
4
11
  </body>
5
12
  </html>
@@ -1,5 +1,5 @@
1
1
  <div class='channel-title'>
2
- <%= link_to( image_tag('rss.png', :border => 0, :class => 'rss'),
2
+ <%= link_to( image_tag('rss.gif', :border => 0, :class => 'rss'),
3
3
  { :controller => 'report', :action => 'list', :reporter => @name,
4
4
  :format => 'xml', :locale => @locale },
5
5
  :class => 'feed' )
@@ -0,0 +1,5 @@
1
+ <% pagetext('GNU Affero General Public License') do %>
2
+ <% cache(:controller=> 'root', :action => 'license') do %>
3
+ <%= render_wiki(LICENSE_WIKI_TEXT) %>
4
+ <% end %>
5
+ <% end %>
@@ -1,22 +1,6 @@
1
1
  <div class='toolbar bottombar'>
2
2
  <%= render :partial => 'editor' %>
3
- <% if current_user.nil? then %>
4
- <span class='disabled'>
5
- <%= 'Edit'.t -%> <%= '(requires authentication)'.t -%>
6
- </span>
7
- <% elsif !current_user.can_edit?(@page) then
8
- klass = if flash[:not_authorized] then 'marked' else 'none' end
9
- %>
10
- <span class='disabled'>
11
- <%= 'Edit'.t -%> <%= content_tag('span',
12
- '(not authorized)'.t,
13
- :class => klass) -%>
14
- </span>
15
- <% else %>
16
- <%= link_to( 'Edit'.t,
17
- { :controller => 'wiki',
18
- :action => 'edit',
19
- :page_name => @page.name } )%>
20
- <% end %>
3
+ <%= edition_link(current_user, @page) -%>
4
+ <%= switch_view_link(@page) -%>
21
5
  <%= page_history_link(@page) -%>
22
6
  </div>
@@ -1,4 +1,5 @@
1
1
  <% begin %>
2
- <%= render(:partial => 'show_' + @page.kind) -%>
2
+ <%= content_tag :div, render(:partial => 'show_' + @page.kind),
3
+ :class => 'message' %>
3
4
  <% rescue; end %>
4
5
 
@@ -1,3 +1,5 @@
1
- <%= image_tag 'calendar.png' -%>
1
+ <%= image_tag 'calendar.gif' -%>
2
+ <p>
2
3
  <%= 'This event was planned for'.t -%>
3
4
  <%= @page.happens_at.localize('%d %B %Y (%A)') -%>
5
+ </p>
@@ -1,2 +1,2 @@
1
- <%= image_tag(@page.done? ? 'done.png' : 'not-done.png') %>
2
- <%= 'This feature is'.t + ' ' + (@page.done? ? 'done'.t : 'not done'.t) %>
1
+ <%= image_tag(@page.done? ? 'done.gif' : 'not-done.gif') %>
2
+ <p><%= 'This feature is'.t + ' ' + (@page.done? ? 'done'.t : 'not done'.t) %></p>
@@ -1,4 +1,4 @@
1
1
  <% pagetext(@page.title, '(Comparing revisions %s and %s)' / @old_revision_num / @new_revision_num) do %>
2
- <%= @renderer.render_wiki_diff(@old_revision.text, @new_revision.text) %>
2
+ <%= render_wiki_diff(@old_revision, @new_revision) %>
3
3
  <%= render :partial => 'diffbar' %>
4
- <% end %>
4
+ <% end %>
@@ -11,19 +11,7 @@ xml.rss 'version' => '2.0',
11
11
  xml.pubDate @page.modified_at.to_s(:rfc822)
12
12
  xml.ttl '60'
13
13
  @page.revisions.reverse[0..10].each do |rev|
14
- xml.item do
15
- xml.title h(rev.title)
16
- if rev.position > 1
17
- xml.description @renderer.render_wiki_diff(
18
- @page.revisions[rev.position - 2].text, rev.text)
19
- else
20
- xml.description @renderer.render_wiki_text(rev.text)
21
- end
22
- xml.pubDate h(rev.modified_at.to_s(:rfc822))
23
- xml.dc :creator, h(rev.last_editor.login)
24
- xml.guid server_url_for(:action => 'show', :page_name => @page.name,
25
- :revision => rev.position)
26
- end
14
+ xml << rss_item_for_revision(rev)
27
15
  end
28
16
  end
29
17
  end
@@ -0,0 +1,7 @@
1
+ <% pagetext(@page.title, @page.position ? '(Raw wiki text from revision %s)' / @page.position.to_s : '(Raw wiki text)'.t) do %>
2
+ <% cache(:controller=> 'wiki', :action => 'raw', :page => @page.name,
3
+ :revision => @page_revision_id, :locale_suffix => @locale) do %>
4
+ <pre class="wikisource"><%= h(@page.text) -%></pre>
5
+ <% end %>
6
+ <%= render :partial => 'editbar' %>
7
+ <% end %>
@@ -1,4 +1,4 @@
1
- <% pagetext(@page.title, @page.respond_to?(:position) ? '(Revision %s)' / @page.position.to_s : nil) do %>
1
+ <% pagetext(@page.title, @page.position ? '(Revision %s)' / @page.position.to_s : nil) do %>
2
2
  <% cache(:controller=> 'wiki', :action => 'show',
3
3
  :page => @page.name, :locale_suffix => @locale,
4
4
  :revision => @page_revision_id) do %>
@@ -1,4 +1,4 @@
1
1
  <% pagetext(@page.title, '(Comparing revisions %s and %s)' / @old_revision_num / @new_revision_num) do %>
2
- <%= render_diff_table(@old_revision.diff(@new_revision_num.to_i))%>
2
+ <%= render_wiki_sourcediff(@old_revision, @new_revision) %>
3
3
  <%= render :partial => 'diffbar' %>
4
- <% end %>
4
+ <% end %>
data/bin/motiro CHANGED
@@ -4,18 +4,17 @@
4
4
  # Copyright (C) 2006-2008 Thiago Arrais
5
5
  #
6
6
  # This program is free software; you can redistribute it and/or modify
7
- # it under the terms of the GNU General Public License as published by
8
- # the Free Software Foundation; either version 2 of the License, or
7
+ # it under the terms of the GNU Affero General Public License as published by
8
+ # the Free Software Foundation; either version 3 of the License, or
9
9
  # any later version.
10
10
  #
11
11
  # This program is distributed in the hope that it will be useful,
12
12
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
13
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- # GNU General Public License for more details.
14
+ # GNU Affero General Public License for more details.
15
15
  #
16
- # You should have received a copy of the GNU General Public License
17
- # along with this program; if not, write to the Free Software
18
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16
+ # You should have received a copy of the GNU Affero General Public License
17
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
18
 
20
19
  require File.expand_path(File.dirname(__FILE__) + '/../vendor/motiro-installer')
21
20
 
@@ -1,3 +1,4 @@
1
+ require 'core/license'
1
2
  require 'core/version'
2
3
  require 'core/wiki_page_not_found'
3
4
 
data/config/routes.rb CHANGED
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  ActionController::Routing::Routes.draw do |map|
19
18
 
@@ -54,6 +53,10 @@ ActionController::Routing::Routes.draw do |map|
54
53
  map.connect 'wiki/:action/:page_name', :controller => 'wiki'
55
54
  map.connect 'wiki/:action/:page_name.:format', :controller => 'wiki'
56
55
 
56
+ map.connect 'license/:locale',
57
+ :controller => 'root', :action => 'license'
58
+ map.connect 'license', :controller => 'root', :action => 'license'
59
+
57
60
  map.connect '', locale_defaults.merge(:controller => 'root',
58
61
  :action => 'index')
59
62
 
@@ -22,9 +22,6 @@
22
22
  'Passwords do not match' => 'Senhas não conferem',
23
23
  'Sign out' => 'Sair',
24
24
  'Last update by %s at %s' => 'Última atualização por %s em %s',
25
- 'Edit' => 'Editar',
26
- '(requires authentication)' => '(identifique-se, por favor)',
27
- '(not authorized)' => '(não autorizado)',
28
25
  'Latest news from %s' => 'Últimas notícias do %s',
29
26
  'Recently changed suggestions' => 'Últimas sugestões modificadas',
30
27
  'Scheduled events' => 'Eventos agendados',
@@ -38,6 +35,10 @@
38
35
  'Home' => 'Início',
39
36
  'Features' => 'Sugestões',
40
37
  'Events' => 'Eventos',
38
+ 'License' => 'Licença',
39
+ '(Raw wiki text)' => '(Texto original)',
40
+ '(Raw wiki text from revision %s)' => '(Texto original da revisão %s)',
41
+ 'The following wiki code contains an error that prevents it from being correctly formatted.' => 'Há um erro no código wiki abaixo impedindo que ele seja formatado corretamente.',
41
42
 
42
43
  # Source revision details page
43
44
  'Revision details' => 'Detalhes de revisão',
@@ -86,10 +87,23 @@
86
87
 
87
88
  # Older headlines and history pages
88
89
  'Author' => 'Autor',
89
- 'Page has no history yet' => 'Página ainda sem histórico',
90
90
  'Page history for %s' => 'Histórico da página %s',
91
- 'Page history (%s revisions)' => 'Histórico da página (%s revisões)',
92
91
  'Page history' => 'Histórico da página',
93
92
  '(Revision %s)' => '(Revisão %s)',
94
- 'Compare revisions' => 'Comparar revisões'
93
+ 'Compare revisions' => 'Comparar revisões',
94
+
95
+ # Page details bar
96
+ 'Edit' => 'Editar',
97
+ '(requires authentication)' => '(identifique-se, por favor)',
98
+ '(not authorized)' => '(não autorizado)',
99
+ 'View raw text' => 'Mostrar em texto puro',
100
+ 'View wiki output' => 'Mostrar resultado wiki',
101
+ 'Page has no history yet' => 'Página ainda sem histórico',
102
+ 'Page history (%s revisions)' => 'Histórico da página (%s revisões)',
103
+
104
+ # Footer
105
+ 'Source code' => 'O código-fonte',
106
+ 'is available.' => 'está disponível.',
107
+ 'See the' => 'Consulte os',
108
+ 'terms and conditions' => 'termos e condições'
95
109
  }
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  class Array
19
18
 
@@ -27,4 +26,4 @@ class Array
27
26
  str
28
27
  end
29
28
 
30
- end
29
+ end
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  class DiffChunkBuilder
19
18
 
data/lib/differ.rb CHANGED
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'diff/lcs'
19
18
  require 'diff/lcs/array'
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'rubygems'
19
18
  require 'mediacloth'