iQ Block Country - Version 1.1.34

Version Description

  • Change: Added WPRocket to list of caching plugins that are not compatible with iQ Block Country (thanks to Mike Reed for supplying the info)
  • New: Added Baidu to Search Engines list
  • New: Added Google Site Verification to the search engines list
  • New: Added Google Search Console to the search engines list
  • Change: Only displays warning about incompatible caching plugins in case frontend blocking is selected.
  • New: You can now also block individual post tags
  • Change: Fixed small security issue with downloading the statistics as CSV file (Thanks to Benjamin Pick for reporting)
Download this release

Release Info

Developer iqpascal
Plugin Icon 128x128 iQ Block Country
Version 1.1.34
Comparing to
See all releases

Code changes from version 1.1.33 to 1.1.34

iq-block-country.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: iQ Block Country
4
  Plugin URI: https://www.webence.nl/plugins/iq-block-country-the-wordpress-plugin-that-blocks-countries-for-you/
5
- Version: 1.1.33
6
  Author: Pascal
7
  Author URI: https://www.webence.nl/
8
  Description: Block visitors from visiting your website and backend website based on which country their IP address is from. The Maxmind GeoIP lite database is used for looking up from which country an ip address is from.
@@ -236,7 +236,7 @@ define("GEOIPAPIURLUS","http://us.geoip.webence.nl/geoipapi.php");
236
  define("GEOIPAPIURLASIA","http://asia.geoip.webence.nl/geoipapi.php");
237
  define("GEOIPAPICHECKURL","http://eu.geoip.webence.nl/geoipapi-keycheck.php");
238
  define("ADMINAPICHECKURL","http://tracking.webence.nl/adminapi-keycheck.php");
239
- define("VERSION","1.1.31");
240
  define("DBVERSION","121");
241
  define("PLUGINPATH",plugin_dir_path( __FILE__ ));
242
 
@@ -269,9 +269,15 @@ register_uninstall_hook(__file__, 'iqblockcountry_uninstall');
269
  /* Clean logging database */
270
  iqblockcountry_clean_db();
271
 
 
 
 
272
 
273
  if (isset($_POST['action']))
274
- {
 
 
 
275
  $iqaction = filter_var($_POST['action'],FILTER_SANITIZE_STRING);
276
  if ($iqaction == 'csvoutput') {
277
  global $wpdb;
@@ -293,6 +299,7 @@ if (isset($_POST['action']))
293
  echo $output;
294
  exit();
295
  }
 
296
  }
297
 
298
  $ip_address = iqblockcountry_get_ipaddress();
2
  /*
3
  Plugin Name: iQ Block Country
4
  Plugin URI: https://www.webence.nl/plugins/iq-block-country-the-wordpress-plugin-that-blocks-countries-for-you/
5
+ Version: 1.1.34
6
  Author: Pascal
7
  Author URI: https://www.webence.nl/
8
  Description: Block visitors from visiting your website and backend website based on which country their IP address is from. The Maxmind GeoIP lite database is used for looking up from which country an ip address is from.
236
  define("GEOIPAPIURLASIA","http://asia.geoip.webence.nl/geoipapi.php");
237
  define("GEOIPAPICHECKURL","http://eu.geoip.webence.nl/geoipapi-keycheck.php");
238
  define("ADMINAPICHECKURL","http://tracking.webence.nl/adminapi-keycheck.php");
239
+ define("VERSION","1.1.34");
240
  define("DBVERSION","121");
241
  define("PLUGINPATH",plugin_dir_path( __FILE__ ));
242
 
269
  /* Clean logging database */
270
  iqblockcountry_clean_db();
271
 
272
+ if(!function_exists('is_user_logged_in')) {
273
+ include(ABSPATH . "wp-includes/pluggable.php");
274
+ }
275
 
276
  if (isset($_POST['action']))
