blogaze 0.0.1 → 0.0.2
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 +12 -13
- data/blogaze.gemspec +1 -0
- data/lib/blogaze.rb +2 -2
- data/lib/blogaze/bin/create.rb +6 -0
- data/lib/blogaze/controllers/admin/comments.rb +43 -0
- data/lib/blogaze/controllers/admin/dashboard.rb +25 -0
- data/lib/blogaze/controllers/admin/init.rb +30 -0
- data/lib/blogaze/controllers/admin/pages.rb +95 -0
- data/lib/blogaze/controllers/admin/posts.rb +125 -0
- data/lib/blogaze/controllers/admin/settings.rb +41 -0
- data/lib/blogaze/{controller → controllers}/init.rb +1 -1
- data/lib/blogaze/controllers/main_controller.rb +35 -0
- data/lib/blogaze/controllers/pages.rb +39 -0
- data/lib/blogaze/controllers/posts.rb +77 -0
- data/lib/blogaze/controllers/sessions.rb +50 -0
- data/lib/blogaze/controllers/users.rb +41 -0
- data/lib/blogaze/models/comment.rb +28 -0
- data/lib/blogaze/{model → models}/group.rb +6 -4
- data/lib/blogaze/{model → models}/init.rb +0 -0
- data/lib/blogaze/models/page.rb +29 -0
- data/lib/blogaze/models/post.rb +95 -0
- data/lib/blogaze/models/tag.rb +25 -0
- data/lib/blogaze/{model → models}/tags_relationship.rb +6 -4
- data/lib/blogaze/models/user.rb +43 -0
- data/lib/blogaze/routes.rb +4 -0
- data/lib/blogaze/theme.rb +17 -0
- data/lib/blogaze/version.rb +1 -1
- data/proto/public/css/master.less +16 -12
- data/proto/themes/default/admin/index.xhtml +4 -4
- data/proto/themes/default/admin/settings/index.xhtml +1 -1
- data/proto/themes/default/index.xhtml +6 -3
- data/proto/themes/default/layouts/admin.xhtml +2 -2
- data/proto/themes/default/layouts/default.xhtml +1 -1
- data/proto/themes/default/posts/view.xhtml +3 -3
- metadata +37 -21
- data/lib/blogaze/controller/admin/comments.rb +0 -32
- data/lib/blogaze/controller/admin/init.rb +0 -28
- data/lib/blogaze/controller/admin/main.rb +0 -20
- data/lib/blogaze/controller/admin/pages.rb +0 -75
- data/lib/blogaze/controller/admin/posts.rb +0 -103
- data/lib/blogaze/controller/admin/settings.rb +0 -33
- data/lib/blogaze/controller/main.rb +0 -30
- data/lib/blogaze/controller/pages.rb +0 -34
- data/lib/blogaze/controller/posts.rb +0 -43
- data/lib/blogaze/controller/sessions.rb +0 -39
- data/lib/blogaze/controller/users.rb +0 -39
- data/lib/blogaze/model/comment.rb +0 -26
- data/lib/blogaze/model/page.rb +0 -27
- data/lib/blogaze/model/post.rb +0 -79
- data/lib/blogaze/model/tag.rb +0 -19
- data/lib/blogaze/model/user.rb +0 -41
@@ -1,20 +0,0 @@
|
|
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 Admin
|
11
|
-
class Dashboard < Controller
|
12
|
-
map '/admin'
|
13
|
-
|
14
|
-
def index
|
15
|
-
@title = "Admin - #{@settings[:title]}"
|
16
|
-
respond(view_file('admin/index'))
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,75 +0,0 @@
|
|
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 Admin
|
11
|
-
class Pages < Controller
|
12
|
-
map '/admin/pages'
|
13
|
-
|
14
|
-
def index
|
15
|
-
@pages = Page.order(:title.asc).all
|
16
|
-
respond(view_file('admin/pages/index'))
|
17
|
-
end
|
18
|
-
|
19
|
-
def new
|
20
|
-
@title = "New Page - Pages - Admin - #{@settings[:title]}"
|
21
|
-
@page = Page.new
|
22
|
-
respond(view_file('admin/pages/new'))
|
23
|
-
end
|
24
|
-
|
25
|
-
def create
|
26
|
-
@title = "New Page - Pages - Admin - #{@settings[:title]}"
|
27
|
-
data = {
|
28
|
-
:title => request[:title],
|
29
|
-
:slug => request[:slug],
|
30
|
-
:body => request[:body],
|
31
|
-
:on_menu => request[:on_menu]
|
32
|
-
}
|
33
|
-
|
34
|
-
@page = Page.new(data)
|
35
|
-
|
36
|
-
if @page.valid?
|
37
|
-
@page.save
|
38
|
-
flash[:success] = "Page created successfully"
|
39
|
-
redirect Pages.r('/')
|
40
|
-
else
|
41
|
-
respond(view_file('admin/pages/new'))
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def edit(page_id)
|
46
|
-
@title = "Edit Page - Pages - Admin - #{@settings[:title]}"
|
47
|
-
@page = Page[page_id]
|
48
|
-
respond(view_file('admin/pages/edit'))
|
49
|
-
end
|
50
|
-
|
51
|
-
def save(page_id)
|
52
|
-
@title = "Edit Page - Pages - Admin - #{@settings[:title]}"
|
53
|
-
@page = Page[page_id]
|
54
|
-
@page.title = request[:title]
|
55
|
-
@page.slug = request[:slug]
|
56
|
-
@page.body = request[:body]
|
57
|
-
@page.on_menu = request[:on_menu]
|
58
|
-
|
59
|
-
if @page.valid?
|
60
|
-
@page.save
|
61
|
-
flash[:success] = "Page saved successfully"
|
62
|
-
redirect Pages.r('/')
|
63
|
-
else
|
64
|
-
respond(view_file('admin/pages/edit'))
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
def delete(page_id)
|
69
|
-
Page[page_id].delete
|
70
|
-
flash[:success] = "Page deleted successfully"
|
71
|
-
redirect Pages.r('/')
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
@@ -1,103 +0,0 @@
|
|
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 Admin
|
11
|
-
class Posts < Controller
|
12
|
-
map '/admin/posts'
|
13
|
-
|
14
|
-
before :new, :create do
|
15
|
-
if !@userinfo.group.create_posts
|
16
|
-
flash[:error] = "You don't have permission to do that."
|
17
|
-
redirect '/login'
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
before :edit, :save do
|
22
|
-
if !@userinfo.group.edit_posts
|
23
|
-
flash[:error] = "You don't have permission to do that."
|
24
|
-
redirect '/login'
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
before :delete do
|
29
|
-
if !@userinfo.group.delete_posts
|
30
|
-
flash[:error] = "You don't have permission to do that."
|
31
|
-
redirect '/login'
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def index
|
36
|
-
@title = "Posts - Admin - #{@settings[:title]}"
|
37
|
-
@posts = Post.order(:id.desc).all
|
38
|
-
respond(view_file('admin/posts/index'))
|
39
|
-
end
|
40
|
-
|
41
|
-
def new
|
42
|
-
@title = "New Post - Posts - Admin - #{@settings[:title]}"
|
43
|
-
@post = Post.new
|
44
|
-
respond(view_file('admin/posts/new'))
|
45
|
-
end
|
46
|
-
|
47
|
-
def create
|
48
|
-
@title = "New Post - Posts - Admin - #{@settings[:title]}"
|
49
|
-
data = {
|
50
|
-
:title => request[:title],
|
51
|
-
:body => request[:body],
|
52
|
-
:user_id => @userinfo.id,
|
53
|
-
:post_tags => request[:post_tags].is_a?(String) ? request[:post_tags].gsub(', ', ',').split(',') : []
|
54
|
-
}
|
55
|
-
@post = Post.new(data)
|
56
|
-
|
57
|
-
if @post.valid?
|
58
|
-
@post.save
|
59
|
-
flash[:success] = "Post created successfully"
|
60
|
-
redirect Posts.r('/')
|
61
|
-
else
|
62
|
-
@post.post_tags = @post.post_tags.join(', ')
|
63
|
-
respond(view_file('admin/posts/new'))
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
def edit(post_id)
|
68
|
-
@title = "Edit Post - Posts - Admin - #{@settings[:title]}"
|
69
|
-
@post = Post[post_id]
|
70
|
-
|
71
|
-
post_tags = []
|
72
|
-
@post.tags.each do |tag|
|
73
|
-
post_tags.push tag.name
|
74
|
-
end
|
75
|
-
@post.post_tags = post_tags.join(', ')
|
76
|
-
|
77
|
-
respond(view_file('admin/posts/edit'))
|
78
|
-
end
|
79
|
-
|
80
|
-
def save(post_id)
|
81
|
-
@title = "Edit Post - Posts - Admin - #{@settings[:title]}"
|
82
|
-
@post = Post[post_id]
|
83
|
-
@post.title = request[:title]
|
84
|
-
@post.body = request[:body]
|
85
|
-
@post.post_tags = request[:post_tags].is_a?(String) ? request[:post_tags].gsub(', ', ',').split(',') : []
|
86
|
-
|
87
|
-
if @post.valid?
|
88
|
-
@post.save
|
89
|
-
flash[:success] = "Post saved successfully"
|
90
|
-
redirect Posts.r('/')
|
91
|
-
else
|
92
|
-
respond(view_file('admin/posts/edit'))
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
|
-
def delete(post_id)
|
97
|
-
Post[post_id].delete
|
98
|
-
flash[:success] = "Post deleted successfully"
|
99
|
-
redirect Posts.r('/')
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
@@ -1,33 +0,0 @@
|
|
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 Admin
|
11
|
-
class Settings < Controller
|
12
|
-
map '/admin/settings'
|
13
|
-
|
14
|
-
def index
|
15
|
-
# Get themes
|
16
|
-
@themes = []
|
17
|
-
|
18
|
-
::Blogaze::Theme.registered.each do |theme|
|
19
|
-
@themes.push theme[0].to_s
|
20
|
-
end
|
21
|
-
|
22
|
-
respond(view_file('admin/settings/index'))
|
23
|
-
end
|
24
|
-
|
25
|
-
def save
|
26
|
-
request[:settings].each do |setting, value|
|
27
|
-
::Blogaze.database[:settings].where(:setting => setting).update(:value => value)
|
28
|
-
end
|
29
|
-
redirect Settings.r('/')
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
@@ -1,30 +0,0 @@
|
|
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
|
-
class MainController < Controller
|
11
|
-
map '/'
|
12
|
-
helper :paginate
|
13
|
-
|
14
|
-
def index(page = 1)
|
15
|
-
# Check if we should change the title to include
|
16
|
-
# what page we're on.
|
17
|
-
if page.to_i > 1
|
18
|
-
@title = "Page #{page} - #{@settings[:title]}"
|
19
|
-
else
|
20
|
-
@title = @settings[:title]
|
21
|
-
end
|
22
|
-
|
23
|
-
# Get the data and paginate it.
|
24
|
-
data = Post.order(:published_at.desc)
|
25
|
-
@posts = paginate(data, :limit => @settings[:posts_per_page].to_i, :page => page.to_i)
|
26
|
-
|
27
|
-
respond(view_file(:index))
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,34 +0,0 @@
|
|
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
|
-
class Pages < Controller
|
11
|
-
map '/pages'
|
12
|
-
|
13
|
-
def view(slug = nil)
|
14
|
-
if slug == nil
|
15
|
-
slug = request.env["REQUEST_PATH"]
|
16
|
-
end
|
17
|
-
|
18
|
-
# Chomp chomp chomp, let's trim any unwanted
|
19
|
-
# forward slashes from the begning and end of the url.
|
20
|
-
slug = slug.chomp("/").reverse.chomp("/").reverse
|
21
|
-
|
22
|
-
@page = Page[:slug => slug]
|
23
|
-
|
24
|
-
# Check if the page exists, if not render the
|
25
|
-
# not found page.
|
26
|
-
if !@page.respond_to?('title')
|
27
|
-
respond(view_file('pages/notfound'))
|
28
|
-
else
|
29
|
-
@title = "#{@page.title} - #{@settings[:title]}"
|
30
|
-
respond(view_file('pages/page'))
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,43 +0,0 @@
|
|
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
|
-
class Posts < Controller
|
11
|
-
map '/posts'
|
12
|
-
|
13
|
-
def view(slug)
|
14
|
-
@post = Post.filter(:slug => slug).first
|
15
|
-
return respond(view_file('pages/notfound')) if @post.nil?
|
16
|
-
|
17
|
-
# Set title
|
18
|
-
@title = @post.title + ' - ' + @settings[:title]
|
19
|
-
|
20
|
-
# Instead of a controller just for comment creation
|
21
|
-
# let's just put it here, that way we can display
|
22
|
-
# errors with the new comment form.
|
23
|
-
if request[:new_comment].to_i == 1
|
24
|
-
data = {
|
25
|
-
:post_id => @post.id,
|
26
|
-
:author => request[:author],
|
27
|
-
:body => request[:body],
|
28
|
-
:in_moderation => @settings[:moderate_comments]
|
29
|
-
}
|
30
|
-
@comment = Comment.new(data)
|
31
|
-
if @comment.valid?
|
32
|
-
@comment.save
|
33
|
-
flash[:success] = "Your comment has been posted"
|
34
|
-
redirect @post.href
|
35
|
-
end
|
36
|
-
else
|
37
|
-
@comment = Comment.new
|
38
|
-
end
|
39
|
-
|
40
|
-
respond(view_file('posts/view'))
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
@@ -1,39 +0,0 @@
|
|
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
|
-
class Sessions < Controller
|
11
|
-
map '/sessions'
|
12
|
-
|
13
|
-
def new
|
14
|
-
@title = "Login - #{@settings[:title]}"
|
15
|
-
respond(view_file('sessions/new'))
|
16
|
-
end
|
17
|
-
|
18
|
-
def create
|
19
|
-
@title = "Login - #{@settings[:title]}"
|
20
|
-
@get_user = User[:username => request[:username]]
|
21
|
-
|
22
|
-
if @get_user.respond_to?('password') and @get_user.password == Digest::SHA1.hexdigest(request[:password])
|
23
|
-
session[:logged_in] = true
|
24
|
-
session[:user_id] = @get_user.id
|
25
|
-
redirect Ramaze.options.prefix
|
26
|
-
else
|
27
|
-
@login_error = true
|
28
|
-
end
|
29
|
-
|
30
|
-
respond(view_file('sessions/new'))
|
31
|
-
end
|
32
|
-
|
33
|
-
def destroy
|
34
|
-
session.delete(:logged_in)
|
35
|
-
session.delete(:user_id)
|
36
|
-
redirect Ramaze.options.prefix
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,39 +0,0 @@
|
|
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
|
-
class Users < Controller
|
11
|
-
map '/users'
|
12
|
-
|
13
|
-
def new
|
14
|
-
@title = "Register - #{@settings[:title]}"
|
15
|
-
@user = User.new
|
16
|
-
respond(view_file('users/new'))
|
17
|
-
end
|
18
|
-
|
19
|
-
def create
|
20
|
-
@title = "Register - #{@settings[:title]}"
|
21
|
-
data = {
|
22
|
-
:username => request[:username],
|
23
|
-
:password => request[:password],
|
24
|
-
:email => request[:email],
|
25
|
-
:group_id => 3
|
26
|
-
}
|
27
|
-
|
28
|
-
@user = User.new(data)
|
29
|
-
|
30
|
-
if @user.valid?
|
31
|
-
@user.save
|
32
|
-
flash[:success] = "Account created, you may now login"
|
33
|
-
redirect '/login'
|
34
|
-
else
|
35
|
-
respond(view_file('users/new'))
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,26 +0,0 @@
|
|
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
|
-
class Comment < Sequel::Model
|
11
|
-
plugin :validation_helpers
|
12
|
-
|
13
|
-
many_to_one :post
|
14
|
-
|
15
|
-
def validate
|
16
|
-
validates_presence [:post_id, :author, :body]
|
17
|
-
validates_integer :post_id
|
18
|
-
end
|
19
|
-
|
20
|
-
def before_create
|
21
|
-
super
|
22
|
-
self.created_at = Time.now.to_i
|
23
|
-
self.updated_at = 0
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|