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