277
+ {
278
+
279
+ if (is_user_logged_in() && is_admin())
280
+ {
281
  $iqaction = filter_var($_POST['action'],FILTER_SANITIZE_STRING);
282
  if ($iqaction == 'csvoutput') {
283
  global $wpdb;
299
  echo $output;
300
  exit();
301
  }
302
+ }
303
  }
304
 
305
  $ip_address = iqblockcountry_get_ipaddress();
lang/en_EN.mo CHANGED
Binary file
lang/en_EN.po CHANGED
@@ -2,16 +2,16 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: iQ Block Country\n"
4
  "POT-Creation-Date: 2016-08-02 20:45+0100\n"
5
- "PO-Revision-Date: 2016-08-02 20:45+0100\n"
6
  "Last-Translator: Pascal <pascal@webence.nl>\n"
7
  "Language-Team: iQ Block Country <info@redeo.nl>\n"
8
- "Language: English\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.5.4\n"
13
  "X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n"
14
- "X-Poedit-Basepath: ../\n"
15
  "X-Poedit-SearchPath-0: libs\n"
16
  "X-Poedit-SearchPath-1: .\n"
17
 
2
  msgstr ""
3
  "Project-Id-Version: iQ Block Country\n"
4
  "POT-Creation-Date: 2016-08-02 20:45+0100\n"
5
+ "PO-Revision-Date: 2016-10-01 13:19+0200\n"
6
  "Last-Translator: Pascal <pascal@webence.nl>\n"
7
  "Language-Team: iQ Block Country <info@redeo.nl>\n"
8
+ "Language: en\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.8.7.1\n"
13
  "X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n"
14
+ "X-Poedit-Basepath: ..\n"
15
  "X-Poedit-SearchPath-0: libs\n"
16
  "X-Poedit-SearchPath-1: .\n"
17
 
lang/iqblockcountry-nl_NL.mo CHANGED
Binary file
lang/iqblockcountry-nl_NL.po CHANGED
@@ -2,16 +2,16 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: iQ Block Country\n"
4
  "POT-Creation-Date: 2016-08-02 20:45+0100\n"
5
- "PO-Revision-Date: 2016-08-02 20:47+0100\n"
6
  "Last-Translator: Pascal <pascal@webence.nl>\n"
7
  "Language-Team: iQ Block Country <info@redeo.nl>\n"
8
- "Language: Dutch\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.5.4\n"
13
  "X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n"
14
- "X-Poedit-Basepath: ../\n"
15
  "X-Poedit-SearchPath-0: libs\n"
16
  "X-Poedit-SearchPath-1: .\n"
17
 
@@ -131,7 +131,6 @@ msgid "Check IP address"
131
  msgstr "Controleer IP adres"
132
 
133
  #: libs/blockcountry-settings.php:333
134
- #, fuzzy
135
  msgid "Database information"
136
  msgstr "Database informatie"
137
 
@@ -583,14 +582,12 @@ msgstr ""
583
  "<em>toegestaan</em>."
584
 
585
  #: libs/blockcountry-settings.php:1040
586
- #, fuzzy
587
  msgid "Block tag pages:"
588
- msgstr "Blokkeer type"
589
 
590
  #: libs/blockcountry-settings.php:1041
591
- #, fuzzy
592
  msgid "If you select this option tag pages will be blocked."
593
- msgstr "Indien je deze optie niet selecteert worden alle pagina's geblokkeerd."
594
 
595
  #: libs/blockcountry-settings.php:1046
596
  msgid "Frontend whitelist IPv4 and/or IPv6 addresses:"
2
  msgstr ""
3
  "Project-Id-Version: iQ Block Country\n"
4
  "POT-Creation-Date: 2016-08-02 20:45+0100\n"
5
+ "PO-Revision-Date: 2016-10-01 13:22+0200\n"
6
  "Last-Translator: Pascal <pascal@webence.nl>\n"
7
  "Language-Team: iQ Block Country <info@redeo.nl>\n"
