uzuuzu-cms 0.0.0 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/lib/uzuuzu-cms/controller/admin/index.rb +18 -0
- data/lib/uzuuzu-cms/controller/blog/index.rb +18 -0
- data/lib/uzuuzu-cms/controller/ec/index.rb +18 -0
- data/lib/uzuuzu-cms/controller/initialize.rb +79 -20
- data/lib/uzuuzu-cms/controller/openid.rb +22 -33
- data/lib/uzuuzu-cms/controller/view/initialize/step1.rhtml +2 -2
- data/lib/uzuuzu-cms/controller/view/initialize/step2.rhtml +23 -0
- data/lib/uzuuzu-cms/controller/view/initialize/step3.rhtml +24 -0
- data/lib/uzuuzu-cms/controller/wiki/index.rb +18 -0
- data/lib/uzuuzu-cms/model/blog.rb +4 -4
- data/lib/uzuuzu-cms/model/contents.rb +4 -4
- data/lib/uzuuzu-cms/model/file.rb +1 -1
- data/lib/uzuuzu-cms/model/image.rb +1 -1
- data/lib/uzuuzu-cms/model/info.rb +48 -12
- data/lib/uzuuzu-cms/model/layout.rb +3 -3
- data/lib/uzuuzu-cms/model/movie.rb +1 -1
- data/lib/uzuuzu-cms/model/page.rb +82 -30
- data/lib/uzuuzu-cms/model/page_body.rb +11 -2
- data/lib/uzuuzu-cms/model/wiki.rb +5 -5
- data/lib/uzuuzu-cms/wrapper/controller.rb +16 -0
- data/lib/uzuuzu-cms/wrapper/environments.rb +15 -0
- data/lib/uzuuzu-cms/wrapper/lang/en.yaml +23 -0
- data/lib/uzuuzu-cms/wrapper/lang/ja.yaml +33 -0
- data/lib/uzuuzu-cms/wrapper/model.rb +24 -0
- data/lib/uzuuzu-cms.rb +3 -2
- data/template/fixture/uzu_uzu/contents.yaml +31 -0
- data/template/fixture/uzu_uzu/contents_page_body.yaml +13 -0
- data/template/fixture/uzu_uzu/css.yaml +11 -0
- data/template/fixture/uzu_uzu/css_info.yaml +5 -0
- data/template/fixture/uzu_uzu/info.yaml +13 -0
- data/template/fixture/uzu_uzu/info_javascript.yaml +5 -0
- data/template/fixture/uzu_uzu/javascript.yaml +5 -0
- data/template/fixture/uzu_uzu/layout.yaml +278 -0
- data/template/fixture/uzu_uzu/page.yaml +5 -0
- data/template/fixture/uzu_uzu/page_body.yaml +7 -0
- data/uzuuzu-cms.gemspec +21 -6
- metadata +22 -7
- data/lib/uzuuzu-cms/controller/admin.rb +0 -16
- data/lib/uzuuzu-cms/controller.rb +0 -16
- data/lib/uzuuzu-cms/fixture/layout.yaml +0 -110
- data/lib/uzuuzu-cms/model.rb +0 -24
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.1
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module UzuUzu
|
4
|
+
module Controller
|
5
|
+
module Admin
|
6
|
+
class Index
|
7
|
+
|
8
|
+
def before
|
9
|
+
redirect(rf(Initialize)) unless info.initialize?
|
10
|
+
end
|
11
|
+
|
12
|
+
def index
|
13
|
+
''
|
14
|
+
end
|
15
|
+
end # Index
|
16
|
+
end # Admin
|
17
|
+
end # Controller
|
18
|
+
end # UzuUzu
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module UzuUzu
|
4
|
+
module Controller
|
5
|
+
module Blog
|
6
|
+
class Index
|
7
|
+
|
8
|
+
def before
|
9
|
+
redirect(rf(Initialize)) unless info.initialize?
|
10
|
+
end
|
11
|
+
|
12
|
+
def index
|
13
|
+
''
|
14
|
+
end
|
15
|
+
end # Index
|
16
|
+
end # Blog
|
17
|
+
end # Controller
|
18
|
+
end # UzuUzu
|
@@ -4,49 +4,108 @@ module UzuUzu
|
|
4
4
|
module Controller
|
5
5
|
class Initialize
|
6
6
|
def index
|
7
|
-
|
8
|
-
|
7
|
+
if Info.first.nil?
|
8
|
+
# fixture load
|
9
|
+
logger.debug 'fixture load start'
|
10
|
+
Dir.glob('./fixture/**/*.*').each do |path|
|
11
|
+
logger.debug "fixture file : #{path}"
|
12
|
+
paths = path.split('/')
|
13
|
+
model_name = ::File.basename(paths.pop, '.*')
|
14
|
+
while !paths.blank? && paths[-1] != 'fixture'
|
15
|
+
model_name = "#{paths.pop.camel_case}::#{model_name.camel_case}"
|
16
|
+
end
|
17
|
+
begin
|
18
|
+
logger.debug "fixture model name : #{model_name}"
|
19
|
+
model = eval("::#{model_name}")
|
20
|
+
::UzuUzu::DataStore::Fixture.import_file(model, path, true)
|
21
|
+
rescue NameError => e
|
22
|
+
logger.error(e.to_s)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
logger.debug 'fixture load end'
|
9
26
|
end
|
10
|
-
if
|
11
|
-
|
27
|
+
if info.initialize?
|
28
|
+
redirect rf(UzuUzu::Controller::Index)
|
12
29
|
end
|
13
|
-
|
30
|
+
self.send("step#{info.step}")
|
31
|
+
case(info.step)
|
14
32
|
when 1
|
15
|
-
respond(render_file(__DIR__('view/initialize/step1.rhtml')
|
16
|
-
:layout => __DIR__('view/layout.rhtml')))
|
33
|
+
respond(info.render(self, render_file(__DIR__('view/initialize/step1.rhtml'))))
|
17
34
|
when 2
|
18
|
-
respond(render_file(__DIR__('view/initialize/step2.rhtml')
|
19
|
-
:layout => __DIR__('view/layout.rhtml')))
|
35
|
+
respond(info.render(self, render_file(__DIR__('view/initialize/step2.rhtml'))))
|
20
36
|
when 3
|
21
|
-
respond(render_file(__DIR__('view/initialize/step3.rhtml')
|
22
|
-
:layout => __DIR__('view/layout.rhtml')))
|
37
|
+
respond(info.render(self, render_file(__DIR__('view/initialize/step3.rhtml'))))
|
23
38
|
when 4
|
24
|
-
redirect rf(Index)
|
39
|
+
redirect rf(UzuUzu::Controller::Index)
|
25
40
|
end
|
26
41
|
end
|
27
42
|
|
28
43
|
private
|
29
44
|
|
30
|
-
def
|
45
|
+
def step1
|
31
46
|
unless session[:openid_identity].nil?
|
32
47
|
UzuUzu.transaction do |tr|
|
33
48
|
tr.begin
|
34
|
-
|
35
|
-
|
36
|
-
@info.step = 2
|
37
|
-
@info.admin = @user
|
38
|
-
@info.save if @user.save
|
49
|
+
info.step = 2
|
50
|
+
info.save
|
39
51
|
tr.commit
|
40
52
|
end
|
41
53
|
end
|
42
54
|
end
|
43
55
|
|
44
56
|
def step2
|
45
|
-
|
57
|
+
if session[:openid_identity].nil?
|
58
|
+
UzuUzu.transaction do |tr|
|
59
|
+
tr.begin
|
60
|
+
info.step = 1
|
61
|
+
info.save
|
62
|
+
tr.commit
|
63
|
+
end
|
64
|
+
return
|
65
|
+
end
|
66
|
+
if request.post?
|
67
|
+
if request.params['name'].blank?
|
68
|
+
@error = fix_localize(:user_name_empty)
|
69
|
+
return
|
70
|
+
end
|
71
|
+
UzuUzu.transaction do |tr|
|
72
|
+
tr.begin
|
73
|
+
user = UzuUzu::User.new
|
74
|
+
user.user_id = session[:openid_identity]
|
75
|
+
user.domain = session[:openid_domain]
|
76
|
+
user.name = request.params['name']
|
77
|
+
user.email = request.params['email']
|
78
|
+
user.web = request.params['web']
|
79
|
+
info.step = 3
|
80
|
+
info.admin = user
|
81
|
+
if info.save
|
82
|
+
tr.commit
|
83
|
+
else
|
84
|
+
tr.roolback
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
46
88
|
end
|
47
89
|
|
48
90
|
def step3
|
49
|
-
|
91
|
+
if session[:openid_identity].nil?
|
92
|
+
UzuUzu.transaction do |tr|
|
93
|
+
tr.begin
|
94
|
+
info.step = 1
|
95
|
+
info.save
|
96
|
+
tr.commit
|
97
|
+
end
|
98
|
+
return
|
99
|
+
end
|
100
|
+
if request.post?
|
101
|
+
UzuUzu.transaction do |tr|
|
102
|
+
tr.begin
|
103
|
+
info.step = 4
|
104
|
+
info.title = request.params['title']
|
105
|
+
info.save
|
106
|
+
tr.commit
|
107
|
+
end
|
108
|
+
end
|
50
109
|
end
|
51
110
|
end # Initialize
|
52
111
|
end # Controller
|
@@ -8,35 +8,34 @@ require 'openid/store/memcache'
|
|
8
8
|
|
9
9
|
module UzuUzu
|
10
10
|
module Controller
|
11
|
+
#
|
12
|
+
#
|
13
|
+
#
|
11
14
|
class Openid
|
12
|
-
|
15
|
+
#
|
16
|
+
#
|
17
|
+
#
|
13
18
|
def index
|
14
|
-
|
15
|
-
p request.domain
|
16
|
-
if session[:openid] and session[:openid][:identity]
|
19
|
+
if session[:openid_identity]
|
17
20
|
referer = session[:referer]
|
18
21
|
session.delete(:referer)
|
19
|
-
login_remote_user
|
20
22
|
redirect referer || rf(Index)
|
21
23
|
end
|
22
24
|
session[:referer] = request.referrer
|
23
|
-
|
24
|
-
|
25
|
-
else
|
26
|
-
respond(info.render(render_file(__DIR__('view/openid/index.rhtml')),
|
27
|
-
:layout => __DIR__('view/layout.rhtml')))
|
28
|
-
end
|
25
|
+
respond(info.render(render_file(__DIR__('view/openid/index.rhtml'))))
|
29
26
|
end
|
30
27
|
|
31
28
|
def logout
|
32
|
-
session.delete(:
|
29
|
+
session.delete(:openid_identity)
|
30
|
+
session.delete(:openid_sreg)
|
31
|
+
session.delete(:openid_domain)
|
33
32
|
end
|
34
33
|
|
35
34
|
def openid_begin
|
36
|
-
url = request['url']
|
35
|
+
url = request.params['url']
|
37
36
|
redirect_referrer if url.to_s.empty?
|
38
|
-
session[:
|
39
|
-
session[:
|
37
|
+
session[:openid_domain] = url
|
38
|
+
session[:openid_entry] = request.referrer
|
40
39
|
|
41
40
|
openid_request = openid_consumer.begin(url)
|
42
41
|
|
@@ -52,9 +51,8 @@ module UzuUzu
|
|
52
51
|
openid_request.add_extension(sregreq)
|
53
52
|
openid_request.return_to_args['did_pape'] = 'y'
|
54
53
|
|
55
|
-
root =
|
56
|
-
|
57
|
-
return_to = request.domain(r(:openid_complete))
|
54
|
+
root = root_uri
|
55
|
+
return_to = "#{root_uri}#{r(:openid_complete)}"
|
58
56
|
immediate = false
|
59
57
|
|
60
58
|
if openid_request.send_redirect?(root, return_to, immediate)
|
@@ -64,10 +62,8 @@ module UzuUzu
|
|
64
62
|
else
|
65
63
|
# what the hell is @form_text ?
|
66
64
|
end
|
67
|
-
|
68
65
|
rescue OpenID::OpenIDError => ex
|
69
|
-
|
70
|
-
redirect r
|
66
|
+
server_error
|
71
67
|
end
|
72
68
|
|
73
69
|
def openid_complete
|
@@ -77,24 +73,17 @@ module UzuUzu
|
|
77
73
|
when OpenID::Consumer::FAILURE
|
78
74
|
when OpenID::Consumer::SUCCESS
|
79
75
|
# Backwards compatibility
|
80
|
-
session[:
|
81
|
-
session[:
|
76
|
+
session[:openid_identity] = openid_response.identity_url
|
77
|
+
session[:openid_sreg] = OpenID::SReg::Response.from_success_response(openid_response)
|
82
78
|
end
|
83
|
-
|
79
|
+
openid_entry = session[:openid_entry]
|
80
|
+
session.delete(:openid_entry)
|
81
|
+
redirect openid_entry
|
84
82
|
end
|
85
83
|
|
86
84
|
|
87
85
|
private
|
88
86
|
|
89
|
-
#logined
|
90
|
-
def login_remote_user
|
91
|
-
remote_user = User.first(:user_id => session[:openid][:identity])
|
92
|
-
if remote_user.nil?
|
93
|
-
#remote_user = User.new(:user_id => session[:openid_identity])
|
94
|
-
#remote_user.save!
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
98
87
|
# use memcache
|
99
88
|
def openid_consumer
|
100
89
|
memcache = OpenID::Store::Memcache.new(UzuUzu.memcache)
|
@@ -1 +1,24 @@
|
|
1
1
|
|
2
|
+
<div id="step2">
|
3
|
+
<p>
|
4
|
+
<%= fix_localize(:step2) %>
|
5
|
+
</p>
|
6
|
+
<form method="post">
|
7
|
+
<p class='error_detail'><%= @error %></p>
|
8
|
+
<p>
|
9
|
+
<%= fix_localize(:user_entry_name) %>:
|
10
|
+
<input type="text" name="name" />
|
11
|
+
</p>
|
12
|
+
<p>
|
13
|
+
<%= fix_localize(:user_entry_email) %>:
|
14
|
+
<input type="text" name="email" />
|
15
|
+
</p>
|
16
|
+
<p>
|
17
|
+
<%= fix_localize(:user_entry_web) %>:
|
18
|
+
<input type="text" name="web" />
|
19
|
+
</p>
|
20
|
+
<p>
|
21
|
+
<input type="submit" value="<%= fix_localize(:entry) %>"/>
|
22
|
+
</p>
|
23
|
+
</form>
|
24
|
+
</div>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
<div id="step3">
|
3
|
+
<p>
|
4
|
+
<%= fix_localize(:step3) %>
|
5
|
+
</p>
|
6
|
+
<form method="post">
|
7
|
+
<p class='error_detail'><%= @error %></p>
|
8
|
+
<p>
|
9
|
+
<%= fix_localize(:info_title) %>:
|
10
|
+
<input type="text" name="title" />
|
11
|
+
</p>
|
12
|
+
<p>
|
13
|
+
<%= fix_localize(:user_entry_email) %>:
|
14
|
+
<input type="text" name="email" />
|
15
|
+
</p>
|
16
|
+
<p>
|
17
|
+
<%= fix_localize(:user_entry_web) %>:
|
18
|
+
<input type="text" name="web" />
|
19
|
+
</p>
|
20
|
+
<p>
|
21
|
+
<input type="submit" value="<%= fix_localize(:entry) %>"/>
|
22
|
+
</p>
|
23
|
+
</form>
|
24
|
+
</div>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module UzuUzu
|
4
|
+
module Controller
|
5
|
+
module Wiki
|
6
|
+
class Index
|
7
|
+
|
8
|
+
def before
|
9
|
+
redirect(rf(Initialize)) unless info.initialize?
|
10
|
+
end
|
11
|
+
|
12
|
+
def index
|
13
|
+
''
|
14
|
+
end
|
15
|
+
end # Index
|
16
|
+
end # Wiki
|
17
|
+
end # Controller
|
18
|
+
end # UzuUzu
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
require 'uzuuzu/
|
3
|
-
require 'uzuuzu/
|
4
|
-
require 'uzuuzu/
|
5
|
-
require 'uzuuzu/
|
2
|
+
require 'uzuuzu-cms/model/user'
|
3
|
+
require 'uzuuzu-cms/model/blog_category'
|
4
|
+
require 'uzuuzu-cms/model/blog_comment'
|
5
|
+
require 'uzuuzu-cms/model/blog_entry'
|
6
6
|
|
7
7
|
module UzuUzu
|
8
8
|
class User
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
require 'uzuuzu/
|
3
|
-
require 'uzuuzu/
|
2
|
+
require 'uzuuzu-cms/model/css'
|
3
|
+
require 'uzuuzu-cms/model/javascript'
|
4
4
|
|
5
5
|
module UzuUzu
|
6
6
|
class Css
|
@@ -28,8 +28,8 @@ module UzuUzu
|
|
28
28
|
has n, :csses, :through => Resource
|
29
29
|
has n, :javascripts, :through => Resource
|
30
30
|
|
31
|
-
def render
|
32
|
-
UzuUzu.render_engine(
|
31
|
+
def render(instance=nil, options={}, locals={})
|
32
|
+
UzuUzu.render_engine(instance, self.body, self.format, options, locals)
|
33
33
|
end
|
34
34
|
end # Contents
|
35
35
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
require 'uzuuzu/
|
3
|
-
require 'uzuuzu/
|
4
|
-
require 'uzuuzu/
|
5
|
-
require 'uzuuzu/
|
6
|
-
require 'uzuuzu/
|
7
|
-
require 'uzuuzu/
|
2
|
+
require 'uzuuzu-cms/model/user'
|
3
|
+
require 'uzuuzu-cms/model/css'
|
4
|
+
require 'uzuuzu-cms/model/javascript'
|
5
|
+
require 'uzuuzu-cms/model/layout'
|
6
|
+
require 'uzuuzu-cms/model/page_body'
|
7
|
+
require 'uzuuzu-cms/model/page'
|
8
8
|
|
9
9
|
module UzuUzu
|
10
10
|
class User
|
@@ -49,7 +49,7 @@ module UzuUzu
|
|
49
49
|
:default => false
|
50
50
|
|
51
51
|
belongs_to :top_page, 'UzuUzu::Page', :required => false
|
52
|
-
belongs_to :layout
|
52
|
+
belongs_to :layout
|
53
53
|
belongs_to :admin, 'UzuUzu::User', :required => false
|
54
54
|
belongs_to :header, 'UzuUzu::PageBody'
|
55
55
|
belongs_to :footer, 'UzuUzu::PageBody'
|
@@ -59,7 +59,7 @@ module UzuUzu
|
|
59
59
|
|
60
60
|
has n, :csses, 'UzuUzu::Css', :through => Resource
|
61
61
|
has n, :javascripts, 'UzuUzu::Javascript', :through => Resource
|
62
|
-
|
62
|
+
|
63
63
|
def self.uniq
|
64
64
|
ret = nil
|
65
65
|
UzuUzu.transaction do |tr|
|
@@ -68,6 +68,7 @@ module UzuUzu
|
|
68
68
|
if ary.empty?
|
69
69
|
ret = self.new
|
70
70
|
ret.title = "UzuUzu"
|
71
|
+
ret.layout = ::UzuUzu::Layout.first
|
71
72
|
ret.header = ::UzuUzu::PageBody.new
|
72
73
|
ret.footer = ::UzuUzu::PageBody.new
|
73
74
|
ret.navigator = ::UzuUzu::PageBody.new
|
@@ -100,21 +101,56 @@ module UzuUzu
|
|
100
101
|
info.initialize?
|
101
102
|
end
|
102
103
|
|
103
|
-
def render(
|
104
|
+
def render(instance=nil, contents=nil, options={})
|
104
105
|
locals = {
|
105
106
|
:@header => self.header.render(instance, options),
|
106
107
|
:@footer => self.footer.render(instance, options),
|
107
108
|
:@left => self.left.render(instance, options),
|
108
109
|
:@right => self.right.render(instance, options),
|
109
|
-
:@css => self.csses,
|
110
|
-
:@js => self.javascripts
|
110
|
+
:@css => self.csses.to_a.map{|css|css.url},
|
111
|
+
:@js => self.javascripts.to_a.map{|js|js.url}
|
111
112
|
}
|
112
113
|
locals[:@navigator] = self.navigator.render(instance, options) if self.use_navigator
|
113
114
|
locals[:@contents] = contents
|
114
115
|
locals[:@contents] ||= yield if block_given?
|
115
116
|
locals[:@contents] ||= ""
|
116
|
-
UzuUzu.render_engine(instance, self.layout.body, self.layout.
|
117
|
+
UzuUzu.render_engine(instance, self.layout.body, self.layout.format, options, locals)
|
117
118
|
end # render
|
119
|
+
|
120
|
+
def header
|
121
|
+
page_body_property(super, :header)
|
122
|
+
end # header
|
123
|
+
|
124
|
+
def footer
|
125
|
+
page_body_property(super, :footer)
|
126
|
+
end # footer
|
127
|
+
|
128
|
+
def left
|
129
|
+
page_body_property(super, :left)
|
130
|
+
end # left
|
131
|
+
|
132
|
+
def right
|
133
|
+
page_body_property(super, :right)
|
134
|
+
end # right
|
135
|
+
|
136
|
+
def navigator
|
137
|
+
page_body_property(super, :navigator)
|
138
|
+
end # navigator
|
139
|
+
|
140
|
+
private
|
141
|
+
def page_body_property(value, property_name)
|
142
|
+
if value.nil?
|
143
|
+
UzuUzu.transaction do |tr|
|
144
|
+
tr.commit do
|
145
|
+
value = ::UzuUzu::PageBody.new
|
146
|
+
self.send("#{property_name}=", value)
|
147
|
+
self.save
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
value
|
152
|
+
end
|
153
|
+
|
118
154
|
end #Info
|
119
155
|
|
120
156
|
if auto_upgrade?
|
@@ -6,10 +6,10 @@ module UzuUzu
|
|
6
6
|
|
7
7
|
property :id, Serial
|
8
8
|
property :name, String,
|
9
|
-
:length => 255
|
10
|
-
property :format, String,
|
11
9
|
:required => true,
|
12
|
-
:length =>
|
10
|
+
:length => 255
|
11
|
+
property :format, Enum[:none, :erb, :markdown],
|
12
|
+
:required => true
|
13
13
|
property :body, Text,
|
14
14
|
:required => true
|
15
15
|
end #Page
|