phcdevworks_core_modules 0.3.0 → 4.0.0

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/phcdevworks_core_modules/marketing/optimizations.coffee +3 -0
  3. data/app/assets/javascripts/phcdevworks_core_modules/post/categories.coffee +3 -0
  4. data/app/assets/stylesheets/phcdevworks_core_modules/marketing/optimizations.scss +3 -0
  5. data/app/assets/stylesheets/phcdevworks_core_modules/post/categories.scss +3 -0
  6. data/app/assets/stylesheets/scaffolds.scss +65 -0
  7. data/app/controllers/phcdevworks_core_modules/marketing/optimizations_controller.rb +81 -0
  8. data/app/controllers/phcdevworks_core_modules/post/categories_controller.rb +81 -0
  9. data/app/helpers/phcdevworks_core_modules/marketing/optimizations_helper.rb +4 -0
  10. data/app/helpers/phcdevworks_core_modules/{modules → post}/categories_helper.rb +1 -1
  11. data/app/models/phcdevworks_core_modules/marketing.rb +7 -0
  12. data/app/models/phcdevworks_core_modules/marketing/optimization.rb +54 -0
  13. data/app/models/phcdevworks_core_modules/marketing_optimization_versions.rb +5 -0
  14. data/app/models/phcdevworks_core_modules/post.rb +7 -0
  15. data/app/models/phcdevworks_core_modules/post/category.rb +43 -0
  16. data/app/models/phcdevworks_core_modules/post_category_versions.rb +5 -0
  17. data/app/views/layouts/phcdevworks_core_modules/components/backend/navigation/_top_menu.html.erb +1 -1
  18. data/app/views/layouts/phcdevworks_core_modules/components/backend/sidebars/_side_menu.html.erb +75 -80
  19. data/app/views/phcdevworks_core_modules/marketing/optimizations/_form.html.erb +87 -0
  20. data/app/views/phcdevworks_core_modules/marketing/optimizations/edit.html.erb +47 -0
  21. data/app/views/phcdevworks_core_modules/marketing/optimizations/index.html.erb +88 -0
  22. data/app/views/phcdevworks_core_modules/marketing/optimizations/new.html.erb +47 -0
  23. data/app/views/phcdevworks_core_modules/marketing/optimizations/show.html.erb +49 -0
  24. data/app/views/phcdevworks_core_modules/{modules → post}/categories/_form.html.erb +10 -5
  25. data/app/views/phcdevworks_core_modules/{modules → post}/categories/edit.html.erb +2 -2
  26. data/app/views/phcdevworks_core_modules/{modules → post}/categories/index.html.erb +7 -7
  27. data/app/views/phcdevworks_core_modules/{modules → post}/categories/new.html.erb +2 -2
  28. data/app/views/phcdevworks_core_modules/post/categories/show.html.erb +9 -0
  29. data/config/routes.rb +11 -6
  30. data/db/migrate/20170517064427_create_phcdevworks_core_modules_post_category_versions.rb +17 -0
  31. data/db/migrate/20200705223718_create_phcdevworks_core_modules_marketing_optimizations.rb +26 -0
  32. data/db/migrate/20200705225433_create_phcdevworks_core_modules_marketing_optimization_versions.rb +17 -0
  33. data/db/migrate/20200706094820_create_phcdevworks_core_modules_post_categories.rb +17 -0
  34. data/lib/phcdevworks_core_modules/engine.rb +1 -1
  35. data/lib/phcdevworks_core_modules/version.rb +1 -1
  36. metadata +34 -16
  37. data/app/controllers/phcdevworks_core_modules/modules/categories_controller.rb +0 -81
  38. data/app/models/phcdevworks_core_modules/core_category_versions.rb +0 -5
  39. data/app/models/phcdevworks_core_modules/modules/category.rb +0 -27
  40. data/app/views/phcdevworks_core_modules/modules/categories/show.html.erb +0 -9
  41. data/db/migrate/20170517064427_create_phcdevworks_core_category_versions.rb +0 -17
  42. data/db/migrate/20200629113153_create_phcdevworks_core_modules_modules_categories.rb +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3989aa177d661f6c934179aa9be6885bb89949a6afafb9aaaa2dbaea5d9675a3