8
+ "Language: nl\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.8.7.1\n"
13
  "X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n"
14
+ "X-Poedit-Basepath: ..\n"
15
  "X-Poedit-SearchPath-0: libs\n"
16
  "X-Poedit-SearchPath-1: .\n"
17
 
131
  msgstr "Controleer IP adres"
132
 
133
  #: libs/blockcountry-settings.php:333
 
134
  msgid "Database information"
135
  msgstr "Database informatie"
136
 
582
  "<em>toegestaan</em>."
583
 
584
  #: libs/blockcountry-settings.php:1040
 
585
  msgid "Block tag pages:"
586
+ msgstr "Blokkeer tag pagina's"
587
 
588
  #: libs/blockcountry-settings.php:1041
 
589
  msgid "If you select this option tag pages will be blocked."
590
+ msgstr "Indien je deze optie selecteert worden tag pagina's geblokkeerd."
591
 
592
  #: libs/blockcountry-settings.php:1046
593
  msgid "Frontend whitelist IPv4 and/or IPv6 addresses:"
libs/blockcountry-checks.php CHANGED
@@ -100,6 +100,7 @@ function iqblockcountry_check($country,$badcountries,$ip_address)
100
  $blocked = FALSE;
101
  $blockedpage = get_option('blockcountry_blockpages');
102
  $blockedcategory = get_option('blockcountry_blockcategories');
 
103
  $blockedposttypes = get_option('blockcountry_blockposttypes');
104
  $blockedtag = get_option('blockcountry_blocktag');
105
 
@@ -223,6 +224,32 @@ function iqblockcountry_check($country,$badcountries,$ip_address)
223
  if ($flagged) { $blocked = TRUE; } else { $blocked = FALSE; }
224
  }
225
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  if (is_category() && $blockedcategory == "on")
227
  {
228
  $flagged = FALSE;
100
  $blocked = FALSE;
101
  $blockedpage = get_option('blockcountry_blockpages');
102
  $blockedcategory = get_option('blockcountry_blockcategories');
103
+ $blocktags = get_option('blockcountry_blocktags');
104
  $blockedposttypes = get_option('blockcountry_blockposttypes');
105
  $blockedtag = get_option('blockcountry_blocktag');
106
 
224
  if ($flagged) { $blocked = TRUE; } else { $blocked = FALSE; }
225
  }
226
 
227
+ if (is_single() && $blocktags == "on")
228
+ {
229
+ $previousblock = $blocked;
230
+ global $post;
231
+ $blockedtags = get_option('blockcountry_tags');
232
+ if (!is_array($blockedtags)) { $blockedtags = array(); }
233
+ $post_tags = get_the_tags($post->ID);
234
+ if (empty($post_tags)) { $post_tags = array();}
235
+ $flagged = FALSE;
236
+ foreach ($post_tags as $tag)
237
+ {
238
+ if (in_array($tag->term_id,$blockedtags))
239
+ {
240
+ if (is_single() && ((is_array ( $badcountries ) && in_array ( $country, $badcountries ) || (is_array ( $frontendblacklistip ) && in_array ( $ip_address, $frontendblacklistip)))))
241
+ {
242
+ $flagged = TRUE;
243
+ if (is_array ( $frontendwhitelistip ) && in_array ( $ip_address, $frontendwhitelistip)) {
244
+ $flagged = FALSE;
245
+ }
246
+ }
247
+ }
248
+ }
249
+ if ($flagged || $previousblock == TRUE) { $blocked = TRUE; } else { $blocked = FALSE; }
250
+ }
251
+
252
+
253
  if (is_category() && $blockedcategory == "on")
