phcpress 9.0.1 → 9.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +20 -20
- data/README.md +46 -46
- data/Rakefile +33 -33
- data/app/assets/config/phcpress_manifest.js +2 -2
- data/app/assets/javascripts/phcpress/application.js +2 -2
- data/app/assets/stylesheets/phcpress/application.scss +2 -2
- data/app/controllers/phcpress/api/v1/categories_controller.rb +15 -15
- data/app/controllers/phcpress/api/v1/posts_controller.rb +15 -15
- data/app/controllers/phcpress/application_controller.rb +12 -12
- data/app/controllers/phcpress/articles/posts_controller.rb +67 -67
- data/app/controllers/phcpress/frontend/articles_controller.rb +20 -20
- data/app/controllers/phcpress/modules/categories_controller.rb +65 -65
- data/app/controllers/phcpress/modules/connections_controller.rb +65 -65
- data/app/helpers/phcpress/application_helper.rb +14 -14
- data/app/jobs/phcpress/application_job.rb +4 -4
- data/app/mailers/phcpress/application_mailer.rb +6 -6
- data/app/models/phcpress/api/v1/category.rb +4 -4
- data/app/models/phcpress/api/v1/post.rb +4 -4
- data/app/models/phcpress/application_record.rb +5 -5
- data/app/models/phcpress/articles.rb +7 -7
- data/app/models/phcpress/articles/post.rb +30 -30
- data/app/models/phcpress/frontend.rb +7 -7
- data/app/models/phcpress/frontend/article.rb +4 -4
- data/app/models/phcpress/modules.rb +7 -7
- data/app/models/phcpress/modules/category.rb +20 -20
- data/app/models/phcpress/modules/connection.rb +15 -15
- data/app/uploaders/phcpress/pstimage_uploader.rb +30 -30
- data/app/views/layouts/components/backend/footer/_footer.html.erb +4 -4
- data/app/views/layouts/components/backend/navigation/_navigation.html.erb +48 -48
- data/app/views/layouts/components/backend/topbar/_topbar.html.erb +5 -5
- data/app/views/layouts/phcpress/application.html.erb +57 -57
- data/app/views/layouts/phcpress/frontend.html.erb +24 -24
- data/app/views/phcpress/api/v1/categories/index.json.rabl +2 -2
- data/app/views/phcpress/api/v1/posts/index.json.rabl +2 -2
- data/app/views/phcpress/articles/posts/_form.html.erb +84 -84
- data/app/views/phcpress/articles/posts/edit.html.erb +32 -32
- data/app/views/phcpress/articles/posts/index.html.erb +69 -69
- data/app/views/phcpress/articles/posts/new.html.erb +32 -32
- data/app/views/phcpress/articles/posts/show.html.erb +40 -40
- data/app/views/phcpress/frontend/articles/index.html.erb +76 -76
- data/app/views/phcpress/frontend/articles/show.html.erb +72 -72
- data/app/views/phcpress/modules/categories/_form.html.erb +20 -20
- data/app/views/phcpress/modules/categories/edit.html.erb +39 -39
- data/app/views/phcpress/modules/categories/index.html.erb +66 -66
- data/app/views/phcpress/modules/categories/new.html.erb +39 -39
- data/app/views/phcpress/modules/categories/show.html.erb +40 -40
- data/app/views/phcpress/modules/connections/_form.html.erb +24 -24
- data/app/views/phcpress/modules/connections/edit.html.erb +39 -39
- data/app/views/phcpress/modules/connections/index.html.erb +66 -66
- data/app/views/phcpress/modules/connections/new.html.erb +39 -39
- data/app/views/phcpress/modules/connections/show.html.erb +50 -50
- data/config/initializers/friendly_id.rb +92 -92
- data/config/routes.rb +27 -27
- data/config/tinymce.yml +5 -5
- data/db/migrate/20160716182848_create_phcpress_modules_categories.rb +18 -18
- data/db/migrate/20160720181307_create_phcpress_articles_posts.rb +21 -21
- data/db/migrate/20160720235314_create_phcpress_modules_connections.rb +19 -19
- data/db/migrate/20170509180858_create_friendly_id_slugs.rb +15 -15
- data/lib/phcpress.rb +4 -4
- data/lib/phcpress/engine.rb +68 -68
- data/lib/phcpress/version.rb +3 -3
- data/lib/tasks/phcpress_tasks.rake +4 -4
- metadata +23 -53
@@ -1,7 +1,7 @@
|
|
1
|
-
module Phcpress
|
2
|
-
module Frontend
|
3
|
-
def self.table_name_prefix
|
4
|
-
'phcpress_frontend_'
|
5
|
-
end
|
6
|
-
end
|
7
|
-
end
|
1
|
+
module Phcpress
|
2
|
+
module Frontend
|
3
|
+
def self.table_name_prefix
|
4
|
+
'phcpress_frontend_'
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module Phcpress
|
2
|
-
class Frontend::Article < ApplicationRecord
|
3
|
-
end
|
4
|
-
end
|
1
|
+
module Phcpress
|
2
|
+
class Frontend::Article < ApplicationRecord
|
3
|
+
end
|
4
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
module Phcpress
|
2
|
-
module Modules
|
3
|
-
def self.table_name_prefix
|
4
|
-
'phcpress_modules_'
|
5
|
-
end
|
6
|
-
end
|
7
|
-
end
|
1
|
+
module Phcpress
|
2
|
+
module Modules
|
3
|
+
def self.table_name_prefix
|
4
|
+
'phcpress_modules_'
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
@@ -1,20 +1,20 @@
|
|
1
|
-
module Phcpress
|
2
|
-
class Modules::Category < ApplicationRecord
|
3
|
-
|
4
|
-
# Clean URL Initialize
|
5
|
-
extend FriendlyId
|
6
|
-
|
7
|
-
# Paper_tail Initialize
|
8
|
-
has_paper_trail
|
9
|
-
|
10
|
-
# Relationships
|
11
|
-
has_many :connections, class_name: 'Phcpress::Modules::Connection', dependent: :destroy
|
12
|
-
has_many :posts, class_name: 'Phcpress::Modules::Category', :through => :connections
|
13
|
-
|
14
|
-
# Validation for Form Fields
|
15
|
-
validates :catname,
|
16
|
-
presence: true,
|
17
|
-
length: { minimum: 3 }
|
18
|
-
|
19
|
-
end
|
20
|
-
end
|
1
|
+
module Phcpress
|
2
|
+
class Modules::Category < ApplicationRecord
|
3
|
+
|
4
|
+
# Clean URL Initialize
|
5
|
+
extend FriendlyId
|
6
|
+
|
7
|
+
# Paper_tail Initialize
|
8
|
+
has_paper_trail
|
9
|
+
|
10
|
+
# Relationships
|
11
|
+
has_many :connections, class_name: 'Phcpress::Modules::Connection', dependent: :destroy
|
12
|
+
has_many :posts, class_name: 'Phcpress::Modules::Category', :through => :connections
|
13
|
+
|
14
|
+
# Validation for Form Fields
|
15
|
+
validates :catname,
|
16
|
+
presence: true,
|
17
|
+
length: { minimum: 3 }
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -1,15 +1,15 @@
|
|
1
|
-
module Phcpress
|
2
|
-
class Modules::Connection < ApplicationRecord
|
3
|
-
|
4
|
-
# Clean URL Initialize
|
5
|
-
extend FriendlyId
|
6
|
-
|
7
|
-
# Paper_tail Initialize
|
8
|
-
has_paper_trail
|
9
|
-
|
10
|
-
# Relationships
|
11
|
-
belongs_to :post, class_name: 'Phcpress::Articles::Post'
|
12
|
-
belongs_to :category, class_name: 'Phcpress::Modules::Category'
|
13
|
-
|
14
|
-
end
|
15
|
-
end
|
1
|
+
module Phcpress
|
2
|
+
class Modules::Connection < ApplicationRecord
|
3
|
+
|
4
|
+
# Clean URL Initialize
|
5
|
+
extend FriendlyId
|
6
|
+
|
7
|
+
# Paper_tail Initialize
|
8
|
+
has_paper_trail
|
9
|
+
|
10
|
+
# Relationships
|
11
|
+
belongs_to :post, class_name: 'Phcpress::Articles::Post'
|
12
|
+
belongs_to :category, class_name: 'Phcpress::Modules::Category'
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
@@ -1,30 +1,30 @@
|
|
1
|
-
class Phcpress::PstimageUploader < CarrierWave::Uploader::Base
|
2
|
-
|
3
|
-
# Storage Type
|
4
|
-
storage :file
|
5
|
-
# storage :fog
|
6
|
-
|
7
|
-
# Where files will be uploaded
|
8
|
-
def store_dir
|
9
|
-
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
10
|
-
end
|
11
|
-
|
12
|
-
# White List of Safe Extension
|
13
|
-
def extension_white_list
|
14
|
-
%w(jpg jpeg gif png)
|
15
|
-
end
|
16
|
-
|
17
|
-
# Hash filenames
|
18
|
-
def filename
|
19
|
-
"#{secure_token}.#{file.extension}" if original_filename.present?
|
20
|
-
end
|
21
|
-
|
22
|
-
protected
|
23
|
-
|
24
|
-
# Secure Token for File Hashing
|
25
|
-
def secure_token
|
26
|
-
var = :"@#{mounted_as}_secure_token"
|
27
|
-
model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.uuid)
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
1
|
+
class Phcpress::PstimageUploader < CarrierWave::Uploader::Base
|
2
|
+
|
3
|
+
# Storage Type
|
4
|
+
storage :file
|
5
|
+
# storage :fog
|
6
|
+
|
7
|
+
# Where files will be uploaded
|
8
|
+
def store_dir
|
9
|
+
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
10
|
+
end
|
11
|
+
|
12
|
+
# White List of Safe Extension
|
13
|
+
def extension_white_list
|
14
|
+
%w(jpg jpeg gif png)
|
15
|
+
end
|
16
|
+
|
17
|
+
# Hash filenames
|
18
|
+
def filename
|
19
|
+
"#{secure_token}.#{file.extension}" if original_filename.present?
|
20
|
+
end
|
21
|
+
|
22
|
+
protected
|
23
|
+
|
24
|
+
# Secure Token for File Hashing
|
25
|
+
def secure_token
|
26
|
+
var = :"@#{mounted_as}_secure_token"
|
27
|
+
model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.uuid)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="pull-right hidden-xs">
|
2
|
-
<b>Version</b> 9.
|
3
|
-
</div>
|
4
|
-
<strong>© 2012-<%= Time.now.year %> <%= link_to "https://phcnetworks.net", target: "_blank", rel: "nofollow" do %>PHCNetworks<% end %></strong>
|
1
|
+
<div class="pull-right hidden-xs">
|
2
|
+
<b>Version</b> 9.1.0 - 05-26-<%= Date.today.year %>
|
3
|
+
</div>
|
4
|
+
<strong>© 2012-<%= Time.now.year %> <%= link_to "https://phcnetworks.net", target: "_blank", rel: "nofollow" do %>PHCNetworks<% end %></strong>
|
@@ -1,48 +1,48 @@
|
|
1
|
-
<section class="sidebar">
|
2
|
-
<ul class="sidebar-menu">
|
3
|
-
<li class="<%= is_active_controller('phcpress/articles/posts') %> treeview">
|
4
|
-
<%= link_to "#" do %>
|
5
|
-
<i class="fa fa-newspaper-o"></i> <span>Articles</span>
|
6
|
-
<span class="pull-right-container">
|
7
|
-
<i class="fa fa-angle-left pull-right"></i>
|
8
|
-
</span>
|
9
|
-
<% end %>
|
10
|
-
<ul class="treeview-menu">
|
11
|
-
<li class="">
|
12
|
-
<%= link_to articles_posts_path do %>
|
13
|
-
<i class="fa fa-circle-o"></i>
|
14
|
-
Article Index
|
15
|
-
<% end %>
|
16
|
-
</li>
|
17
|
-
<li class="">
|
18
|
-
<%= link_to new_articles_post_path do %>
|
19
|
-
<i class="fa fa-circle-o"></i>
|
20
|
-
New Article
|
21
|
-
<% end %>
|
22
|
-
</li>
|
23
|
-
</ul>
|
24
|
-
</li>
|
25
|
-
<li class="<%= is_active_controller('phcpress/modules/categories') %> treeview">
|
26
|
-
<%= link_to "#" do %>
|
27
|
-
<i class="fa fa-sitemap"></i> <span>Categories</span>
|
28
|
-
<span class="pull-right-container">
|
29
|
-
<i class="fa fa-angle-left pull-right"></i>
|
30
|
-
</span>
|
31
|
-
<% end %>
|
32
|
-
<ul class="treeview-menu">
|
33
|
-
<li class="">
|
34
|
-
<%= link_to modules_categories_path do %>
|
35
|
-
<i class="fa fa-circle-o"></i>
|
36
|
-
Category List
|
37
|
-
<% end %>
|
38
|
-
</li>
|
39
|
-
<li class="">
|
40
|
-
<%= link_to new_modules_category_path do %>
|
41
|
-
<i class="fa fa-circle-o"></i>
|
42
|
-
New Category
|
43
|
-
<% end %>
|
44
|
-
</li>
|
45
|
-
</ul>
|
46
|
-
</li>
|
47
|
-
</ul>
|
48
|
-
</section>
|
1
|
+
<section class="sidebar">
|
2
|
+
<ul class="sidebar-menu">
|
3
|
+
<li class="<%= is_active_controller('phcpress/articles/posts') %> treeview">
|
4
|
+
<%= link_to "#" do %>
|
5
|
+
<i class="fa fa-newspaper-o"></i> <span>Articles</span>
|
6
|
+
<span class="pull-right-container">
|
7
|
+
<i class="fa fa-angle-left pull-right"></i>
|
8
|
+
</span>
|
9
|
+
<% end %>
|
10
|
+
<ul class="treeview-menu">
|
11
|
+
<li class="">
|
12
|
+
<%= link_to articles_posts_path do %>
|
13
|
+
<i class="fa fa-circle-o"></i>
|
14
|
+
Article Index
|
15
|
+
<% end %>
|
16
|
+
</li>
|
17
|
+
<li class="">
|
18
|
+
<%= link_to new_articles_post_path do %>
|
19
|
+
<i class="fa fa-circle-o"></i>
|
20
|
+
New Article
|
21
|
+
<% end %>
|
22
|
+
</li>
|
23
|
+
</ul>
|
24
|
+
</li>
|
25
|
+
<li class="<%= is_active_controller('phcpress/modules/categories') %> treeview">
|
26
|
+
<%= link_to "#" do %>
|
27
|
+
<i class="fa fa-sitemap"></i> <span>Categories</span>
|
28
|
+
<span class="pull-right-container">
|
29
|
+
<i class="fa fa-angle-left pull-right"></i>
|
30
|
+
</span>
|
31
|
+
<% end %>
|
32
|
+
<ul class="treeview-menu">
|
33
|
+
<li class="">
|
34
|
+
<%= link_to modules_categories_path do %>
|
35
|
+
<i class="fa fa-circle-o"></i>
|
36
|
+
Category List
|
37
|
+
<% end %>
|
38
|
+
</li>
|
39
|
+
<li class="">
|
40
|
+
<%= link_to new_modules_category_path do %>
|
41
|
+
<i class="fa fa-circle-o"></i>
|
42
|
+
New Category
|
43
|
+
<% end %>
|
44
|
+
</li>
|
45
|
+
</ul>
|
46
|
+
</li>
|
47
|
+
</ul>
|
48
|
+
</section>
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<!-- Mobile Toggle -->
|
2
|
-
<a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
|
3
|
-
<span class="sr-only">Toggle navigation</span>
|
4
|
-
</a>
|
5
|
-
<!-- Mobile Toggle -->
|
1
|
+
<!-- Mobile Toggle -->
|
2
|
+
<a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
|
3
|
+
<span class="sr-only">Toggle navigation</span>
|
4
|
+
</a>
|
5
|
+
<!-- Mobile Toggle -->
|
@@ -1,57 +1,57 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
|
4
|
-
<head>
|
5
|
-
|
6
|
-
<title>PHCPress - Rails CMS Engine</title>
|
7
|
-
|
8
|
-
<%= stylesheet_link_tag "phcpress/application", media: "all" %>
|
9
|
-
<%= javascript_include_tag "phcpress/application" %>
|
10
|
-
<%= csrf_meta_tags %>
|
11
|
-
|
12
|
-
</head>
|
13
|
-
|
14
|
-
<body class="hold-transition skin-blue sidebar-mini">
|
15
|
-
|
16
|
-
<div class="wrapper">
|
17
|
-
<div class="main_container">
|
18
|
-
|
19
|
-
<header class="main-header">
|
20
|
-
|
21
|
-
<!-- Logo with Link -->
|
22
|
-
<%= link_to phcpress.articles_posts_path, class: "logo" do %>
|
23
|
-
<span class="logo-mini">PHC</span>
|
24
|
-
<span class="logo-lg"><b>PHC</b>Press</span>
|
25
|
-
<% end %>
|
26
|
-
<!-- Logo with Link -->
|
27
|
-
|
28
|
-
<!-- Top Navbar -->
|
29
|
-
<nav class="navbar navbar-static-top">
|
30
|
-
<%= render 'layouts/components/backend/topbar/topbar' %>
|
31
|
-
</nav>
|
32
|
-
<!-- Top Navbar -->
|
33
|
-
|
34
|
-
</header>
|
35
|
-
|
36
|
-
<aside class="main-sidebar">
|
37
|
-
<%= render 'layouts/components/backend/navigation/navigation' %>
|
38
|
-
</aside>
|
39
|
-
|
40
|
-
<!-- Page Content -->
|
41
|
-
<div class="content-wrapper">
|
42
|
-
<%= yield %>
|
43
|
-
</div>
|
44
|
-
<!-- Page Content -->
|
45
|
-
|
46
|
-
</div>
|
47
|
-
</div>
|
48
|
-
|
49
|
-
<!-- Footer -->
|
50
|
-
<footer class="main-footer">
|
51
|
-
<%= render 'layouts/components/backend/footer/footer' %>
|
52
|
-
</footer>
|
53
|
-
<!-- Footer -->
|
54
|
-
|
55
|
-
</body>
|
56
|
-
|
57
|
-
</html>
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
|
4
|
+
<head>
|
5
|
+
|
6
|
+
<title>PHCPress - Rails CMS Engine</title>
|
7
|
+
|
8
|
+
<%= stylesheet_link_tag "phcpress/application", media: "all" %>
|
9
|
+
<%= javascript_include_tag "phcpress/application" %>
|
10
|
+
<%= csrf_meta_tags %>
|
11
|
+
|
12
|
+
</head>
|
13
|
+
|
14
|
+
<body class="hold-transition skin-blue sidebar-mini">
|
15
|
+
|
16
|
+
<div class="wrapper">
|
17
|
+
<div class="main_container">
|
18
|
+
|
19
|
+
<header class="main-header">
|
20
|
+
|
21
|
+
<!-- Logo with Link -->
|
22
|
+
<%= link_to phcpress.articles_posts_path, class: "logo" do %>
|
23
|
+
<span class="logo-mini">PHC</span>
|
24
|
+
<span class="logo-lg"><b>PHC</b>Press</span>
|
25
|
+
<% end %>
|
26
|
+
<!-- Logo with Link -->
|
27
|
+
|
28
|
+
<!-- Top Navbar -->
|
29
|
+
<nav class="navbar navbar-static-top">
|
30
|
+
<%= render 'layouts/components/backend/topbar/topbar' %>
|
31
|
+
</nav>
|
32
|
+
<!-- Top Navbar -->
|
33
|
+
|
34
|
+
</header>
|
35
|
+
|
36
|
+
<aside class="main-sidebar">
|
37
|
+
<%= render 'layouts/components/backend/navigation/navigation' %>
|
38
|
+
</aside>
|
39
|
+
|
40
|
+
<!-- Page Content -->
|
41
|
+
<div class="content-wrapper">
|
42
|
+
<%= yield %>
|
43
|
+
</div>
|
44
|
+
<!-- Page Content -->
|
45
|
+
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
|
49
|
+
<!-- Footer -->
|
50
|
+
<footer class="main-footer">
|
51
|
+
<%= render 'layouts/components/backend/footer/footer' %>
|
52
|
+
</footer>
|
53
|
+
<!-- Footer -->
|
54
|
+
|
55
|
+
</body>
|
56
|
+
|
57
|
+
</html>
|
@@ -1,24 +1,24 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
|
4
|
-
<head>
|
5
|
-
|
6
|
-
<title>PHCPress - Rails CMS Engine</title>
|
7
|
-
|
8
|
-
<%= stylesheet_link_tag "phcpress/application", media: "all" %>
|
9
|
-
<%= javascript_include_tag "phcpress/application" %>
|
10
|
-
<%= csrf_meta_tags %>
|
11
|
-
|
12
|
-
</head>
|
13
|
-
|
14
|
-
<body class="hold-transition skin-blue sidebar-mini">
|
15
|
-
|
16
|
-
<!-- Page Content -->
|
17
|
-
<div class="content-wrapper">
|
18
|
-
<%= yield %>
|
19
|
-
</div>
|
20
|
-
<!-- Page Content -->
|
21
|
-
|
22
|
-
</body>
|
23
|
-
|
24
|
-
</html>
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
|
4
|
+
<head>
|
5
|
+
|
6
|
+
<title>PHCPress - Rails CMS Engine</title>
|
7
|
+
|
8
|
+
<%= stylesheet_link_tag "phcpress/application", media: "all" %>
|
9
|
+
<%= javascript_include_tag "phcpress/application" %>
|
10
|
+
<%= csrf_meta_tags %>
|
11
|
+
|
12
|
+
</head>
|
13
|
+
|
14
|
+
<body class="hold-transition skin-blue sidebar-mini">
|
15
|
+
|
16
|
+
<!-- Page Content -->
|
17
|
+
<div class="content-wrapper">
|
18
|
+
<%= yield %>
|
19
|
+
</div>
|
20
|
+
<!-- Page Content -->
|
21
|
+
|
22
|
+
</body>
|
23
|
+
|
24
|
+
</html>
|