Platinum SEO Pack - Version 2.2.8

Version Description

2020-12-28 - Made some alterations to 404 Manager and Redirections Manager to make it more user friendly. Included an option to retrieve all Posts in Redirections manager. one can also filter the Posts based on Post name or WordPress title. This would make it easier to create redirections in bulk for Posts (all post types). Restricted the filtering option to Posts while Redirected URLs may only be retrieved as a whole (All option). The same also applies to Redirection logs which are created for Redirected URLs if one chooses to log the redirect. The log entries can be deleted as a whole or selectively.

Download this release

Release Info

Developer Rajesh Babu
Plugin Icon 128x128 Platinum SEO Pack
Version 2.2.8
Comparing to
See all releases

Code changes from version 2.2.7 to 2.2.8

Changelog.txt CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  = 2.2.7 =
2
  2020-12-23 - in the export import utility, added a message to indicate the number of rows imported. This will help users to know whether all the rows in the file have been imported. Further, added translational options for the various headers and messages.
3
 
1
+ = 2.2.8 =
2
+ 2020-12-28 - Made some alterations to 404 Manager and Redirections Manager to make it more user friendly. Included an option to retrieve all Posts in Redirections manager. one can also filter the Posts based on Post name or WordPress title. This would make it easier to create redirections in bulk for Posts (all post types). Restricted the filtering option to Posts while Redirected URLs may only be retrieved as a whole (All option). The same also applies to Redirection logs which are created for Redirected URLs if one chooses to log the redirect. The log entries can be deleted as a whole or selectively.
3
+
4
  = 2.2.7 =
5
  2020-12-23 - in the export import utility, added a message to indicate the number of rows imported. This will help users to know whether all the rows in the file have been imported. Further, added translational options for the various headers and messages.
6
 
platinum-seo-pack.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Platinum SEO Pack
5
  Plugin URI: https://techblissonline.com/platinum-wordpress-seo-plugin/
6
  Description: Complete SEO and Social optimization solution for your Wordpress blog/site. It is Simple, Uncomplicated and User friendly with several useful features.
7
- Version: 2.2.7
8
  Author: Techblissonline.com (Rajesh)
9
  Author URI: https://techblissonline.com/
10
  Text Domain: platinum-seo-pack
4
  Plugin Name: Platinum SEO Pack
5
  Plugin URI: https://techblissonline.com/platinum-wordpress-seo-plugin/
6
  Description: Complete SEO and Social optimization solution for your Wordpress blog/site. It is Simple, Uncomplicated and User friendly with several useful features.
7
+ Version: 2.2.8
8
  Author: Techblissonline.com (Rajesh)
9
  Author URI: https://techblissonline.com/
10
  Text Domain: platinum-seo-pack