254
  {
255
  $flagged = FALSE;
libs/blockcountry-search-engines.php CHANGED
@@ -3,6 +3,7 @@
3
  global $searchengines;
4
  $searchengines = array(
5
  "Ask" => "ask jeeves",
 
6
  "Bing" => "bingbot",
7
  "Bitly" => "bitlybot",
8
  "Cliqz" => "cliqzbot",
@@ -11,6 +12,8 @@ $searchengines = array(
11
  "Google" => "googlebot",
12
  "Google Ads" => "AdsBot-Google",
13
  "Google Page Speed Insight" => "Google Page Speed Insight",
 
 
14
  "Jetpack" => "Jetpack by WordPress.com",
15
  "MSN" => "msnbot",
16
  "TinEye" => "tineye-bot",
3
  global $searchengines;
4
  $searchengines = array(
5
  "Ask" => "ask jeeves",
6
+ "Baidu" => "Baiduspider",
7
  "Bing" => "bingbot",
8
  "Bitly" => "bitlybot",
9
  "Cliqz" => "cliqzbot",
12
  "Google" => "googlebot",
13
  "Google Ads" => "AdsBot-Google",
14
  "Google Page Speed Insight" => "Google Page Speed Insight",
15
+ "Google Search Console" => "Google Search Console",
16
+ "Google Site Verification" => "Google-Site-Verification",
17
  "Jetpack" => "Jetpack by WordPress.com",
18
  "MSN" => "msnbot",
19
  "TinEye" => "tineye-bot",
libs/blockcountry-settings.php CHANGED
@@ -166,6 +166,8 @@ function iqblockcountry_register_mysettings()
166
  register_setting ( 'iqblockcountry-settings-group-cat', 'blockcountry_blockcategories');
167
  register_setting ( 'iqblockcountry-settings-group-cat', 'blockcountry_categories');
168
  register_setting ( 'iqblockcountry-settings-group-cat', 'blockcountry_blockhome');
 
 
169
  register_setting ( 'iqblockcountry-settings-group-se', 'blockcountry_allowse');
170
  }
171
 
@@ -182,7 +184,7 @@ function iqblockcountry_get_options_arr() {
182
  'blockcountry_blockhome','blockcountry_nrstatistics','blockcountry_geoapikey','blockcountry_geoapilocation','blockcountry_apikey',
183
  'blockcountry_redirect','blockcountry_redirect_url','blockcountry_allowse','blockcountry_debuglogging','blockcountry_buffer',
184
  'blockcountry_accessibility','blockcountry_logging','blockcountry_blockposttypes','blockcountry_posttypes','blockcountry_blocksearch',
185
- 'blockcountry_adminajax','blockcountry_blocktag');
186
  return apply_filters( 'iqblockcountry_options', $optarr );
187
  }
188
 
@@ -252,6 +254,8 @@ function iqblockcountry_uninstall() //deletes all the database entries that the
252
  delete_option('blockcountry_blocksearch');
253
  delete_option('blockcountry_adminajax');
254
  delete_option('blockcountry_blocktag');
 
 
255
  }
256
 
257
 
@@ -843,6 +847,54 @@ function iqblockcountry_settings_categories() {
843
  <?php
844
  }
845
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
846
 
847
  /*
848
  * Function: Custom post type settings
@@ -906,7 +958,9 @@ function iqblockcountry_settings_searchengines() {
906
  <table class="form-table" cellspacing="2" cellpadding="5" width="100%">
907
  <tr valign="top">
908
  <th width="30%"><?php _e('Select which search engines you want to allow:', 'iq-block-country'); ?><br />
909
- <?php _e('This will allow a search engine to your site despite if you blocked the country.', 'iq-block-country'); ?></th>
 
 
910
  <td width="70%">
911
 
912
  <ul>
@@ -1542,7 +1596,7 @@ function iqblockcountry_settings_page() {
1542
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=backend" class="nav-tab <?php echo $active_tab == 'backend' ? 'nav-tab-active' : ''; ?>"><?php _e('Backend', 'iq-block-country'); ?></a>
1543
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=pages" class="nav-tab <?php echo $active_tab == 'pages' ? 'nav-tab-active' : ''; ?>"><?php _e('Pages', 'iq-block-country'); ?></a>
1544
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=categories" class="nav-tab <?php echo $active_tab == 'categories' ? 'nav-tab-active' : ''; ?>"><?php _e('Categories', 'iq-block-country'); ?></a>
1545
- <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=posttypes" class="nav-tab <?php echo $active_tab == 'posttypes' ? 'nav-tab-active' : ''; ?>"><?php _e('Post types', 'iq-block-country'); ?></a>
1546
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=searchengines" class="nav-tab <?php echo $active_tab == 'searchengines' ? 'nav-tab-active' : ''; ?>"><?php _e('Search Engines', 'iq-block-country'); ?></a>
1547
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=tools" class="nav-tab <?php echo $active_tab == 'tools' ? 'nav-tab-active' : ''; ?>"><?php _e('Tools', 'iq-block-country'); ?></a>
1548
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=logging" class="nav-tab <?php echo $active_tab == 'logging' ? 'nav-tab-active' : ''; ?>"><?php _e('Logging', 'iq-block-country'); ?></a>
@@ -1579,6 +1633,10 @@ function iqblockcountry_settings_page() {
1579
  {
1580
  iqblockcountry_settings_categories();
1581
  }
 
 
 
 
1582
  elseif ($active_tab == "posttypes")
1583
  {
1584
  iqblockcountry_settings_posttypes();
166
  register_setting ( 'iqblockcountry-settings-group-cat', 'blockcountry_blockcategories');
167
  register_setting ( 'iqblockcountry-settings-group-cat', 'blockcountry_categories');
168
  register_setting ( 'iqblockcountry-settings-group-cat', 'blockcountry_blockhome');
169
+ register_setting ( 'iqblockcountry-settings-group-tags', 'blockcountry_blocktags');
170
+ register_setting ( 'iqblockcountry-settings-group-tags', 'blockcountry_tags');
171
  register_setting ( 'iqblockcountry-settings-group-se', 'blockcountry_allowse');
172
  }
173
 
184
  'blockcountry_blockhome','blockcountry_nrstatistics','blockcountry_geoapikey','blockcountry_geoapilocation','blockcountry_apikey',
185
  'blockcountry_redirect','blockcountry_redirect_url','blockcountry_allowse','blockcountry_debuglogging','blockcountry_buffer',
186
  'blockcountry_accessibility','blockcountry_logging','blockcountry_blockposttypes','blockcountry_posttypes','blockcountry_blocksearch',
187
+ 'blockcountry_adminajax','blockcountry_blocktag','blockcountry_blocktags','blockcountry_tags');
188
  return apply_filters( 'iqblockcountry_options', $optarr );
189
  }
190
 
254
  delete_option('blockcountry_blocksearch');
255
  delete_option('blockcountry_adminajax');
256
  delete_option('blockcountry_blocktag');
257
+ delete_option('blockcountry_blocktags');
258
+ delete_option('blockcountry_tags');
259
  }
260
 
261
 
847
  <?php
848
  }
849
 
850
+ /*
851
+ * Function: Categories settings
852
+ */
853
+ function iqblockcountry_settings_tags() {
854
+ ?>
855
+ <h3><?php _e('Select which tags are blocked.', 'iq-block-country'); ?></h3>
856
+ <form method="post" action="options.php">
857
+ <?php
858
+ settings_fields ( 'iqblockcountry-settings-group-tags' );
859
+ ?>
860
+ <table class="form-table" cellspacing="2" cellpadding="5" width="100%">
861
+ <tr valign="top">
862
+ <th width="30%"><?php _e('Do you want to block individual tags:', 'iq-block-country'); ?><br />
863
+ <?php _e('If you do not select this option all blog articles will be blocked.', 'iq-block-country'); ?></th>
864
+ <td width="70%">
865
+ <input type="checkbox" name="blockcountry_blocktags" value="on" <?php checked('on', get_option('blockcountry_blocktags'), true); ?> />
866
+ </td></tr>
867
+ <tr valign="top">
868
+ <th width="30%"><?php _e('Select tags you want to block:', 'iq-block-country'); ?></th>
869
+ <td width="70%">
870
+
871
+ <ul>
872
+ <?php
873
+ $selectedtags = get_option('blockcountry_tags');
874
+ $tags = get_tags(array("hide_empty"=>0));
875
+ $selected = "";
876
+ foreach ( $tags as $tag ) {
877
+ if (is_array($selectedtags)) {
878
+ if ( in_array( $tag->term_id,$selectedtags) ) {
879
+ $selected = " checked=\"checked\"";
880
+ } else {
881
+ $selected = "";
882
+ }
883
+ }
884
+ echo "<li><input type=\"checkbox\" " . $selected . " name=\"blockcountry_tags[]\" value=\"" . $tag->term_id . "\" id=\"" . $tag->name . "\" /> <label for=\"" . $tag->name . "\">" . $tag->name . "</label></li>";
885
+ }
886
+ ?>
887
+ </td></tr>
888
+ <tr><td></td><td>
889
+ <p class="submit"><input type="submit" class="button-primary"
890
+ value="<?php _e ( 'Save Changes', 'iq-block-country' )?>" /></p>
891
+ </td></tr>
892
+ </table>
893
+ </form>
894
+
895
+ <?php
896
+ }
897
+
898
 
899
  /*
900
  * Function: Custom post type settings
958
  <table class="form-table" cellspacing="2" cellpadding="5" width="100%">
959
  <tr valign="top">
960
  <th width="30%"><?php _e('Select which search engines you want to allow:', 'iq-block-country'); ?><br />
961
+ <?php _e('This will allow a search engine to your site despite if you blocked the country.', 'iq-block-country'); ?><br />
962
+ <?php _e('Please note the "Search Engine Visibility" should not be selected in ', 'iq-block-country'); ?><a href="/wp-admin/options-reading.php"><?php _e('reading settings.', 'iq-block-country'); ?></a>
963
+ </th>
964
  <td width="70%">
965
 
966
  <ul>
1596
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=backend" class="nav-tab <?php echo $active_tab == 'backend' ? 'nav-tab-active' : ''; ?>"><?php _e('Backend', 'iq-block-country'); ?></a>
1597
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=pages" class="nav-tab <?php echo $active_tab == 'pages' ? 'nav-tab-active' : ''; ?>"><?php _e('Pages', 'iq-block-country'); ?></a>
1598
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=categories" class="nav-tab <?php echo $active_tab == 'categories' ? 'nav-tab-active' : ''; ?>"><?php _e('Categories', 'iq-block-country'); ?></a>
1599
+ <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=tags" class="nav-tab <?php echo $active_tab == 'categories' ? 'nav-tab-active' : ''; ?>"><?php _e('Tags', 'iq-block-country'); ?></a> <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=posttypes" class="nav-tab <?php echo $active_tab == 'posttypes' ? 'nav-tab-active' : ''; ?>"><?php _e('Post types', 'iq-block-country'); ?></a>
1600
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=searchengines" class="nav-tab <?php echo $active_tab == 'searchengines' ? 'nav-tab-active' : ''; ?>"><?php _e('Search Engines', 'iq-block-country'); ?></a>
1601
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=tools" class="nav-tab <?php echo $active_tab == 'tools' ? 'nav-tab-active' : ''; ?>"><?php _e('Tools', 'iq-block-country'); ?></a>
1602
  <a href="?page=iq-block-country/libs/blockcountry-settings.php&tab=logging" class="nav-tab <?php echo $active_tab == 'logging' ? 'nav-tab-active' : ''; ?>"><?php _e('Logging', 'iq-block-country'); ?></a>
1633
  {
1634
  iqblockcountry_settings_categories();
1635
  }
1636
+ elseif ($active_tab == "tags")
1637
+ {
1638
+ iqblockcountry_settings_tags();
1639
+ }
1640
  elseif ($active_tab == "posttypes")
1641
  {
1642
  iqblockcountry_settings_posttypes();
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: iqpascal
3
  Donate link: https://www.webence.nl/plugins/donate
4
  Tags: spam, block, country, comments, ban, geo, geo blocking, geo ip, block country, block countries, ban countries, ban country, blacklist, whitelist, security
5
  Requires at least: 3.5.2
6
- Tested up to: 4.5.3
7
- Stable tag: 1.1.33
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -47,7 +47,7 @@ The Wordpress license does not allow this plugin to download the MaxMind Geo dat
47
  page or the redirect. Resulting in valid visitors receiving a message that they are blocked. This is not a malfunction of this plugin.
48
 
49
  Disclaimer: No guarantees are made but after some light testing the following caching plugins seem to work: Comet Cache, WP Super Cache
50
- Plugins that do NOT work: W3 Total Cache, Hyper cache
51
 
52
  == Installation ==
53
 
@@ -200,9 +200,29 @@ Jetpack uses xmlrpc.php to communicate with your site. xmlrpc.php is considered
200
 
201
  You can allow Jetpack by selecting "Jetpack by wordpress.com" as a search engine on the search engines tab.
202
 
 
 
 
 
 
 
 
 
 
 
203
 
204
  == Changelog ==
205
 
 
 
 
 
 
 
 
 
 
 
206
  = 1.1.33 =
207
 
208
  * Bugfix: Bug smashed on tag page
3
  Donate link: https://www.webence.nl/plugins/donate
4
  Tags: spam, block, country, comments, ban, geo, geo blocking, geo ip, block country, block countries, ban countries, ban country, blacklist, whitelist, security
5
  Requires at least: 3.5.2
6
+ Tested up to: 4.6.1
7
+ Stable tag: 1.1.34
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
47
  page or the redirect. Resulting in valid visitors receiving a message that they are blocked. This is not a malfunction of this plugin.
48
 
49
  Disclaimer: No guarantees are made but after some light testing the following caching plugins seem to work: Comet Cache, WP Super Cache
50
+ Plugins that do NOT work: W3 Total Cache, Hyper cache, WPRocket
51
 
52
  == Installation ==
53
 
200
 
201
  You can allow Jetpack by selecting "Jetpack by wordpress.com" as a search engine on the search engines tab.
202
 
203
+ = I only want to block certain posts with a specific tag =
204
+
205
+ As the basic rule is to block all and every post you have to configure this in a special way:
206
+
207
+ - Select the countries you want to block on the frontend tab
208
+ - Select the option "Block visitors from visiting the frontend of your website" on the frontend tab
209
+ - Select the option "Do you want to block individual categories" on the categories tab.
210
+ - Do not select any categories (unless you want to of course)
211
+ - Select "Do you want to block individual tags" on the tags tab.
212
+ - Select any tag you want to block.
213
 
214
  == Changelog ==
215
 
216
+ = 1.1.34 =
217
+
218
+ * Change: Added WPRocket to list of caching plugins that are not compatible with iQ Block Country (thanks to Mike Reed for supplying the info)
219
+ * New: Added Baidu to Search Engines list
220
+ * New: Added Google Site Verification to the search engines list
221
+ * New: Added Google Search Console to the search engines list
222
+ * Change: Only displays warning about incompatible caching plugins in case frontend blocking is selected.
223
+ * New: You can now also block individual post tags
224
+ * Change: Fixed small security issue with downloading the statistics as CSV file (Thanks to Benjamin Pick for reporting)
225
+
226
  = 1.1.33 =
227
 
228
  * Bugfix: Bug smashed on tag page