olelo 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,7 +11,8 @@ module Olelo
11
11
  attr_reader :page
12
12
  attr_setter :on_error
13
13
 
14
- has_around_hooks :request, :routing, :action, :title, :footer, :login_buttons, :edit_buttons
14
+ has_around_hooks :request, :routing, :action, :title, :footer, :login_buttons,
15
+ :edit_buttons, :attributes_buttons, :upload_buttons
15
16
  has_hooks :auto_login, :render, :menu, :head, :script
16
17
 
17
18
  class<< self
@@ -236,8 +237,11 @@ module Olelo
236
237
 
237
238
  def post_upload
238
239
  raise 'No file' if !params[:file]
239
- raise :version_conflict.t if !page.new? && page.version.to_s != params[:version]
240
- page.content = params[:file][:tempfile]
240
+ page.content = params[:file][:tempfile].read
241
+ check do |errors|
242
+ errors << :version_conflict.t if !page.new? && page.version.to_s != params[:version]
243
+ errors << :no_changes.t if !page.modified?
244
+ end
241
245
  page.save
242
246
  Page.commit(:page_uploaded.t(:page => page.title))
243
247
  end
@@ -270,7 +274,7 @@ module Olelo
270
274
  end
271
275
 
272
276
  post '/(:path)', :tail => true do
273
- action, @close = params[:action].to_s.split('-')
277
+ action, @close = params[:action].to_s.split('-', 2)
274
278
  if respond_to? "post_#{action}"
275
279
  on_error :edit
276
280
  Page.transaction do
@@ -150,14 +150,6 @@ class Hash
150
150
  end
151
151
 
152
152
  class Object
153
- # Metaclass of object
154
- #
155
- # @return [Class]
156
- #
157
- def metaclass
158
- (class << self; self; end)
159
- end
160
-
161
153
  # Returns true if object is empty or false
162
154
  #
163
155
  # @return [Boolean]
data/lib/olelo/helper.rb CHANGED
@@ -232,7 +232,7 @@ module Olelo
232
232
 
233
233
  def action?(action)
234
234
  if params[:action]
235
- params[:action].split('-').include?(action.to_s)
235
+ params[:action].split('-', 2).first == action.to_s
236
236
  else
237
237
  unescape(request.path_info).starts_with?("/#{action}")
238
238
  end
@@ -264,7 +264,7 @@ module Olelo
264
264
  end
265
265
  base_path = if page && page.root?
266
266
  url = request.base_url
267
- url << '/version'/page.tree_version if !page.head?
267
+ url << '/' << 'version'/page.tree_version if !page.head?
268
268
  %{<base href="#{escape_html url}/"/>}.html_safe
269
269
  end
270
270
  [base_path, @@theme_link, @@script_link, *invoke_hook(:head)].join.html_safe
data/lib/olelo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Olelo
2
- VERSION = '0.9.1'
2
+ VERSION = '0.9.2'
3
3
  end
data/olelo.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.authors = ['Daniel Mendler']
10
10
  s.email = ['mail@daniel-mendler.de']
11
11
  s.summary = 'Olelo is a git-based wiki.'
12
- s.summary = 'Olelo is a git-based wiki which supports many markup languages, tags, embedded TeX and much more. It can be extended through plugins.'
12
+ s.description = 'Olelo is a git-based wiki which supports many markup languages, tags, embedded TeX and much more. It can be extended through plugins.'
13
13
  s.homepage = 'http://gitwiki.org/'
14
14
  s.rubyforge_project = s.name
15
15
 
File without changes
File without changes
File without changes
@@ -1,17 +1,14 @@
1
1
  en:
2
- captcha: 'Captcha:'
3
2
  enter_captcha: 'Please enter the captcha.'
4
3
  captcha_invalid: Invalid captcha
5
4
  captcha_valid: Valid captcha
6
5
  preview: Preview
7
6
  de:
