blogaze 0.0.2 → 0.0.3
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/README.md +1 -2
- data/bin/blogaze +0 -0
- data/blogaze.gemspec +1 -0
- data/lib/blogaze/bin/create.rb +1 -1
- data/lib/blogaze/bin/default.rb +8 -3
- data/lib/blogaze/controllers/admin/init.rb +2 -2
- data/lib/blogaze/controllers/admin/pages.rb +1 -0
- data/lib/blogaze/controllers/admin/users.rb +69 -0
- data/lib/blogaze/controllers/init.rb +33 -27
- data/lib/blogaze/controllers/sessions.rb +2 -2
- data/lib/blogaze/models/user.rb +9 -1
- data/lib/blogaze/tasks/db.rake +1 -1
- data/{proto → lib/blogaze}/themes/default/admin/comments/index.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/admin/index.xhtml +1 -0
- data/{proto → lib/blogaze}/themes/default/admin/pages/edit.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/admin/pages/index.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/admin/pages/new.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/admin/posts/edit.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/admin/posts/index.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/admin/posts/new.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/admin/settings/index.xhtml +0 -0
- data/lib/blogaze/themes/default/admin/users/edit.xhtml +22 -0
- data/lib/blogaze/themes/default/admin/users/index.xhtml +19 -0
- data/{proto → lib/blogaze}/themes/default/index.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/layouts/admin.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/layouts/default.xhtml +1 -1
- data/{proto → lib/blogaze}/themes/default/pages/notfound.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/pages/page.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/posts/view.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/sessions/new.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default/users/new.xhtml +0 -0
- data/{proto → lib/blogaze}/themes/default.rb +0 -0
- data/lib/blogaze/version.rb +1 -1
- data/lib/blogaze.rb +2 -0
- data/proto/app.rb +0 -1
- metadata +39 -20
data/README.md
CHANGED
data/bin/blogaze
CHANGED
File without changes
|
data/blogaze.gemspec
CHANGED
data/lib/blogaze/bin/create.rb
CHANGED
data/lib/blogaze/bin/default.rb
CHANGED
@@ -21,9 +21,6 @@ module Blogaze
|
|
21
21
|
#
|
22
22
|
def initialize
|
23
23
|
super
|
24
|
-
puts "Commands"
|
25
|
-
puts " blogaze create [NAME] - Create a Blogaze installation in [NAME] directory."
|
26
|
-
puts
|
27
24
|
end
|
28
25
|
|
29
26
|
##
|
@@ -33,6 +30,14 @@ module Blogaze
|
|
33
30
|
help
|
34
31
|
end
|
35
32
|
|
33
|
+
def help
|
34
|
+
puts @option_parser
|
35
|
+
puts
|
36
|
+
puts "Commands"
|
37
|
+
puts " create [NAME] Create a Blogaze installation in [NAME] directory."
|
38
|
+
puts
|
39
|
+
end
|
40
|
+
|
36
41
|
protected
|
37
42
|
|
38
43
|
##
|
@@ -9,14 +9,14 @@
|
|
9
9
|
module Blogaze
|
10
10
|
module Controllers
|
11
11
|
module Admin
|
12
|
-
class Controller < ::Blogaze::Controller
|
12
|
+
class Controller < ::Blogaze::Controllers::Controller
|
13
13
|
layout 'admin'
|
14
14
|
helper :blue_form
|
15
15
|
|
16
16
|
def initialize
|
17
17
|
super
|
18
18
|
|
19
|
-
if !@userinfo.respond_to?('group') or
|
19
|
+
if !@userinfo.respond_to?('group') or @userinfo.group.is_admin != 1
|
20
20
|
redirect '/login'
|
21
21
|
end
|
22
22
|
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
#
|
2
|
+
# Blogaze
|
3
|
+
# Copyright (C) 2011-2013 Jack Polgar
|
4
|
+
#
|
5
|
+
# Blogaze is released under the BSD 3-clause license.
|
6
|
+
# @license http://opensource.org/licenses/BSD-3-Clause
|
7
|
+
#
|
8
|
+
|
9
|
+
module Blogaze
|
10
|
+
module Controllers
|
11
|
+
module Admin
|
12
|
+
class Users < Controller
|
13
|
+
map '/admin/users'
|
14
|
+
|
15
|
+
before :edit, :save do
|
16
|
+
@title = "Edit User - Users - Admin - #{@settings[:title]}"
|
17
|
+
@groups = {}
|
18
|
+
::Blogaze::Models::Group.all.each do |group|
|
19
|
+
@groups[group.id] = group.name
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
##
|
24
|
+
# Lists users
|
25
|
+
#
|
26
|
+
def index
|
27
|
+
@title = "Users - Admin - #{@settings[:title]}"
|
28
|
+
@users = ::Blogaze::Models::User.all
|
29
|
+
respond(view_file('admin/users/index'))
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Edit user form
|
34
|
+
#
|
35
|
+
def edit(id)
|
36
|
+
@user = ::Blogaze::Models::User[id]
|
37
|
+
respond(view_file('admin/users/edit'))
|
38
|
+
end
|
39
|
+
|
40
|
+
##
|
41
|
+
# Save user
|
42
|
+
#
|
43
|
+
def save(id)
|
44
|
+
@user = ::Blogaze::Models::User[id]
|
45
|
+
@user.username = request[:username]
|
46
|
+
@user.email = request[:email]
|
47
|
+
@user.group_id = request[:group_id]
|
48
|
+
|
49
|
+
if @user.valid?
|
50
|
+
@user.save
|
51
|
+
flash[:success] = "User saved successfully"
|
52
|
+
redirect Users.r('/')
|
53
|
+
end
|
54
|
+
|
55
|
+
respond(view_file('admin/users/edit'))
|
56
|
+
end
|
57
|
+
|
58
|
+
##
|
59
|
+
# Delete user
|
60
|
+
#
|
61
|
+
def delete(id)
|
62
|
+
::Blogaze::Models::User[id].delete
|
63
|
+
flash[:success] = "User deleted successfully"
|
64
|
+
redirect Users.r('/')
|
65
|
+
end
|
66
|
+
end # Users
|
67
|
+
end # Admin
|
68
|
+
end # Controllers
|
69
|
+
end # Blogaze
|
@@ -7,40 +7,46 @@
|
|
7
7
|
#
|
8
8
|
|
9
9
|
module Blogaze
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
module Controllers
|
11
|
+
class Controller < Ramaze::Controller
|
12
|
+
layout :default
|
13
|
+
helper :xhtml, :maruku, :blue_form, :formatting
|
14
|
+
engine :etanni
|
14
15
|
|
15
|
-
|
16
|
-
|
16
|
+
def initialize
|
17
|
+
super
|
17
18
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
# Get user info
|
20
|
+
if session[:logged_in]
|
21
|
+
@userinfo = ::Blogaze::Models::User[session[:user_id]]
|
22
|
+
end
|
22
23
|
|
23
|
-
|
24
|
-
|
24
|
+
# Get settings
|
25
|
+
get_settings
|
25
26
|
|
26
|
-
|
27
|
-
|
27
|
+
# Set theme
|
28
|
+
Theme.use @settings[:theme]
|
29
|
+
end
|
28
30
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
31
|
+
##
|
32
|
+
# Renders the view with the set layout
|
33
|
+
#
|
34
|
+
def view_file(path)
|
35
|
+
path = path.to_s if not path.is_a?(String)
|
36
|
+
view_path = File.join(Theme.current.templates, "#{path}.xhtml")
|
37
|
+
layout_path = File.join(Theme.current.templates + "/layouts/#{ancestral_trait[:layout]}.xhtml")
|
38
|
+
return render_file(layout_path, :content => render_file(view_path))
|
39
|
+
end
|
35
40
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
41
|
+
def get_settings
|
42
|
+
@settings = {}
|
43
|
+
Blogaze.database[:settings].all.each do |setting|
|
44
|
+
@settings[setting[:setting].to_sym] = setting[:value]
|
45
|
+
end
|
40
46
|
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
47
|
+
end # Controller
|
48
|
+
end # Controllers
|
49
|
+
end # Blogaze
|
44
50
|
|
45
51
|
# Here go your requires for subclasses of Controller:
|
46
52
|
Dir.glob(File.dirname(__FILE__) + '/*.rb').each do |controller|
|
@@ -24,9 +24,9 @@ module Blogaze
|
|
24
24
|
#
|
25
25
|
def create
|
26
26
|
@title = "Login - #{@settings[:title]}"
|
27
|
-
@get_user = ::Blogaze::Models::User
|
27
|
+
@get_user = ::Blogaze::Models::User.where(:username => request[:username]).first
|
28
28
|
|
29
|
-
if @get_user
|
29
|
+
if @get_user and @get_user.check_password(request[:password])
|
30
30
|
session[:logged_in] = true
|
31
31
|
session[:user_id] = @get_user.id
|
32
32
|
redirect Ramaze.options.prefix
|
data/lib/blogaze/models/user.rb
CHANGED
@@ -14,6 +14,14 @@ module Blogaze
|
|
14
14
|
one_to_many :post
|
15
15
|
many_to_one :group
|
16
16
|
|
17
|
+
##
|
18
|
+
# Check if the users password matches
|
19
|
+
# the supplied password.
|
20
|
+
#
|
21
|
+
def check_password(password)
|
22
|
+
BCrypt::Password.new(self.password) == password
|
23
|
+
end
|
24
|
+
|
17
25
|
def validate
|
18
26
|
super
|
19
27
|
|
@@ -32,7 +40,7 @@ module Blogaze
|
|
32
40
|
end
|
33
41
|
|
34
42
|
def before_create
|
35
|
-
self.password =
|
43
|
+
self.password = BCrypt::Password.create(self.password)
|
36
44
|
self.group_id = 3
|
37
45
|
end
|
38
46
|
|
data/lib/blogaze/tasks/db.rake
CHANGED
@@ -33,7 +33,7 @@ namespace :db do
|
|
33
33
|
|
34
34
|
# Admin user
|
35
35
|
puts "Creating admin user"
|
36
|
-
Blogaze.database[:users].insert(:username => 'Admin', :password => '
|
36
|
+
Blogaze.database[:users].insert(:username => 'Admin', :password => '$2a$10$pWIXaTMi8eK5NPqRm2xpROEiTlFxj0H72Ebb5MaPK3OnAQqcWgfPe', :email => 'admin@example.com', :group_id => '1')
|
37
37
|
|
38
38
|
# First post
|
39
39
|
Blogaze.database[:posts].insert(:title => 'Welcome', :slug => 'welcome', :body => '**Welcome** to _Blogaze!_', :published_at => Time.now.to_i, :created_at => Time.now.to_i, :user_id => 1)
|
File without changes
|
@@ -7,6 +7,7 @@
|
|
7
7
|
<li>#{a 'Manage Posts', Blogaze::Controllers::Admin::Posts.r('/')}</li>
|
8
8
|
<li>#{a 'Manage Comments', Blogaze::Controllers::Admin::Comments.r('/')}</li>
|
9
9
|
<li>#{a 'Manage Pages', Blogaze::Controllers::Admin::Pages.r('/')}</li>
|
10
|
+
<li>#{a 'Manage Users', Blogaze::Controllers::Admin::Users.r('/')}</li>
|
10
11
|
</ul>
|
11
12
|
</div>
|
12
13
|
</div>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<div id="page_content">
|
2
|
+
<h2 id="page-title">Edit User</h2>
|
3
|
+
<div class="content">
|
4
|
+
<?r if @user.errors.count > 0 ?>
|
5
|
+
<div class="message error">
|
6
|
+
<?r @user.errors.each do |k, v| ?>
|
7
|
+
#{k} #{v.first}<br />
|
8
|
+
<?r end ?>
|
9
|
+
</div>
|
10
|
+
<?r end ?>
|
11
|
+
<div class="edit-user-form tabular">
|
12
|
+
#{
|
13
|
+
form_for(@user, :method => :post, :action => '/admin/users/save/' + @user.id.to_s) do |f|
|
14
|
+
f.input_text 'Username', :username
|
15
|
+
f.input_text 'Email', :email
|
16
|
+
f.select 'Group', :group_id, :values => @groups, :size => 1, :selected => @user.group_id.to_i
|
17
|
+
f.submit "Save", :class => "submit-btn"
|
18
|
+
end
|
19
|
+
}
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</div>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<div id="page_content">
|
2
|
+
<h2 id="page-title">Users</h2>
|
3
|
+
<table class="list">
|
4
|
+
<thead>
|
5
|
+
<tr>
|
6
|
+
<th>Username</th>
|
7
|
+
<th class="actions">Actions</th>
|
8
|
+
</tr>
|
9
|
+
</thead>
|
10
|
+
<tbody>
|
11
|
+
<?r @users.each do |user| ?>
|
12
|
+
<tr>
|
13
|
+
<td>#{a user.username, :edit, user.id}</td>
|
14
|
+
<td>#{a 'Edit', :edit, user.id}, #{a 'Delete', :delete, user.id}</td>
|
15
|
+
</tr>
|
16
|
+
<?r end ?>
|
17
|
+
</tbody>
|
18
|
+
</table>
|
19
|
+
</div>
|
File without changes
|
File without changes
|
@@ -20,7 +20,7 @@
|
|
20
20
|
<li><a href="/#{page.slug}">#{page.title}</a></li>
|
21
21
|
<?r end ?>
|
22
22
|
<?r if session[:logged_in] ?>
|
23
|
-
<?r if @userinfo.group.is_admin ?>
|
23
|
+
<?r if @userinfo.group.is_admin == 1 ?>
|
24
24
|
<li><a href="/admin">Admin</a></li>
|
25
25
|
<?r end ?>
|
26
26
|
<li><a href="/logout">Logout</a></li>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/blogaze/version.rb
CHANGED
data/lib/blogaze.rb
CHANGED
@@ -10,6 +10,7 @@ require 'ramaze'
|
|
10
10
|
require 'sequel'
|
11
11
|
require 'sequel/extensions/inflector'
|
12
12
|
require 'time-lord'
|
13
|
+
require 'bcrypt'
|
13
14
|
require "blogaze/version"
|
14
15
|
require "blogaze/theme"
|
15
16
|
|
@@ -32,6 +33,7 @@ module Blogaze
|
|
32
33
|
|
33
34
|
# Loads routes and controllers
|
34
35
|
def start
|
36
|
+
require 'blogaze/themes/default'
|
35
37
|
require 'blogaze/routes'
|
36
38
|
require 'blogaze/controllers/init'
|
37
39
|
end
|
data/proto/app.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blogaze
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ramaze
|
@@ -91,6 +91,22 @@ dependencies:
|
|
91
91
|
- - ~>
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '0.1'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: bcrypt-ruby
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 3.0.1
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 3.0.1
|
94
110
|
description: Blogaze is a simple blog powered by Ramaze and Sequel.
|
95
111
|
email:
|
96
112
|
- nrx@nirix.net
|
@@ -115,6 +131,7 @@ files:
|
|
115
131
|
- lib/blogaze/controllers/admin/pages.rb
|
116
132
|
- lib/blogaze/controllers/admin/posts.rb
|
117
133
|
- lib/blogaze/controllers/admin/settings.rb
|
134
|
+
- lib/blogaze/controllers/admin/users.rb
|
118
135
|
- lib/blogaze/controllers/init.rb
|
119
136
|
- lib/blogaze/controllers/main_controller.rb
|
120
137
|
- lib/blogaze/controllers/pages.rb
|
@@ -138,6 +155,26 @@ files:
|
|
138
155
|
- lib/blogaze/tasks.rb
|
139
156
|
- lib/blogaze/tasks/db.rake
|
140
157
|
- lib/blogaze/theme.rb
|
158
|
+
- lib/blogaze/themes/default.rb
|
159
|
+
- lib/blogaze/themes/default/admin/comments/index.xhtml
|
160
|
+
- lib/blogaze/themes/default/admin/index.xhtml
|
161
|
+
- lib/blogaze/themes/default/admin/pages/edit.xhtml
|
162
|
+
- lib/blogaze/themes/default/admin/pages/index.xhtml
|
163
|
+
- lib/blogaze/themes/default/admin/pages/new.xhtml
|
164
|
+
- lib/blogaze/themes/default/admin/posts/edit.xhtml
|
165
|
+
- lib/blogaze/themes/default/admin/posts/index.xhtml
|
166
|
+
- lib/blogaze/themes/default/admin/posts/new.xhtml
|
167
|
+
- lib/blogaze/themes/default/admin/settings/index.xhtml
|
168
|
+
- lib/blogaze/themes/default/admin/users/edit.xhtml
|
169
|
+
- lib/blogaze/themes/default/admin/users/index.xhtml
|
170
|
+
- lib/blogaze/themes/default/index.xhtml
|
171
|
+
- lib/blogaze/themes/default/layouts/admin.xhtml
|
172
|
+
- lib/blogaze/themes/default/layouts/default.xhtml
|
173
|
+
- lib/blogaze/themes/default/pages/notfound.xhtml
|
174
|
+
- lib/blogaze/themes/default/pages/page.xhtml
|
175
|
+
- lib/blogaze/themes/default/posts/view.xhtml
|
176
|
+
- lib/blogaze/themes/default/sessions/new.xhtml
|
177
|
+
- lib/blogaze/themes/default/users/new.xhtml
|
141
178
|
- lib/blogaze/version.rb
|
142
179
|
- proto/Rakefile
|
143
180
|
- proto/app.rb
|
@@ -151,24 +188,6 @@ files:
|
|
151
188
|
- proto/public/js/jquery.js
|
152
189
|
- proto/public/js/less.js
|
153
190
|
- proto/start.rb
|
154
|
-
- proto/themes/default.rb
|
155
|
-
- proto/themes/default/admin/comments/index.xhtml
|
156
|
-
- proto/themes/default/admin/index.xhtml
|
157
|
-
- proto/themes/default/admin/pages/edit.xhtml
|
158
|
-
- proto/themes/default/admin/pages/index.xhtml
|
159
|
-
- proto/themes/default/admin/pages/new.xhtml
|
160
|
-
- proto/themes/default/admin/posts/edit.xhtml
|
161
|
-
- proto/themes/default/admin/posts/index.xhtml
|
162
|
-
- proto/themes/default/admin/posts/new.xhtml
|
163
|
-
- proto/themes/default/admin/settings/index.xhtml
|
164
|
-
- proto/themes/default/index.xhtml
|
165
|
-
- proto/themes/default/layouts/admin.xhtml
|
166
|
-
- proto/themes/default/layouts/default.xhtml
|
167
|
-
- proto/themes/default/pages/notfound.xhtml
|
168
|
-
- proto/themes/default/pages/page.xhtml
|
169
|
-
- proto/themes/default/posts/view.xhtml
|
170
|
-
- proto/themes/default/sessions/new.xhtml
|
171
|
-
- proto/themes/default/users/new.xhtml
|
172
191
|
homepage: http://blogaze.org
|
173
192
|
licenses: []
|
174
193
|
post_install_message:
|