blogaze 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|