8
- captcha: 'Captcha:'
9
7
  enter_captcha: 'Bitte geben Sie ein Captcha ein.'
10
8
  captcha_invalid: 'Ungültiges Captcha'
11
9
  captcha_valid: 'Gültiges Captcha'
12
10
  preview: Vorschau
13
11
  cs_CZ:
14
- captcha: 'Captcha:'
15
12
  enter_captcha: 'Vložte laskavě captcha kód.'
16
13
  captcha_invalid: 'Neplatný captcha kód'
17
14
  captcha_valid: 'Platný captcha kód'
@@ -5,10 +5,6 @@ RECAPTCHA_PUBLIC = Config['recaptcha.public']
5
5
  RECAPTCHA_PRIVATE = Config['recaptcha.private']
6
6
 
7
7
  class ::Olelo::Application
8
- before :edit_buttons do
9
- %{<br/><label for="recaptcha">#{:captcha.t}</label><br/><div id="recaptcha"></div><br/>} if flash[:show_captcha]
10
- end
11
-
12
8
  hook :script do
13
9
  %{<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"/>
14
10
  <script type="text/javascript">
@@ -22,13 +18,21 @@ class ::Olelo::Application
22
18
  </script>} if flash[:show_captcha]
23
19
  end
24
20
 
25
- redefine_method :post_edit do
26
- if captcha_valid?
27
- super()
28
- else
29
- flash.info! :enter_captcha.t
30
- flash.now[:show_captcha] = true
31
- halt render(:edit)
21
+ %w(edit attributes upload).each do |action|
22
+ before "#{action}_buttons" do
23
+ if flash[:show_captcha] && action?(action)
24
+ %{<br/><div id="recaptcha"></div><br/>}
25
+ end
26
+ end
27
+
28
+ redefine_method "post_#{action}" do
29
+ if captcha_valid?
30
+ super()
31
+ else
32
+ flash.info! :enter_captcha.t
33
+ flash.now[:show_captcha] = true
34
+ halt render(:edit)
35
+ end
32
36
  end
33
37
  end
34
38
 
File without changes
@@ -0,0 +1,6 @@
1
+ en:
2
+ persistent_login: 'Persistent login'
3
+ de:
4
+ persistent_login: 'Dauerhaft anmelden'
5
+ cs_CZ:
6
+ persistent_login: 'Trvalé přihlášení'
@@ -44,10 +44,6 @@ ul.tabs
44
44
  tr
45
45
  td Memory usage:
46
46
  td #{@memory} MiB
47
- - if defined?(Olelo::Worker)
48
- tr
49
- td Worker jobs
50
- td= Olelo::Worker.jobs
51
47
  #tab-configuration.tab
52
48
  h2 Configuration
53
49
  table
@@ -88,7 +88,6 @@ class GitrbRepository < Repository
88
88
  # @override
89
89
  def set_content(path, content)
90
90
  check_path(path)
91
- content = content.read if content.respond_to? :read
92
91
  expand_tree(path)
93
92
  object = @git.root[path]
94
93
  if object && object.type == :tree
@@ -193,7 +193,6 @@ class RuggedRepository < Repository
193
193
 
194
194
  def set_content(path, content)
195
195
  check_path(path)
196
- content = content.read if content.respond_to? :read
197
196
  expand_tree(path)
198
197
  object = work_tree[path]
199
198
  if object && object.type == :tree
@@ -3,19 +3,16 @@ en:
3
3
  attribute_acl_create: 'Create subpages'
4
4
  attribute_acl_delete: 'Delete subpages'
5
5
  group_acl: 'Access control lists'
6
- persistent_login: 'Persistent login'
7
6
  login_first: 'You have to login first'
8
7
  de:
9
8
  attribute_acl_write: 'Schreibzugriff'
10
9
  attribute_acl_create: 'Unterseiten anlegen'
11
10
  attribute_acl_delete: 'Unterseiten löschen'
12
11
  group_acl: 'Zugriffslisten'
13
- persistent_login: 'Dauerhaft anmelden'
14
12
  login_first: 'Sie müssen sich zuerst anmelden'
15
13
  cs_CZ:
16
14
  attribute_acl_write: 'Právo zápisu'
17
15
  attribute_acl_create: 'Vytvářet podstránky'
18
16
  attribute_acl_delete: 'Mazat podstránky'
19
17
  group_acl: 'Řízení přístupů (ACL)'
20
- persistent_login: 'Trvalé přihlášení'
21
18
  login_first: 'Musíte se nejprve přihlásit'
data/views/edit.slim CHANGED
@@ -42,10 +42,11 @@ form action=build_path(page.new? ? nil : page.path) method='post' enctype='multi
42
42
  label for='upload-file' = :file.t
43
43
  &file#upload-file.observe name='file'
44
44
  br
45
- button&submit name='action' value='upload' = :save.t
46
- button&submit name='action' value='upload-close' = :save_and_close.t
47
- button&reset = :reset.t
48
- br
45
+ = render_block :upload_buttons do
46
+ button&submit name='action' value='upload' = :save.t
47
+ button&submit name='action' value='upload-close' = :save_and_close.t
48
+ button&reset = :reset.t
49
+ br
49
50
  form action=build_path(page.new? ? nil : page.path) method='post'
50
51
  #tab-attributes.tab.fieldset
51
52
  h2= :attributes.t
@@ -58,8 +59,9 @@ form action=build_path(page.new? ? nil : page.path) method='post'
58
59
  &hidden name='version' value=page.version
59
60
  = flash_messages :attributes
60
61
  = page.attribute_editor
61
- .indent
62
- button&submit name='action' value='attributes' = :save.t
63
- button&submit name='action' value='attributes-close' = :save_and_close.t
64
- button&reset = :reset.t
65
- br
62
+ = render_block :attributes_buttons do
63
+ .indent
64
+ button&submit name='action' value='attributes' = :save.t
65
+ button&submit name='action' value='attributes-close' = :save_and_close.t
66
+ button&reset = :reset.t
67
+ br
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: olelo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-17 00:00:00.000000000 Z
12
+ date: 2012-10-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: tilt
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &9036000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: 1.3.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: 1.3.3
24
+ version_requirements: *9036000
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: slim
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &9035100 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ~>
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: 1.3.3
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: 1.3.3
35
+ version_requirements: *9035100
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: creole
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &9034140 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ~>
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: 0.4.2
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: 0.4.2
46
+ version_requirements: *9034140
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: nokogiri
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &9114880 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ~>
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: 1.5.5
70
55
  type: :runtime
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: 1.5.5
57
+ version_requirements: *9114880
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: mimemagic
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &9114140 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ~>
@@ -85,15 +65,10 @@ dependencies:
85
65
  version: 0.1.9
86
66
  type: :runtime
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ~>
92
- - !ruby/object:Gem::Version
93
- version: 0.1.9
68
+ version_requirements: *9114140
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: rack
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &9113600 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
74
  - - ~>
@@ -101,15 +76,10 @@ dependencies:
101
76
  version: 1.4.1
102
77
  type: :runtime
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ~>
108
- - !ruby/object:Gem::Version
109
- version: 1.4.1
79
+ version_requirements: *9113600
110
80
  - !ruby/object:Gem::Dependency
111
81
  name: redcarpet
112
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &9112980 !ruby/object:Gem::Requirement
113
83
  none: false
114
84
  requirements:
115
85
  - - ~>
@@ -117,15 +87,10 @@ dependencies:
117
87
  version: 2.1.1
118
88
  type: :runtime
119
89
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ~>
124
- - !ruby/object:Gem::Version
125
- version: 2.1.1
90
+ version_requirements: *9112980
126
91
  - !ruby/object:Gem::Dependency
127
92
  name: rugged
128
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &9111460 !ruby/object:Gem::Requirement
129
94
  none: false
130
95
  requirements:
131
96
  - - ~>
@@ -133,15 +98,10 @@ dependencies:
133
98
  version: 0.17.0b6
134
99
  type: :runtime
135
100
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ~>
140
- - !ruby/object:Gem::Version
141
- version: 0.17.0b6
101
+ version_requirements: *9111460
142
102
  - !ruby/object:Gem::Dependency
143
103
  name: rake
144
- requirement: !ruby/object:Gem::Requirement
104
+ requirement: &9110780 !ruby/object:Gem::Requirement
145
105
  none: false
146
106
  requirements:
147
107
  - - ! '>='
@@ -149,15 +109,10 @@ dependencies:
149
109
  version: 0.8.7
150
110
  type: :development
151
111
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: 0.8.7
112
+ version_requirements: *9110780
158
113
  - !ruby/object:Gem::Dependency
159
114
  name: sass
160
- requirement: !ruby/object:Gem::Requirement
115
+ requirement: &9110120 !ruby/object:Gem::Requirement
161
116
  none: false
162
117
  requirements:
163
118
  - - ! '>='
@@ -165,13 +120,9 @@ dependencies:
165
120
  version: 3.1.0
166
121
  type: :development
167
122
  prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: 3.1.0
174
- description:
123
+ version_requirements: *9110120
124
+ description: Olelo is a git-based wiki which supports many markup languages, tags,
125
+ embedded TeX and much more. It can be extended through plugins.
175
126
  email:
176
127
  - mail@daniel-mendler.de
177
128
  executables:
@@ -239,6 +190,9 @@ files:
239
190
  - plugins/aspects/source.rb
240
191
  - plugins/aspects/subpages.rb
241
192
  - plugins/aspects/text.rb
193
+ - plugins/authentication/portal.rb
194
+ - plugins/authentication/stack.rb
195
+ - plugins/authentication/yamlfile.rb
242
196
  - plugins/blog/blog.css
243
197
  - plugins/blog/blog.scss
244
198
  - plugins/blog/locale.yml
@@ -273,6 +227,9 @@ files:
273
227
  - plugins/gallery/gallery.css
274
228
  - plugins/gallery/gallery.scss
275
229
  - plugins/gallery/main.rb
230
+ - plugins/login/basic_auth.rb
231
+ - plugins/login/locale.yml
232
+ - plugins/login/persistent.rb
276
233
  - plugins/misc/fancybox/images/blank.gif
277
234
  - plugins/misc/fancybox/images/fancy_close.png
278
235
  - plugins/misc/fancybox/images/fancy_loading.png
@@ -309,14 +266,9 @@ files:
309
266
  - plugins/repositories/locale.yml
310
267
  - plugins/repositories/rugged_repository.rb
311
268
  - plugins/security/acl.rb
312
- - plugins/security/basic_auth.rb
313
269
  - plugins/security/locale.yml
314
- - plugins/security/persistent_login.rb
315
- - plugins/security/portal.rb
316
270
  - plugins/security/private_wiki.rb
317
271
  - plugins/security/readonly_wiki.rb
318
- - plugins/security/stack.rb
319
- - plugins/security/yamlfile.rb
320
272
  - plugins/tags/code.rb
321
273
  - plugins/tags/footnotes.rb
322
274
  - plugins/tags/gist-embed.css
@@ -480,9 +432,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
480
432
  version: '0'
481
433
  requirements: []
482
434
  rubyforge_project: olelo
483
- rubygems_version: 1.8.24
435
+ rubygems_version: 1.8.15
484
436
  signing_key:
485
437
  specification_version: 3
486
- summary: Olelo is a git-based wiki which supports many markup languages, tags, embedded
487
- TeX and much more. It can be extended through plugins.
438
+ summary: Olelo is a git-based wiki.
488
439
  test_files: []