4
- data.tar.gz: 4e1ba34f7c038e9a044da36d5f319f577ae647ae9db5b63ac0edee1e0ce90694
3
+ metadata.gz: 62a7c0e3b836856dece9403e91a82c744952588583ca19648180d063c9d49392
4
+ data.tar.gz: 66941932957bc90eca62ca1f951a96692eee354e9c85e4fc05e5dc160f509a13
5
5
  SHA512:
6
- metadata.gz: 9b89b62b6063114e599883020e854c69af2292afd30f2c09a227980231121f0c411b61fa9cbebbef2158762f7af80ab08341a567da64e999f967fb96ea2b65cf
7
- data.tar.gz: ba259218f00bfbce8f2da3d49272dbb0ae35a93dfd51489d2ccf7320eee2efbc582cbf0e03102b748864f30a7a9e45843980d81701cf9773022e4c035accf7c4
6
+ metadata.gz: 73f70fb86f8b1095b4d69ae813c935d4aec15a34561214624cce14e790046d406fa2aca5691803162617cd07eca9da16a8375fdb45fda4dd575db5fc62f5dd9f
7
+ data.tar.gz: a68547e3c3d75fea5298e849c026165be78d98f2d4978fd8cfcfbfc51a1d1ce6f03816c60b9f5018adbc2c032f81b5e39ca02c76b1c30ea011380dc025b7e2cd
@@ -0,0 +1,3 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -0,0 +1,3 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -0,0 +1,3 @@
1
+ // Place all the styles related to the marketing::optimizations controller here.
2
+ // They will automatically be included in application.css.
3
+ // You can use Sass (SCSS) here: https://sass-lang.com/
@@ -0,0 +1,3 @@
1
+ // Place all the styles related to the post::categories controller here.
2
+ // They will automatically be included in application.css.
3
+ // You can use Sass (SCSS) here: https://sass-lang.com/
@@ -0,0 +1,65 @@
1
+ body {
2
+ background-color: #fff;
3
+ color: #333;
4
+ margin: 33px; }
5
+
6
+ body, p, ol, ul, td {
7
+ font-family: verdana, arial, helvetica, sans-serif;
8
+ font-size: 13px;
9
+ line-height: 18px; }
10
+
11
+ pre {
12
+ background-color: #eee;
13
+ padding: 10px;
14
+ font-size: 11px; }
15
+
16
+ a {
17
+ color: #000; }
18
+
19
+ a:visited {
20
+ color: #666; }
21
+
22
+ a:hover {
23
+ color: #fff;
24
+ background-color: #000; }
25
+
26
+ th {
27
+ padding-bottom: 5px; }
28
+
29
+ td {
30
+ padding: 0 5px 7px; }
31
+
32
+ div.field,
33
+ div.actions {
34
+ margin-bottom: 10px; }
35
+
36
+ #notice {
37
+ color: green; }
38
+
39
+ .field_with_errors {
40
+ padding: 2px;
41
+ background-color: red;
42
+ display: table; }
43
+
44
+ #error_explanation {
45
+ width: 450px;
46
+ border: 2px solid red;
47
+ padding: 7px 7px 0;
48
+ margin-bottom: 20px;
49
+ background-color: #f0f0f0; }
50
+
51
+ #error_explanation h2 {
52
+ text-align: left;
53
+ font-weight: bold;
54
+ padding: 5px 5px 5px 15px;
55
+ font-size: 12px;
56
+ margin: -7px -7px 0;
57
+ background-color: #c00;
58
+ color: #fff; }
59
+
60
+ #error_explanation ul li {
61
+ font-size: 12px;
62
+ list-style: square; }
63
+
64
+ label {
65
+ display: block; }
@@ -0,0 +1,81 @@
1
+ require_dependency "phcdevworks_core_modules/application_controller"
2
+
3
+ module PhcdevworksCoreModules
4
+ class Marketing::OptimizationsController < ApplicationController
5
+
6
+ # Filters & Security
7
+ #include PhcdevworksCore::PhcpluginsHelper
8
+ before_action :authenticate_user!
9
+ before_action :set_paper_trail_whodunnit
10
+ before_action :set_marketing_optimization, only: [:show, :edit, :update, :destroy]
11
+
12
+ # GET /marketing/optimizations
13
+ def index
14
+ @marketing_optimizations = Marketing::Optimization.order('seo_title ASC')
15
+ end
16
+
17
+ # GET /marketing/optimizations/1
18
+ def show
19
+ end
20
+
21
+ # GET /marketing/optimizations/new
22
+ def new
23
+ @marketing_optimization = Marketing::Optimization.new
24
+ end
25
+
26
+ # GET /marketing/optimizations/1/edit
27
+ def edit
28
+ end
29
+
30
+ # POST /marketing/optimizations
31
+ def create
32
+ @marketing_optimization = Marketing::Optimization.new(marketing_optimization_params)
33
+ @marketing_optimization.user_id = current_user.id
34
+ @marketing_optimization.org_id = current_user.org_id
35
+ respond_to do |format|
36
+ if @marketing_optimization.save
37
+ format.html { redirect_to marketing_optimizations_path, :flash => { :success => 'SEO Attributes has been Added.' }}
38
+ format.json { render :show, status: :created, location: @marketing_optimization }
39
+ else
40
+ format.html { render :new }
41
+ format.json { render json: @marketing_optimization.errors, status: :unprocessable_entity }
42
+ end
43
+ end
44
+ end
45
+
46
+ # PATCH/PUT /marketing/optimizations/1
47
+ def update
48
+ respond_to do |format|
49
+ if @marketing_optimization.update(marketing_optimization_params)
50
+ format.html { redirect_to marketing_optimizations_path, :flash => { :notice => 'Tutorial has been Updated.' }}
51
+ format.json { render :show, status: :ok, location: @marketing_optimization }
52
+ else
53
+ format.html { render :edit }
54
+ format.json { render json: @marketing_optimization.errors, status: :unprocessable_entity }
55
+ end
56
+ end
57
+ end
58
+
59
+ # DELETE /marketing/optimizations/1
60
+ def destroy
61
+ @marketing_optimization.destroy
62
+ respond_to do |format|
63
+ format.html { redirect_to marketing_optimizations_path, :flash => { :error => 'SEO Attributes and Post Connections have all been Removed.' }}
64
+ format.json { head :no_content }
65
+ end
66
+ end
67
+
68
+ private
69
+
70
+ # Common Callbacks
71
+ def set_marketing_optimization
72
+ @marketing_optimization = Marketing::Optimization.find(params[:id])
73
+ end
74
+
75
+ # Whitelist
76
+ def marketing_optimization_params
77
+ params.require(:marketing_optimization).permit(:seo_title, :seo_description, :seo_open_graph_post_type, :seo_open_graph_url, :seo_open_graph_title, :seo_open_graph_description, :seo_open_graph_image, :seo_twitter_post_type, :seo_twitter_url, :seo_twitter_title, :seo_twitter_description, :seo_twitter_image, :slug, :user_id, :org_id)
78
+ end
79
+
80
+ end
81
+ end
@@ -0,0 +1,81 @@
1
+ require_dependency "phcdevworks_core_modules/application_controller"
2
+
3
+ module PhcdevworksCoreModules
4
+ class Post::CategoriesController < ApplicationController
5
+
6
+ # Filters & Security
7
+ #include PhcdevworksCore::PhcpluginsHelper
8
+ before_action :authenticate_user!
9
+ before_action :set_paper_trail_whodunnit
10
+ before_action :set_post_category, only: [:show, :edit, :update, :destroy]
11
+
12
+ # GET /post/categories
13
+ def index
14
+ @post_categories = Post::Category.order('category_name ASC')
15
+ end
16
+
17
+ # GET /post/categories/1
18
+ def show
19
+ end
20
+
21
+ # GET /post/categories/new
22
+ def new
23
+ @post_category = Post::Category.new
24
+ end
25
+
26
+ # GET /post/categories/1/edit
27
+ def edit
28
+ end
29
+
30
+ # POST /post/categories
31
+ def create
32
+ @post_category = Post::Category.new(post_category_params)
33
+ @post_category.user_id = current_user.id
34
+ @post_category.org_id = current_user.org_id
35
+ respond_to do |format|
36
+ if @post_category.save
37
+ format.html { redirect_to post_categories_path, :flash => { :success => 'Category has been Added.' }}
38
+ format.json { render :show, status: :created, location: @post_category }
39
+ else
40
+ format.html { render :new }
41
+ format.json { render json: @post_category.errors, status: :unprocessable_entity }
42
+ end
43
+ end
44
+ end
45
+
46
+ # PATCH/PUT /post/categories/1
47
+ def update
48
+ respond_to do |format|
49
+ if @post_category.update(post_category_params)
50
+ format.html { redirect_to post_categories_path, :flash => { :notice => 'Category has been Updated.' }}
51
+ format.json { render :show, status: :ok, location: @post_category }
52
+ else
53
+ format.html { render :edit }
54
+ format.json { render json: @post_category.errors, status: :unprocessable_entity }
55
+ end
56
+ end
57
+ end
58
+
59
+ # DELETE /post/categories/1
60
+ def destroy
61
+ @post_category.destroy
62
+ respond_to do |format|
63
+ format.html { redirect_to post_categories_path, :flash => { :error => 'Categories and Category Connections have all been Removed.' }}
64
+ format.json { head :no_content }
65
+ end
66
+ end
67
+
68
+ private
69
+
70
+ # Common Callbacks
71
+ def set_post_category
72
+ @post_category = Post::Category.find(params[:id])
73
+ end
74
+
75
+ # Whitelist
76
+ def post_category_params
77
+ params.require(:post_category).permit(:category_name, :slug, :optimization_id, :user_id, :org_id)
78
+ end
79
+
80
+ end
81
+ end
@@ -0,0 +1,4 @@
1
+ module PhcdevworksCoreModules
2
+ module Marketing::OptimizationsHelper
3
+ end
4
+ end
@@ -1,4 +1,4 @@
1
1
  module PhcdevworksCoreModules
2
- module Modules::CategoriesHelper
2
+ module Post::CategoriesHelper
3
3
  end
4
4
  end
@@ -0,0 +1,7 @@
1
+ module PhcdevworksCoreModules
2
+ module Marketing
3
+ def self.table_name_prefix
4
+ 'phcdevworks_core_modules_marketing_'
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,54 @@
1
+ module PhcdevworksCoreModules
2
+ class Marketing::Optimization < ApplicationRecord
3
+
4
+ # Clean URL Initialize
5
+ extend FriendlyId
6
+
7
+ # Image Upload
8
+ has_one_attached :seo_twitter_image
9
+ has_one_attached :seo_open_graph_image
10
+
11
+ # Paper Trail Initialize
12
+ has_paper_trail :class_name => "PhcdevworksCoreModules::MarketingOptimizationVersions"
13
+
14
+ # Relationships for Local
15
+ belongs_to :user, class_name: "PhcdevworksAccounts::User"
16
+ has_many :categories, class_name: "PhcdevworksCoreModules::Post::Category"
17
+
18
+ # Relationships for PHCDevworks Plugins
19
+ if defined?phcdevworks_members
20
+ has_many :listings, class_name: "PhcdevworksMembers::Member::Listing"
21
+ end
22
+ if defined?phcdevworks_scripts
23
+ has_many :listings, class_name: "PhcdevworksScripts::Script::Listing"
24
+ end
25
+ if defined?phcdevworks_press
26
+ has_many :posts, class_name: "PhcdevworksPress::Article::Post"
27
+ end
28
+ if defined?phcdevworks_portfolio
29
+ has_many :posts, class_name: "PhcdevworksPortfolio::Project::Post"
30
+ end
31
+ if defined?phcdevworks_tutorials
32
+ has_many :posts, class_name: "PhcdevworksTutorials::Tutorial::Post"
33
+ has_many :posts, class_name: "PhcdevworksTutorials::Command::Post"
34
+ end
35
+
36
+ # Form Fields Validation
37
+ validates :seo_title,
38
+ presence: true
39
+
40
+ validates :seo_open_graph_title,
41
+ presence: true
42
+
43
+ validates :seo_twitter_title,
44
+ presence: true
45
+
46
+ # Clean URL Define
47
+ friendly_id :phcdev_core_optimization_nice_urls, use: [:slugged, :finders]
48
+
49
+ def phcdev_core_optimization_nice_urls
50
+ [:seo_title].join("-")
51
+ end
52
+
53
+ end
54
+ end
@@ -0,0 +1,5 @@
1
+ module PhcdevworksCoreModules
2
+ class MarketingOptimizationVersions < PaperTrail::Version
3
+ self.table_name = :phcdevworks_core_modules_marketing_optimization_versions
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ module PhcdevworksCoreModules
2
+ module Post
3
+ def self.table_name_prefix
4
+ 'phcdevworks_core_modules_post_'
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,43 @@
1
+ module PhcdevworksCoreModules
2
+ class Post::Category < ApplicationRecord
3
+
4
+ # Clean URL Initialize
5
+ extend FriendlyId
6
+
7
+ # Image Upload
8
+ has_one_attached :seo_twitter_image
9
+ has_one_attached :seo_open_graph_image
10
+
11
+ # Paper Trail Initialize
12
+ has_paper_trail :class_name => "PhcdevworksCoreModules::PostCategoryVersions"
13
+
14
+ # Relationships for Local
15
+ belongs_to :user, class_name: "PhcdevworksAccounts::User"
16
+ belongs_to :optimization, class_name: "PhcdevworksCoreModules::Marketing::Optimization", optional: true
17
+
18
+ # Relationships for PHCDevworks Plugins
19
+ if defined?phcdevworks_press
20
+ has_and_belongs_to_many :posts, class_name: "PhcdevworksPress::Article::Post", :join_table => "phcdevworks_press_categories_posts", :dependent => :destroy
21
+ end
22
+ if defined?phcdevworks_portfolio
23
+ has_and_belongs_to_many :posts, class_name: "PhcdevworksPortfolio::Project::Post", :join_table => "phcdevworks_portfolio_categories_posts", :dependent => :destroy
24
+ end
25
+ if defined?phcdevworks_tutorials
26
+ has_and_belongs_to_many :posts, class_name: "PhcdevworksTutorials::Tutorial::Post", :join_table => "phcdevworks_tutorials_categories_posts", :dependent => :destroy
27
+ has_and_belongs_to_many :posts, class_name: "PhcdevworksTutorials::Command::Post", :join_table => "phcdevworks_tutorials_categories_commands", :dependent => :destroy
28
+ end
29
+
30
+ # Form Fields Validation
31
+ validates :category_name,
32
+ presence: true,
33
+ uniqueness: true
34
+
35
+ # Clean URL Define
36
+ friendly_id :phcdev_core_category_nice_urls, use: [:slugged, :finders]
37
+
38
+ def phcdev_core_category_nice_urls
39
+ [:category_name]
40
+ end
41
+
42
+ end
43
+ end
@@ -0,0 +1,5 @@
1
+ module PhcdevworksCoreModules
2
+ class PostCategoryVersions < PaperTrail::Version
3
+ self.table_name = :phcdevworks_core_modules_post_category_versions
4
+ end
5
+ end
@@ -1,7 +1,7 @@
1
1
  <!-- -PHC- Topbar - Navigation Header -->
2
2
  <div class="navbar-header">
3
3
 
4
- <%= link_to phcdevworks_core_modules.modules_categories_path, class: "navbar-brand" do %>
4
+ <%= link_to phcdevworks_core_modules.post_categories_path, class: "navbar-brand" do %>
5
5
  <strong>PHCDevworks</strong>Press
6
6
  <% end %>
7
7
 
@@ -38,33 +38,21 @@
38
38
  <!-- -PHC- Sidebar - Sidebar Navigation -->
39
39
  <ul class="nav">
40
40
 
41
- <% if defined?phcdevworks_members %>
42
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Members -->
43
- <li class="nav-header">Membership Manager</li>
44
- <li class="has-sub">
45
- <a href="javascript:;">
46
- <b class="caret"></b>
47
- <i class="fad fa-users"></i>
48
- <span>Member"s Data</span>
49
- </a>
50
- <ul class="sub-menu">
51
- <li class="<%= phc_menu_active_controller("phcdevworks_members/member/profiles") %>"><%= link_to("Profile Index", phcdevworks_members.member_profiles_path) %></li>
52
- <li class="<%= phc_menu_active_controller("phcdevworks_members/member/profiles#new") %>"><%= link_to("New Member Profile", phcdevworks_members.new_member_profile_path) %></li>
53
- </ul>
54
- </li>
55
- <li class="nav-header">Member"s Directory</li>
41
+ <% if defined?phcdevworks_press %>
42
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
43
+ <li class="nav-header">Articles & Blogging</li>
56
44
  <li class="has-sub">
57
45
  <a href="javascript:;">
58
46
  <b class="caret"></b>
59
- <i class="fad fa-list-alt"></i>
60
- <span>Member"s Directory</span>
47
+ <i class="fad fa-newspaper"></i>
48
+ <span>Article Posts</span>
61
49
  </a>
62
50
  <ul class="sub-menu">
63
- <li class="<%= phc_menu_active_controller("phcdevworks_members/directory/categories") %>"><%= link_to("Directory Index", phcdevworks_members.directory_categories_path) %></li>
64
- <li class="<%= phc_menu_active_controller("phcdevworks_members/directory/categories#new") %>"><%= link_to("New Directory Listing", phcdevworks_members.new_directory_category_path) %></li>
51
+ <li class="<%= phc_menu_active_controller("phcdevworks_press/article/posts") %>"><%= link_to("Article Index", phcdevworks_press.article_posts_path) %></li>
52
+ <li class="<%= phc_menu_active_controller("phcdevworks_press/article/posts#new") %>"><%= link_to("New Aritcle", phcdevworks_press.new_article_post_path) %></li>
65
53
  </ul>
66
54
  </li>
67
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Members -->
55
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
68
56
  <% end %>
69
57
 
70
58
  <% if defined?phcdevworks_portfolio %>
@@ -81,57 +69,104 @@
81
69
  <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts#new") %>"><%= link_to("New Project", phcdevworks_portfolio.new_project_post_path) %></li>
82
70
  </ul>
83
71
  </li>
72
+ <li class="has-sub">
73
+ <a href="javascript:;">
74
+ <b class="caret"></b>
75
+ <i class="fad fa-folders"></i>
76
+ <span>Project Types</span>
77
+ </a>
78
+ <ul class="sub-menu">
79
+ <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts") %>"><%= link_to("Project Type", phcdevworks_portfolio.project_types_path) %></li>
80
+ <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts#new") %>"><%= link_to("New Types", phcdevworks_portfolio.new_project_type_path) %></li>
81
+ </ul>
82
+ </li>
83
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
84
+ <% end %>
85
+
86
+ <% if defined?phcdevworks_tutorials %>
87
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Tutorials -->
88
+ <li class="nav-header">Tutorial Posts</li>
89
+ <li class="has-sub">
90
+ <a href="javascript:;">
91
+ <b class="caret"></b>
92
+ <i class="fad fa-chalkboard-teacher"></i>
93
+ <span>Tutorial Posts</span>
94
+ </a>
95
+ <ul class="sub-menu">
96
+ <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/posts") %>"><%= link_to "Tutorial Index", phcdevworks_tutorials.tutorial_posts_path %></li>
97
+ <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/posts#new") %>"><%= link_to "New Tutorial", phcdevworks_tutorials.new_tutorial_post_path %></li>
98
+ </ul>
99
+ </li>
100
+ <li class="nav-header">Command Lists & Items</li>
101
+ <li class="has-sub">
102
+ <a href="javascript:;">
103
+ <b class="caret"></b>
104
+ <i class="fad fa-terminal"></i>
105
+ <span>Command Lists</span>
106
+ </a>
107
+ <ul class="sub-menu">
108
+ <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/command/posts") %>"><%= link_to "List Index", phcdevworks_tutorials.command_posts_path %></li>
109
+ <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/command/posts#new") %>"><%= link_to "New List", phcdevworks_tutorials.new_command_post_path %></li>
110
+ </ul>
111
+ </li>
112
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Tutorials -->
113
+ <% end %>
114
+
115
+ <% if defined?phcdevworks_core_modules %>
116
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Core Modules -->
117
+ <li class="nav-header">Core Modules</li>
84
118
  <li class="has-sub">
85
119
  <a href="javascript:;">
86
120
  <b class="caret"></b>
87
121
  <i class="fad fa-sitemap"></i>
88
- <span>Project Categories</span>
122
+ <span>Categories</span>
89
123
  </a>
90
124
  <ul class="sub-menu">
91
- <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts") %>"><%= link_to("Project Category", phcdevworks_portfolio.project_categories_path) %></li>
92
- <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts#new") %>"><%= link_to("New Category", phcdevworks_portfolio.new_project_category_path) %></li>
125
+ <li class="<%= phc_menu_active_controller("phcdevworks_core_modules/post/categories") %>"><%= link_to("Category Index", phcdevworks_core_modules.post_categories_path) %></li>
126
+ <li class="<%= phc_menu_active_controller("phcdevworks_core_modules/post/categories#new") %>"><%= link_to("New Category", phcdevworks_core_modules.new_post_category_path) %></li>
93
127
  </ul>
94
128
  </li>
95
129
  <li class="has-sub">
96
130
  <a href="javascript:;">
97
131
  <b class="caret"></b>
98
- <i class="fad fa-folders"></i>
99
- <span>Project Types</span>
132
+ <i class="fad fa-analytics"></i>
133
+ <span>Marketing</span>
100
134
  </a>
101
135
  <ul class="sub-menu">
102
- <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts") %>"><%= link_to("Project Type", phcdevworks_portfolio.project_types_path) %></li>
103
- <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts#new") %>"><%= link_to("New Types", phcdevworks_portfolio.new_project_type_path) %></li>
136
+ <li class="<%= phc_menu_active_controller("phcdevworks_core_modules/marketing/optimizations") %>"><%= link_to("SEO Data Index", phcdevworks_core_modules.marketing_optimizations_path) %></li>
137
+ <li class="<%= phc_menu_active_controller("phcdevworks_core_modules/marketing/optimizations#new") %>"><%= link_to("Add SEO Data", phcdevworks_core_modules.new_marketing_optimization_path) %></li>
104
138
  </ul>
105
139
  </li>
106
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
140
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Core Modules -->
107
141
  <% end %>
108
142
 
109
- <% if defined?phcdevworks_press %>
110
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
111
- <li class="nav-header">Articles & Blogging</li>
143
+ <% if defined?phcdevworks_members %>
144
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Members -->
145
+ <li class="nav-header">Membership Manager</li>
112
146
  <li class="has-sub">
113
147
  <a href="javascript:;">
114
148
  <b class="caret"></b>
115
- <i class="fad fa-newspaper"></i>
116
- <span>Article Posts</span>
149
+ <i class="fad fa-users"></i>
150
+ <span>Member"s Data</span>
117
151
  </a>
118
152
  <ul class="sub-menu">
119
- <li class="<%= phc_menu_active_controller("phcdevworks_press/article/posts") %>"><%= link_to("Article Index", phcdevworks_press.article_posts_path) %></li>
120
- <li class="<%= phc_menu_active_controller("phcdevworks_press/article/posts#new") %>"><%= link_to("New Aritcle", phcdevworks_press.new_article_post_path) %></li>
153
+ <li class="<%= phc_menu_active_controller("phcdevworks_members/member/profiles") %>"><%= link_to("Profile Index", phcdevworks_members.member_profiles_path) %></li>
154
+ <li class="<%= phc_menu_active_controller("phcdevworks_members/member/profiles#new") %>"><%= link_to("New Member Profile", phcdevworks_members.new_member_profile_path) %></li>
121
155
  </ul>
122
156
  </li>
157
+ <li class="nav-header">Member"s Directory</li>
123
158
  <li class="has-sub">
124
159
  <a href="javascript:;">
125
160
  <b class="caret"></b>
126
- <i class="fad fa-sitemap"></i>
127
- <span>Article Categories</span>
161
+ <i class="fad fa-list-alt"></i>
162
+ <span>Member"s Directory</span>
128
163
  </a>
129
164
  <ul class="sub-menu">
130
- <li class="<%= phc_menu_active_controller("phcdevworks_press/article/categories") %>"><%= link_to("Category Index", phcdevworks_press.article_categories_path) %></li>
131
- <li class="<%= phc_menu_active_controller("phcdevworks_press/article/categories#new") %>"><%= link_to("New Category", phcdevworks_press.new_article_category_path) %></li>
165
+ <li class="<%= phc_menu_active_controller("phcdevworks_members/modules/categories") %>"><%= link_to("Directory Index", phcdevworks_members.directory_categories_path) %></li>
166
+ <li class="<%= phc_menu_active_controller("phcdevworks_members/modules/categories#new") %>"><%= link_to("New Directory Listing", phcdevworks_members.new_directory_category_path) %></li>
132
167
  </ul>
133
168
  </li>
134
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
169
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Members -->
135
170
  <% end %>
136
171
 
137
172
  <% if defined?phcdevworks_scripts %>
@@ -203,46 +238,6 @@
203
238
  <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks RealEstate -->
204
239
  <% end %>
205
240
 
206
- <% if defined?phcdevworks_tutorials %>
207
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Tutorials -->
208
- <li class="nav-header">Tutorial Posts</li>
209
- <li class="has-sub">
210
- <a href="javascript:;">
211
- <b class="caret"></b>
212
- <i class="fad fa-chalkboard-teacher"></i>
213
- <span>Tutorial Posts</span>
214
- </a>
215
- <ul class="sub-menu">
216
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/posts") %>"><%= link_to "Tutorial Index", phcdevworks_tutorials.tutorial_posts_path %></li>
217
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/posts#new") %>"><%= link_to "New Tutorial", phcdevworks_tutorials.new_tutorial_post_path %></li>
218
- </ul>
219
- </li>
220
- <li class="has-sub">
221
- <a href="javascript:;">
222
- <b class="caret"></b>
223
- <i class="fad fa-sitemap"></i>
224
- <span>Tutorial Categories</span>
225
- </a>
226
- <ul class="sub-menu">
227
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/categories") %>"><%= link_to "Category Index", phcdevworks_tutorials.tutorial_categories_path %></li>
228
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/categories#new") %>"><%= link_to "New Category", phcdevworks_tutorials.new_tutorial_category_path %></li>
229
- </ul>
230
- </li>
231
- <li class="nav-header">Command Lists & Items</li>
232
- <li class="has-sub">
233
- <a href="javascript:;">
234
- <b class="caret"></b>
235
- <i class="fad fa-terminal"></i>
236
- <span>Command Lists</span>
237
- </a>
238
- <ul class="sub-menu">
239
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/command/posts") %>"><%= link_to "List Index", phcdevworks_tutorials.command_posts_path %></li>
240
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/command/posts#new") %>"><%= link_to "New List", phcdevworks_tutorials.new_command_post_path %></li>
241
- </ul>
242
- </li>
243
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Tutorials -->
244
- <% end %>
245
-
246
241
  <% if current_user && current_user.admin? %>
247
242
  <!-- -PHC- Sidebar - Sidebar Navigation - PHCAccounts Admin Options -->
248
243
  <li class="nav-header">User Administration</li>