phcdevworks_core_modules 0.2.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) 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/core_category_versions.rb +1 -1
  12. data/app/models/phcdevworks_core_modules/core_optimization_versions.rb +5 -0
  13. data/app/models/phcdevworks_core_modules/marketing.rb +7 -0
  14. data/app/models/phcdevworks_core_modules/marketing/optimization.rb +54 -0
  15. data/app/models/phcdevworks_core_modules/post.rb +7 -0
  16. data/app/models/phcdevworks_core_modules/post/category.rb +44 -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_category_versions.rb +17 -0
  31. data/db/migrate/20200705223718_create_phcdevworks_core_modules_marketing_optimizations.rb +26 -0
  32. data/db/migrate/{20170517064427_create_phcdevworks_core_category_versions.rb → 20200705225433_create_phcdevworks_core_modules_optimization_versions.rb} +17 -17
  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 +33 -15
  37. data/app/controllers/phcdevworks_core_modules/modules/categories_controller.rb +0 -81
  38. data/app/models/phcdevworks_core_modules/modules/category.rb +0 -27
  39. data/app/views/phcdevworks_core_modules/modules/categories/show.html.erb +0 -9
  40. 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: 1eb1210caeeb2a8049d4adba865c7c47bba3437fe4db5ea9680b182addffcd3c
4
- data.tar.gz: 8ee125905db7174dedf7932b1939d6d25de1d0e9c1399850e3436d949979fb16
3
+ metadata.gz: 26a1d4b42d4f3a48e06cbb7b2dcfdc8a175af44eef7822c3a60ff431e9bb897f
4
+ data.tar.gz: f80048ced8e87031b052ba6207baabbd583d8dc85e4b00c0877f02faf2aa8b0f
5
5
  SHA512:
6
- metadata.gz: 455232dcd615dbbc4454b25dd5da8736981a833a1a2671785e831a2439d05cd47ddd1c0d2abdad8c2eae4350f76afc6e41deae86e584d63f389097e075e50239
7
- data.tar.gz: 778181262503e89be98bfced571ae776e5d1a73ca58016442358cc515fa2c22b7ed6ff6a30144497fa20066ea1fd2f671219035ac7823ef382359780bb108287
6
+ metadata.gz: ee875e01eca345a2a0db7bcbf19bd2a122151fc57c092e004bc3750ff5bcc1a67689c29c0084c72a42bf48359a36182b798a6cffc94a19827a091ba8e00a1bee
7
+ data.tar.gz: 7665795363e0f55ba1f6d3250cfd330e393b71364cb2b5ddb6579d9aca9784e5b335e98e41d3248a8367ff8758ead188f51d0cdf236fc83b31baeaeba1ea48fd
@@ -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
@@ -1,5 +1,5 @@
1
1
  module PhcdevworksCoreModules
2
2
  class CoreCategoryVersions < PaperTrail::Version
3
- self.table_name = :phcdevworks_core_category_versions
3
+ self.table_name = :phcdevworks_core_modules_category_versions
4
4
  end
5
5
  end
@@ -0,0 +1,5 @@
1
+ module PhcdevworksCoreModules
2
+ class CoreOptimizationVersions < PaperTrail::Version
3
+ self.table_name = :phcdevworks_core_modules_optimization_versions
4
+ end
5
+ 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::CoreOptimizationVersions"
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,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,44 @@
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::CoreCategoryVersions"
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
+
43
+ end
44
+ 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>