psp-include/settings/js/psp-redirect.js CHANGED
@@ -1,5 +1,5 @@
1
  jQuery(document).ready(function($) {
2
-
3
  jQuery('#psp_action').on('change', function (){
4
 
5
  $( "#psp-edit-div" ).slideUp( "slow", function() {
@@ -48,13 +48,31 @@ jQuery(document).ready(function($) {
48
  });
49
  jQuery('#psp_redir_type').on('change', function (){
50
 
51
- if($(this).val() !== '') {
52
- $('select[id="psp_filter"]').find('option[value=""]').text("All");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  } else {
54
- $('select[id="psp_filter"]').find('option[value=""]').text("Redirected");
55
  }
56
 
57
- if($(this).val() !== $("#pspredirtype").val()) {
58
  $( "#psp-edit-div" ).slideUp( "slow");
59
  $("#psp_action").val('');
60
  $("#psp_action").addClass('hidden');
@@ -67,6 +85,7 @@ jQuery(document).ready(function($) {
67
  }
68
 
69
  });
 
70
  $('#cancelit').on('click', function (){
71
  $( "#psp-edit-div" ).slideUp( "slow", function() {
72
  $("#psp-edit-div").addClass('hidden');
@@ -74,18 +93,28 @@ jQuery(document).ready(function($) {
74
  $("#cancelit").addClass('hidden');
75
  });
76
  })
77
- if($('#psp_filter').val() === '') {
78
  $( "#pspsearchfield" ).addClass('hidden');
79
- } else {
80
- $( "#pspsearchfield" ).removeClass('hidden');
81
- }
 
 
 
 
 
 
 
82
  jQuery('#psp_filter').on('change', function (){
83
- if($(this).val() === '') {
84
  $( "#pspsearchfield" ).addClass('hidden');
85
  } else {
86
  $( "#pspsearchfield" ).removeClass('hidden');
87
  }
88
  });
 
 
 
89
  if (jQuery('#ipaddress-hide').is(":not(:checked)")) {
90
  $( "#ipaddress" ).addClass('hidden');
91
  $( ".ipaddress" ).addClass('hidden');
1
  jQuery(document).ready(function($) {
2
+
3
  jQuery('#psp_action').on('change', function (){
4
 
5
  $( "#psp-edit-div" ).slideUp( "slow", function() {
48
  });
49
  jQuery('#psp_redir_type').on('change', function (){
50
 
51
+ // if($(this).val() !== '') {
52
+ // $('select[id="psp_filter"]').find('option[value=""]').text("All");
53
+ //} else {
54
+ // $('select[id="psp_filter"]').find('option[value=""]').text("Redirected");
55
+ //}
56
+
57
+ if($(this).val() !== '') {
58
+ $('select[id="psp_filter"]').find('option[value="redirected"]').remove();
59
+ $('#psp_filter').val('');
60
+ $("#psp_filter").prop("disabled", true);
61
+ $( "#pspsearchfield" ).addClass('hidden');
62
+ } else {
63
+ $('select[id="psp_filter"]').append('<option value="redirected">Redirected</option>');
64
+ $('#psp_filter').val('');
65
+ $("#psp_filter").prop("disabled", false);
66
+ //$( "#pspsearchfield" ).removeClass('hidden');
67
+ }
68
+
69
+ if($(this).val() === 'pspurls') {
70
+ $("#psp_action").append('<option id="addnew" value="addnew">Add New</option>');
71
  } else {
72
+ $("#psp_action").find('option[value="addnew"]').remove();
73
  }
74
 
75
+ if($(this).val() !== $("#pspredirtype").val()) {
76
  $( "#psp-edit-div" ).slideUp( "slow");
77
  $("#psp_action").val('');
78
  $("#psp_action").addClass('hidden');
85
  }
86
 
87
  });
88
+
89
  $('#cancelit').on('click', function (){
90
  $( "#psp-edit-div" ).slideUp( "slow", function() {
91
  $("#psp-edit-div").addClass('hidden');
93
  $("#cancelit").addClass('hidden');
94
  });
95
  })
96
+ if($('#psp_filter').val() === '' || $('#psp_filter').val() === 'redirected') {
97
  $( "#pspsearchfield" ).addClass('hidden');
98
+ } else {
99
+ $( "#pspsearchfield" ).removeClass('hidden');
100
+ }
101
+ if($('#psp_redir_type').val() !== '') {
102
+ $('#psp_filter').val("");
103
+ $('#post-search-input').val("");
104
+ $( "#pspsearchfield" ).addClass('hidden');
105
+ $("#psp_filter").prop("disabled", true);
106
+ }
107
+
108
  jQuery('#psp_filter').on('change', function (){
109
+ if($('#psp_filter').val() === '' || $('#psp_filter').val() === 'redirected') {
110
  $( "#pspsearchfield" ).addClass('hidden');
111
  } else {
112
  $( "#pspsearchfield" ).removeClass('hidden');
113
  }
114
  });
115
+ jQuery('#psp_filter').on('change', function (){
116
+ $('#post-search-input').val("");
117
+ });
118
  if (jQuery('#ipaddress-hide').is(":not(:checked)")) {
119
  $( "#ipaddress" ).addClass('hidden');
120
  $( ".ipaddress" ).addClass('hidden');
psp-include/settings/psp_404_list_renderer.php CHANGED
@@ -39,7 +39,8 @@ a.page-numbers:hover {
39
 
40
  <input type="hidden" name="page" id="page" value="manager404">
41
  <div id="pspredirmethod" class="alignleft">
42
- <select id="psp_404_type" name="psp_404_type"><?php $dditems = array('' => 'All Errors', 'all_with_referrers' => 'Errors with referrers only','all_404' => 'All 404s', 'all_410' => 'All 410s', 'all_404_with_referrers' => 'All 404s with referrers', 'all_410_with_referrers' => 'All 410s with referrers');
 
43
  foreach($dditems as $key => $val) {
44
  $selected = (isset($_GET['psp_404_type']) && $_GET['psp_404_type']==$key) ? 'selected="selected"' : '';
45
  echo "<option value='".esc_attr($key)."' ".esc_attr($selected).">".esc_html($val)."</option>";
@@ -51,7 +52,7 @@ a.page-numbers:hover {
51
  echo "<option value='".esc_attr($key)."' ".esc_attr($selected).">".esc_html($val)."</option>";
52
  } ?></select></div>
53
  <div id="pspsearchfield" class="alignleft hidden">
54
- <input type="search" name="post-search-input" id="post-search-input" value="<?php echo (isset($_GET['post-search-input']) ? esc_attr(sanitize_text_field($_GET['post-search-input'])) : ''); ?>">
55
  </div>
56
 
57
  <div id="searchitdiv" class="alignleft"><input type="submit" name="searchit" id="searchit" class="button-secondary search" value="Search"></div>
39
 
40
  <input type="hidden" name="page" id="page" value="manager404">
41
  <div id="pspredirmethod" class="alignleft">
42
+ <select id="psp_404_type" name="psp_404_type"><?php //$dditems = array('' => 'All Errors', 'all_with_referrers' => 'Errors with referrers only','all_404' => 'All 404s', 'all_410' => 'All 410s', 'all_404_with_referrers' => 'All 404s with referrers', 'all_410_with_referrers' => 'All 410s with referrers');
43
+ $dditems = array('' => 'All Errors', 'all_404' => 'All 404s', 'all_410' => 'All 410s');
44
  foreach($dditems as $key => $val) {
45
  $selected = (isset($_GET['psp_404_type']) && $_GET['psp_404_type']==$key) ? 'selected="selected"' : '';
46
  echo "<option value='".esc_attr($key)."' ".esc_attr($selected).">".esc_html($val)."</option>";
52
  echo "<option value='".esc_attr($key)."' ".esc_attr($selected).">".esc_html($val)."</option>";
53
  } ?></select></div>
54
  <div id="pspsearchfield" class="alignleft hidden">
55
+ <input type="search" style="width:240px;" placeholder="Enter text in Request Path(Name)" name="post-search-input" id="post-search-input" value="<?php echo (isset($_GET['post-search-input']) ? esc_attr(sanitize_text_field($_GET['post-search-input'])) : ''); ?>">
56
  </div>
57
 
58
  <div id="searchitdiv" class="alignleft"><input type="submit" name="searchit" id="searchit" class="button-secondary search" value="Search"></div>
psp-include/settings/psp_redirect_404.php CHANGED
@@ -573,7 +573,7 @@ class PspRedirections {
573
  if ($_GET['psp_filter'] == "equals") {
574
 
575
  $psp_like = "equals";
576
- }
577
 
578
  }
579
 
@@ -583,7 +583,7 @@ class PspRedirections {
583
  $sql_posts_2 = $wpdb->prepare("SELECT a.ID AS psp_id, a.post_name AS psp_post_name FROM $tbl_posts a WHERE a.post_name LIKE %s", $psp_like );
584
  if ($psp_like == "equals") {
585
  $sql_posts_2 = $wpdb->prepare("SELECT a.ID AS psp_id, a.post_name AS psp_post_name FROM $tbl_posts a WHERE a.post_name = %s", $psp_search );
586
- }
587
  } else if($psp_redir_type == "pspurls") {
588
  //$sql_posts_2 = $wpdb-prepare("SELECT a.id AS psp_id, a.source_url AS psp_post_name, a.dest_url AS psp_redirect, a.redir_code AS psp_redirect_code FROM %s a WHERE a.source_url LIKE %s", array( $psp_redirections_tbl, $psp_like ));
589
  $sql_posts_2 = $wpdb->prepare("SELECT a.id AS psp_id, a.source_url AS psp_post_name, a.dest_url AS psp_redirect, a.redir_code AS psp_redirect_code, a.log_redirect as psp_log FROM $psp_redirections_tbl a WHERE a.source_url LIKE %s", $psp_like );
@@ -623,7 +623,8 @@ class PspRedirections {
623
 
624
  }
625
 
626
- } else if ( empty($_GET['psp_filter']) ) {
 
627
 
628
  if (empty($psp_redir_type)) {
629
 
@@ -643,11 +644,35 @@ class PspRedirections {
643
  if (empty($psp_redir_type)) {
644
  $posts_list = $wpdb->get_results($sql_posts_1, OBJECT);
645
  } else {
646
- if($wpdb->get_var("show tables like '$psp_redirections_tbl'") == $psp_redirections_tbl)
647
- {
648
  $posts_list = $wpdb->get_results($sql_posts_1, OBJECT);
649
- }
650
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
651
  }
652
 
653
  $total_no_posts = count($posts_list);
573
  if ($_GET['psp_filter'] == "equals") {
574
 
575
  $psp_like = "equals";
576
+ }
577
 
578
  }
579
 
583
  $sql_posts_2 = $wpdb->prepare("SELECT a.ID AS psp_id, a.post_name AS psp_post_name FROM $tbl_posts a WHERE a.post_name LIKE %s", $psp_like );
584
  if ($psp_like == "equals") {
585
  $sql_posts_2 = $wpdb->prepare("SELECT a.ID AS psp_id, a.post_name AS psp_post_name FROM $tbl_posts a WHERE a.post_name = %s", $psp_search );
586
+ }
587
  } else if($psp_redir_type == "pspurls") {
588
  //$sql_posts_2 = $wpdb-prepare("SELECT a.id AS psp_id, a.source_url AS psp_post_name, a.dest_url AS psp_redirect, a.redir_code AS psp_redirect_code FROM %s a WHERE a.source_url LIKE %s", array( $psp_redirections_tbl, $psp_like ));
589
  $sql_posts_2 = $wpdb->prepare("SELECT a.id AS psp_id, a.source_url AS psp_post_name, a.dest_url AS psp_redirect, a.redir_code AS psp_redirect_code, a.log_redirect as psp_log FROM $psp_redirections_tbl a WHERE a.source_url LIKE %s", $psp_like );
623
 
624
  }
625
 
626
+ //} else if ( empty($_GET['psp_filter']) ) {
627
+ } else if ( !empty($_GET['psp_filter']) && $_GET['psp_filter'] == "redirected" ) {
628
 
629
  if (empty($psp_redir_type)) {
630
 
644
  if (empty($psp_redir_type)) {
645
  $posts_list = $wpdb->get_results($sql_posts_1, OBJECT);
646
  } else {
647
+ //if( $wpdb->get_var("show tables like '$psp_redirections_tbl'") == $psp_redirections_tbl)
648
+ //{
649
  $posts_list = $wpdb->get_results($sql_posts_1, OBJECT);
650
+ //}
651
  }
652
+ //} else if ( $_GET['psp_filter'] == "all" ) {
653
+ } else if ( empty($_GET['psp_filter']) ) {
654
+
655
+ if (empty($psp_redir_type)) {
656
+ $sql_posts_2 = "SELECT a.ID AS psp_id, a.post_name AS psp_post_name FROM $tbl_posts a";
657
+ $posts_list = $wpdb->get_results($sql_posts_2, OBJECT);
658
+ error_log("posts array ".print_r($posts_list, 'n'));
659
+ } else {
660
+ if($psp_redir_type == "pspurls") {
661
+
662
+ $sql_posts_1 = "SELECT a.id AS psp_id, a.source_url AS psp_post_name, a.dest_url AS psp_redirect, a.redir_code AS psp_redirect_code, a.log_redirect as psp_log FROM $psp_redirections_tbl a";
663
+ if($wpdb->get_var("show tables like '$psp_redirections_tbl'") == $psp_redirections_tbl)
664
+ {
665
+ $posts_list = $wpdb->get_results($sql_posts_1, OBJECT);
666
+ }
667
+ } else if($psp_redir_type == "psplogs") {
668
+
669
+ $sql_posts_1 = "SELECT a.id AS psp_id, a.source_url AS psp_post_name, a.dest_url AS psp_redirect, a.redir_code AS psp_redirect_code, a.referrer as psp_referrer, a.ipaddress as psp_ipaddress, a.user_agent as psp_useragent FROM $psp_redirections_log a";
670
+ if($wpdb->get_var("show tables like '$psp_redirections_log'") == $psp_redirections_log)
671
+ {
672
+ $posts_list = $wpdb->get_results($sql_posts_1, OBJECT);
673
+ }
674
+ }
675
+ }
676
  }
677
 
678
  $total_no_posts = count($posts_list);
psp-include/settings/psp_redirect_list_renderer.php CHANGED
@@ -54,7 +54,7 @@ a.check:hover {
54
  } ?></select></div>
55
  <div id="pspfilter" class="alignleft">
56
  <select id="psp_filter" name="psp_filter"><?php if ($psp_redir_type == '') {
57
- $dditems = array('' => 'Redirected', 'equals' => 'Equal to', 'contains' => 'that Contain', 'starts-with' => 'that Start with', 'ends-with' => 'that End With');
58
  } else {
59
  $dditems = array('' => 'All', 'equals' => 'Equal to', 'contains' => 'that Contain', 'starts-with' => 'that Start with', 'ends-with' => 'that End With');
60
  }
54
  } ?></select></div>
55
  <div id="pspfilter" class="alignleft">
56
  <select id="psp_filter" name="psp_filter"><?php if ($psp_redir_type == '') {
57
+ $dditems = array('' => 'All', 'equals' => 'Equal to', 'contains' => 'that Contain', 'starts-with' => 'that Start with', 'ends-with' => 'that End With', 'redirected' => 'Redirected', );
58
  } else {
59
  $dditems = array('' => 'All', 'equals' => 'Equal to', 'contains' => 'that Contain', 'starts-with' => 'that Start with', 'ends-with' => 'that End With');
60
  }
psp-include/settings/psp_tools_renderer.php CHANGED
@@ -185,9 +185,20 @@ do {
185
 
186
  $wpdb->query("TRUNCATE TABLE {$psp_post_seo_tbl}");
187
  $psp_query .= implode(', ', $place_holders);
188
- $wpdb->query( $wpdb->prepare("$psp_query", $psp_values));
 
 
 
 
 
 
 
 
 
 
 
189
 
190
- $message = esc_html__( 'Platinum SEO Meta Data of '. count($place_holders) . ' Rows successfully imported!', 'platinum-seo-pack');
191
  add_settings_error('psp_tools_renderer', 'success', esc_html( $message), 'success');
192
  break;
193
  } else if ($psp_options_file_uploaded) {
@@ -195,9 +206,20 @@ do {
195
  $wpdb->query("DELETE FROM {$psp_options_tbl} WHERE option_name like 'psp_%'");
196
  $psp_query = "INSERT INTO {$psp_options_tbl} (option_id, option_name, option_value, autoload) VALUES ";
197
  $psp_query .= implode(', ', $place_holders);
198
- $wpdb->query( $wpdb->prepare("$psp_query", $psp_values));
 
 
 
 
 
 
 
 
 
 
 
199
 
200
- $message = esc_html__( 'Platinum SEO Options Data of '. count($place_holders) . ' Rows successfully imported!', 'platinum-seo-pack');
201
  add_settings_error('psp_tools_renderer', 'success', esc_html( $message), 'success');
202
  break;
203
 
185
 
186
  $wpdb->query("TRUNCATE TABLE {$psp_post_seo_tbl}");
187
  $psp_query .= implode(', ', $place_holders);
188
+ //$wpdb->query( $wpdb->prepare("$psp_query", $psp_values));
189
+
190
+ if ( false === $wpdb->query( $wpdb->prepare("$psp_query", $psp_values)) ) {
191
+ if ( $wpdb->last_error ) {
192
+ //return new WP_Error( 'db_query_error', __( 'Could not execute query' ), $wpdb->last_error );
193
+ $message = esc_html__( 'Could not execute Platinum SEO Meta data mport query - '. $wpdb->last_error, 'platinum-seo-pack');
194
+ } else {
195
+ $message = esc_html__( 'Could not execute Platinum SEO Meta data import query!', 'platinum-seo-pack');
196
+ }
197
+ } else {
198
+ $message = esc_html__( 'Platinum SEO Meta Data of '. count($place_holders) . ' Rows successfully imported!', 'platinum-seo-pack');
199
+ }
200
 
201
+ //$message = esc_html__( 'Platinum SEO Meta Data of '. count($place_holders) . ' Rows successfully imported!', 'platinum-seo-pack');
202
  add_settings_error('psp_tools_renderer', 'success', esc_html( $message), 'success');
203
  break;
204
  } else if ($psp_options_file_uploaded) {
206
  $wpdb->query("DELETE FROM {$psp_options_tbl} WHERE option_name like 'psp_%'");
207
  $psp_query = "INSERT INTO {$psp_options_tbl} (option_id, option_name, option_value, autoload) VALUES ";
208
  $psp_query .= implode(', ', $place_holders);
209
+ //$wpdb->query( $wpdb->prepare("$psp_query", $psp_values));
210
+
211
+ if ( false === $wpdb->query( $wpdb->prepare("$psp_query", $psp_values)) ) {
212
+ if ( $wpdb->last_error ) {
213
+ //return new WP_Error( 'db_query_error', __( 'Could not execute query' ), $wpdb->last_error );
214
+ $message = esc_html__( 'Could not execute Platinum SEO Options data import query - '. $wpdb->last_error, 'platinum-seo-pack');
215
+ } else {
216
+ $message = esc_html__( 'Could not execute Platinum SEO Options data import query!', 'platinum-seo-pack');
217
+ }
218
+ } else {
219
+ $message = esc_html__( 'Platinum SEO Options Data of '. count($place_holders) . ' Rows successfully imported!', 'platinum-seo-pack');
220
+ }
221
 
222
+ //$message = esc_html__( 'Platinum SEO Options Data of '. count($place_holders) . ' Rows successfully imported!', 'platinum-seo-pack');
223
  add_settings_error('psp_tools_renderer', 'success', esc_html( $message), 'success');
224
  break;
225
 
psp-include/utilities/psp_helper.php CHANGED
@@ -19,7 +19,7 @@ class PspHelper {
19
  * as description. Touch only if you know what you're doing
20
  */
21
  private $min_description_length = 1;
22
- private $version = "2.2.7";
23
 
24
  public $sitename = "";
25
  public $sitedescription = "";
19
  * as description. Touch only if you know what you're doing
20
  */
21
  private $min_description_length = 1;
22
+ private $version = "2.2.8";
23
 
24
  public $sitename = "";
25
  public $sitedescription = "";
psp_main.php CHANGED
@@ -287,14 +287,14 @@ class PspMain {
287
  $user_id = get_current_user_id();
288
  // Add the meta so that the notice is permanently dismissed.
289
  //delete_user_meta( $user_id, 'psp_ignore_notice_v_209' );
290
- update_user_meta( $user_id, 'psp_ignore_notice', "v_227" );
291
  };
292
  };
293
  }
294
 
295
  public function platinum_seo_admin_notice__success() {
296
  $user_id = get_current_user_id();
297
- if ( "v_227" === trim(get_user_meta( $user_id, 'psp_ignore_notice', true ) )) return;
298
  global $pagenow;
299
  $psp_pages = array('platinum-seo-social-pack-by-techblissonline', 'psp-social-by-techblissonline', 'psp-tools-by-techblissonline', 'pspp-licenses');
300
  if ('index.php' === $pagenow || ( $pagenow == 'admin.php' && in_array(sanitize_key($_GET['page']), $psp_pages))) {
@@ -304,7 +304,7 @@ class PspMain {
304
  'psp_ignore_notice' => '1',
305
  'action' => 'psp_delete_adminnotice',
306
  'nonce' => wp_create_nonce('psp_delete_adminnotice'),
307
- ] ) ) .'" style="float:right; display:block; border:none;">'.esc_html__( 'Dismiss permanently', 'platinum-seo-pack' ) .'</a>'.'<br>'. esc_html__( 'See What has Changed in this', 'platinum-seo-pack' ).'<a href="https://techblissonline.com/platinum-wordpress-seo-plugin/#what-is-new" target="_blank" rel="noopener"> '.esc_html__( ' Version ', 'platinum-seo-pack' ).'2.2.7'.esc_html__( ' and earlier Versions!', 'platinum-seo-pack' ) .'</a>'.'<br>'.esc_html__( 'Like this Plugin? Pls. give it a rating on WordPress', 'platinum-seo-pack' ).'<a href="https://wordpress.org/support/plugin/platinum-seo-pack/reviews/#new-post" target="_blank" rel="noopener">'.esc_html__(' here','platinum-seo-pack' ).'</a>'; ?></p></strong>
308
  </div>
309
  <?php
310
  }
287
  $user_id = get_current_user_id();
288
  // Add the meta so that the notice is permanently dismissed.
289
  //delete_user_meta( $user_id, 'psp_ignore_notice_v_209' );
290
+ update_user_meta( $user_id, 'psp_ignore_notice', "v_228" );
291
  };
292
  };
293
  }
294
 
295
  public function platinum_seo_admin_notice__success() {
296
  $user_id = get_current_user_id();
297
+ if ( "v_228" === trim(get_user_meta( $user_id, 'psp_ignore_notice', true ) )) return;
298
  global $pagenow;
299
  $psp_pages = array('platinum-seo-social-pack-by-techblissonline', 'psp-social-by-techblissonline', 'psp-tools-by-techblissonline', 'pspp-licenses');
300
  if ('index.php' === $pagenow || ( $pagenow == 'admin.php' && in_array(sanitize_key($_GET['page']), $psp_pages))) {
304
  'psp_ignore_notice' => '1',
305
  'action' => 'psp_delete_adminnotice',
306
  'nonce' => wp_create_nonce('psp_delete_adminnotice'),
307
+ ] ) ) .'" style="float:right; display:block; border:none;">'.esc_html__( 'Dismiss permanently', 'platinum-seo-pack' ) .'</a>'.'<br>'. esc_html__( 'See What has Changed in this', 'platinum-seo-pack' ).'<a href="https://techblissonline.com/platinum-wordpress-seo-plugin/#what-is-new" target="_blank" rel="noopener"> '.esc_html__( ' Version ', 'platinum-seo-pack' ).'2.2.8'.esc_html__( ' and earlier Versions!', 'platinum-seo-pack' ) .'</a>'.'<br>'.esc_html__( 'Like this Plugin? Pls. give it a rating on WordPress', 'platinum-seo-pack' ).'<a href="https://wordpress.org/support/plugin/platinum-seo-pack/reviews/#new-post" target="_blank" rel="noopener">'.esc_html__(' here','platinum-seo-pack' ).'</a>'; ?></p></strong>
308
  </div>
309
  <?php
310
  }
readme.txt CHANGED
@@ -6,7 +6,7 @@ Tags: seo, wordpress seo, plugin, google seo, platinum seo, schema, schema marku
6
  Requires at least: 4.0
7
  Tested up to: 5.6
8
  Requires PHP: 5.6
9
- Stable tag: 2.2.7
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -75,6 +75,9 @@ Please read these **[FAQs](https://techblissonline.com/platinum-seo-pack-faq/)**
75
  4. Social Settings for Facebook, Twitter, Pinterest and LinkedIn. Generates Open Grah Tags and Twitter compatible Tags.
76
 
77
  == Changelog ==
 
 
 
78
  = 2.2.7 =
79
  2020-12-23 - in the export import utility, added a message to indicate the number of rows imported. This will help users to know whether all the rows in the file have been imported. Further, added translational options for the various headers and messages.
80
 
6
  Requires at least: 4.0
7
  Tested up to: 5.6
8
  Requires PHP: 5.6
9
+ Stable tag: 2.2.8
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
75
  4. Social Settings for Facebook, Twitter, Pinterest and LinkedIn. Generates Open Grah Tags and Twitter compatible Tags.
76
 
77
  == Changelog ==
78
+ = 2.2.8 =
79
+ 2020-12-28 - Made some alterations to 404 Manager and Redirections Manager to make it more user friendly. Included an option to retrieve all Posts in Redirections manager. one can also filter the Posts based on Post name or WordPress title. This would make it easier to create redirections in bulk for Posts (all post types). Restricted the filtering option to Posts while Redirected URLs may only be retrieved as a whole (All option). The same also applies to Redirection logs which are created for Redirected URLs if one chooses to log the redirect. The log entries can be deleted as a whole or selectively.
80
+
81
  = 2.2.7 =
82
  2020-12-23 - in the export import utility, added a message to indicate the number of rows imported. This will help users to know whether all the rows in the file have been imported. Further, added translational options for the various headers and messages.
83