IP Geo Block - Version 3.0.9

Version Description

  • New featuer: Add CIDR calculator for IPv4 / IPv6.
  • Improvement: Avoid blocking by wp-zep when IP address is private or loopback network.
  • Improvement: Chnage the priority of internal action hook for better compatibility with other plugins/themes.
  • Maintenance: Change the priority order of local geolocation databases.
  • Bug fix: Fix the issue that the target action for login form on settings tab could not unchecked on saving changes.
  • Bug fix: Fix some other minor bugs.
  • See 3.0.9 release note for some details.
Download this release

Release Info

Developer tokkonopapa
Plugin Icon 128x128 IP Geo Block
Version 3.0.9
Comparing to
See all releases

Code changes from version 3.0.8 to 3.0.9

README.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: tokkonopapa
3
  Donate link:
4
  Tags: security, firewall, brute force, vulnerability, login, wp-admin, admin, ajax, xmlrpc, comment, pingback, trackback, spam, IP address, geo, geolocation, buddypress, bbPress
5
  Requires at least: 3.7
6
- Tested up to: 4.9.2
7
- Stable tag: 3.0.8
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.txt
10
 
@@ -353,6 +353,15 @@ Please refer to "[How can I fix permission troubles?](http://www.ipgeoblock.com/
353
 
354
  == Changelog ==
355
 
 
 
 
 
 
 
 
 
 
356
  = 3.0.8 =
357
  * **Improvement:** Use both Maxmind Legacy and GeoLite2 databases parallely.
358
  * **Improvement:** Remove self IP address from cache on activation or upgrade to prevent blocking caused by 'ZZ' in cache.
3
  Donate link:
4
  Tags: security, firewall, brute force, vulnerability, login, wp-admin, admin, ajax, xmlrpc, comment, pingback, trackback, spam, IP address, geo, geolocation, buddypress, bbPress
5
  Requires at least: 3.7
6
+ Tested up to: 4.9.4
7
+ Stable tag: 3.0.9
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.txt
10
 
353
 
354
  == Changelog ==
355
 
356
+ = 3.0.9 =
357
+ * **New featuer:** Add CIDR calculator for IPv4 / IPv6.
358
+ * **Improvement:** Avoid blocking by wp-zep when IP address is private or loopback network.
359
+ * **Improvement:** Chnage the priority of internal action hook for better compatibility with other plugins/themes.
360
+ * **Maintenance:** Change the priority order of local geolocation databases.
361
+ * **Bug fix:** Fix the issue that the target action for login form on settings tab could not unchecked on saving changes.
362
+ * **Bug fix:** Fix some other minor bugs.
363
+ * See [3.0.9 release note](http://www.ipgeoblock.com/changelog/release-3.0.9.html "3.0.9 Release Note | IP Geo Block") for some details.
364
+
365
  = 3.0.8 =
366
  * **Improvement:** Use both Maxmind Legacy and GeoLite2 databases parallely.
367
  * **Improvement:** Remove self IP address from cache on activation or upgrade to prevent blocking caused by 'ZZ' in cache.
admin/class-ip-geo-block-admin.php CHANGED
@@ -333,7 +333,7 @@ class IP_Geo_Block_Admin {
333
  public function add_action_links( $links ) {
334
  // over network
335
  return array_merge(
336
- array( 'settings' => '<a href="' . esc_url_raw( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME ), $this->dashboard_url( $this->is_network ) ) ) . '">' . __( 'Settings' ) . '</a>' ),
337
  $links
338
  );
339
  }
@@ -380,8 +380,8 @@ class IP_Geo_Block_Admin {
380
  * Get the admin url that depends on network multisite.
381
  *
382
  */
383
- private function dashboard_url( $network ) {
384
- return $network ? network_admin_url( 'admin.php' /*'settings.php'*/ ) : admin_url( 'options-general.php' );
385
  }
386
 
387
  /**
@@ -392,13 +392,13 @@ class IP_Geo_Block_Admin {
392
  $settings = IP_Geo_Block::get_option();
393
 
394
  // Network wide or not
395
- $admin_menu = ( 'admin_menu' === current_filter() );
396
  $this->is_network &= ( current_user_can( 'manage_network_options' ) && $settings['network_wide'] );
397
 
398
  // Verify tab number
399
  if ( $this->is_network ) {
400
  if ( $admin_menu ) {
401
- $this->admin_tab = max( $this->admin_tab, 1 );
402
  } elseif ( ! in_array( $this->admin_tab, array( 0, 5 ), TRUE ) ) {
403
  $this->admin_tab = 0;
404
  }
@@ -529,12 +529,12 @@ class IP_Geo_Block_Admin {
529
  ( 'ZZ' !== $validate['code'] ?
530
  sprintf(
531
  __( 'Please check your &#8220;%sValidation rule settings%s&#8221;.', 'ip-geo-block' ),
532
- '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0 ), $adminurl ) ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-0">', '</a></strong>'
533
  ) :
534
  sprintf(
535
  __( 'Please confirm your local geolocation databases at &#8220;%sLocal database settings%s&#8221; section and remove your IP address in cache at &#8220;%sStatistics in cache%s&#8221; section.', 'ip-geo-block' ),
536
- '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0 ), $adminurl ) ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-4">', '</a></strong>',
537
- '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 1 ), $adminurl ) ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-2">', '</a></strong>'
538
  )
539
  )
540
  );
@@ -617,13 +617,16 @@ class IP_Geo_Block_Admin {
617
  private function do_settings_sections( $page, $tab ) {
618
  global $wp_settings_sections, $wp_settings_fields;
619
 
 
 
 
620
  if ( isset( $wp_settings_sections[ $page ] ) ) {
621
  $index = 0; // index of fieldset
622
  $cookie = $this->get_cookie();
623
 
624
  foreach ( (array) $wp_settings_sections[ $page ] as $section ) {
625
  // TRUE if open ('o') or FALSE if close ('x')
626
- $stat = empty( $cookie[ $tab ][ $index ] ) || 'x' !== $cookie[ $tab ][ $index ];
627
 
628
  echo "\n",
629
  '<fieldset id="', IP_Geo_Block::PLUGIN_NAME, '-section-', $index, '" class="', IP_Geo_Block::PLUGIN_NAME, '-field panel panel-default" data-section="', $index, '">', "\n",
@@ -872,8 +875,10 @@ class IP_Geo_Block_Admin {
872
  break; // disabled @since 3.0
873
 
874
  case 'textarea': ?>
875
- <textarea class="regular-text code" id="<?php echo $id, $sub_id; ?>" name="<?php echo $name, $sub_name; ?>"
876
- <?php disabled( ! empty( $args['disabled'] ), TRUE ); ?>><?php echo esc_html( $args['value'] ); ?></textarea>
 
 
877
  <?php
878
  break;
879
 
@@ -1090,6 +1095,11 @@ class IP_Geo_Block_Admin {
1090
  // 3.0.5 Live update
1091
  $output['live_update']['in_memory'] = 0;
1092
 
 
 
 
 
 
1093
  return $output;
1094
  }
1095
 
333
  public function add_action_links( $links ) {
334
  // over network
335
  return array_merge(
336
+ array( 'settings' => '<a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME ), $this->dashboard_url( $this->is_network ) ) ) . '">' . __( 'Settings' ) . '</a>' ),
337
  $links
338
  );
339
  }
380
  * Get the admin url that depends on network multisite.
381
  *
382
  */
383
+ public function dashboard_url( $network = NULL ) {
384
+ return ( is_null( $network ) ? $this->is_network : $network ) ? network_admin_url( 'admin.php' /*'settings.php'*/ ) : admin_url( 'options-general.php' );
385
  }
386
 
387
  /**
392
  $settings = IP_Geo_Block::get_option();
393
 
394
  // Network wide or not
395
+ $admin_menu = ( 'admin_menu' === current_filter() ); // @since: 2.5 `admin_menu` or `network_admin_menu`
396
  $this->is_network &= ( current_user_can( 'manage_network_options' ) && $settings['network_wide'] );
397
 
398
  // Verify tab number
399
  if ( $this->is_network ) {
400
  if ( $admin_menu ) {
401
+ $this->admin_tab = min( 4, max( 1, $this->admin_tab ) );
402
  } elseif ( ! in_array( $this->admin_tab, array( 0, 5 ), TRUE ) ) {
403
  $this->admin_tab = 0;
404
  }
529
  ( 'ZZ' !== $validate['code'] ?
530
  sprintf(
531
  __( 'Please check your &#8220;%sValidation rule settings%s&#8221;.', 'ip-geo-block' ),
532
+ '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 0 ), $adminurl ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-0' ) . '">', '</a></strong>'
533
  ) :
534
  sprintf(
535
  __( 'Please confirm your local geolocation databases at &#8220;%sLocal database settings%s&#8221; section and remove your IP address in cache at &#8220;%sStatistics in cache%s&#8221; section.', 'ip-geo-block' ),
536
+ '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 0, 'sec' => 4 ), $adminurl ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-4' ) . '">', '</a></strong>',
537
+ '<strong><a href="' . esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => 1, 'sec' => 2 ), $adminurl ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-2' ) . '">', '</a></strong>'
538
  )
539
  )
540
  );
617
  private function do_settings_sections( $page, $tab ) {
618
  global $wp_settings_sections, $wp_settings_fields;
619
 
620
+ // target section to be opened
621
+ $target = isset( $_GET['sec'] ) ? (int)$_GET['sec'] : -1;
622
+
623
  if ( isset( $wp_settings_sections[ $page ] ) ) {
624
  $index = 0; // index of fieldset
625
  $cookie = $this->get_cookie();
626
 
627
  foreach ( (array) $wp_settings_sections[ $page ] as $section ) {
628
  // TRUE if open ('o') or FALSE if close ('x')
629
+ $stat = empty( $cookie[ $tab ][ $index ] ) || 'x' !== $cookie[ $tab ][ $index ] || $index === $target;
630
 
631
  echo "\n",
632
  '<fieldset id="', IP_Geo_Block::PLUGIN_NAME, '-section-', $index, '" class="', IP_Geo_Block::PLUGIN_NAME, '-field panel panel-default" data-section="', $index, '">', "\n",
875
  break; // disabled @since 3.0
876
 
877
  case 'textarea': ?>
878
+ <textarea class="regular-text code" id="<?php echo $id, $sub_id; ?>" name="<?php echo $name, $sub_name; ?>"<?php
879
+ disabled( ! empty( $args['disabled'] ), TRUE );
880
+ if ( isset( $args['placeholder'] ) ) echo ' placeholder="', esc_html( $args['placeholder'] ), '"'; ?>><?php
881
+ echo esc_html( $args['value'] ); ?></textarea>
882
  <?php
883
  break;
884
 
1095
  // 3.0.5 Live update
1096
  $output['live_update']['in_memory'] = 0;
1097
 
1098
+ // 3.0.9 Fix for `login_action`
1099
+ foreach ( array( 'login', 'register', 'resetpass', 'lostpassword', 'postpass' ) as $key ) {
1100
+ $output['login_action'][ $key ] = FALSE;
1101
+ }
1102
+
1103
  return $output;
1104
  }
1105
 
admin/css/admin.css CHANGED
@@ -30,7 +30,7 @@ label {
30
  max-width: 100%;
31
  }
32
  .panel {
33
- border-color: gray;
34
  border: 1px solid #e5e5e5;
35
  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.04);
36
  -moz-box-shadow: 0 1px 1px rgba(0,0,0,.04);
@@ -221,13 +221,16 @@ fieldset.ip-geo-block-field textarea.regular-text {
221
  }
222
 
223
  /* SVG in google chart */
224
- svg a > text {
225
- fill: #0073aa;
226
- text-decoration: underline;
227
  }
228
  svg a:hover > text {
229
  fill: #0096dd;
230
  }
 
 
 
 
231
 
232
  /* table */
233
  table.ip-geo-block-statistics-table {
@@ -330,6 +333,7 @@ dfn ~ .ip-geo-block-icon {
330
  margin-left: 0.6em;
331
  }
332
  .ip-geo-block-icon {
 
333
  cursor: pointer;
334
  outline: none;
335
  box-shadow: none;
@@ -337,7 +341,6 @@ dfn ~ .ip-geo-block-icon {
337
  background-color: transparent;
338
  }
339
  .ip-geo-block-icon:active {
340
- position: relative;
341
  top: 1px;
342
  }
343
  .ip-geo-block-icon span {
@@ -351,6 +354,9 @@ dfn ~ .ip-geo-block-icon {
351
  background-position: center center;
352
  background-repeat: no-repeat;
353
  }
 
 
 
354
  .ip-geo-block-icon-cycle span {
355
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAh1BMVEUAda2otLp+rsSHprWHr8IBd7EpfKRGhaNajqeUqrRymKuKoq5yo7prlKgAcqoVe6w8gqQmgq5Tj6wIdqsVdKIshrEMea1Uhp+Anqw0hawDdq4gfKhljqE7hqoLdKYbgbM4jLQygKUGeK8CdawQd6gVeKcad6NKkrSerrZAj7UAc6sAc6rc3NySrVGQAAAALXRSTlP//////////////////////////////////////////////////////////wCl7wv9AAACOklEQVR4Ae2W15rzKgxF9xTZzhTX9B7S/gN6/9ebYqzzGZsw/S7LV3FZgCSIwD/kQ8FVcBU8xatZUczy8luC/ABNOn0DSHEsvyZ4PgLatNCYR3efFxyhTQ8g+qQgJxgv2JefERzJXATRh4LHOUwAHD4S7OGEztRJaN86hAUxtaNWDUf/bRdDBbQMWVDAO8jn89WUhag1MeyCAh6hHofyrliLgZKggDMYgzF3eVAwFq0uCZq5KY0TezjIHDDzC0qqmkwe2ctGDOQVLMkgu+F3/rGXwb4xIPcJ6P3JgkM8wFjmfcFAWfeKQywaAz33BJVuHsUcAt09gVbuLDThAJkdR687ggLmf4gDJLIGV7BydtB8yn3u+fbtuj/LS7G9wZAd1AKK+yxJ1x+aBmibTtgCcEHGHsh0wdbOgNLek4L7lI5BigY8nWuZUQ3qGEXes9JzOKGJztPaGtLslu3lIXJirdxCWkASHGDTMqg7V1DKPplygDG61YJukLHjEErGSXqCSos6xNSOgzP3BDmsQBcchNwkoV8oiNnPA78zIefUgCdJeGIfE7LmFWXsFTCFdzTJ/RlfEMRiSGnFXXbkC7AIeqcKDu4ynseozeouKJiSEYBDwkJyIC1nRUjgblkNWp/e/1vXc2gjoAoLksYgjrrFMi0oDgjEEIDij1scBXMJSH6DAj6RNl7o8MkuLak8Co15/Pk+MRmT0xilQJV/sdWNKg2kTaeroudvNNsDjmejYjSL+e6v2/2r4Cp4BXNajr0H7hRfAAAAAElFTkSuQmCC);
356
  }
@@ -861,3 +867,9 @@ mark {
861
  0% {transform: rotate( 0deg);}
862
  100% {transform: rotate(180deg);}
863
  }
 
 
 
 
 
 
30
  max-width: 100%;
31
  }
32
  .panel {
33
+ border-color: #888;
34
  border: 1px solid #e5e5e5;
35
  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.04);
36
  -moz-box-shadow: 0 1px 1px rgba(0,0,0,.04);
221
  }
222
 
223
  /* SVG in google chart */
224
+ svg a {
225
+ cursor: pointer;
 
226
  }
227
  svg a:hover > text {
228
  fill: #0096dd;
229
  }
230
+ svg a > text {
231
+ fill: #0073aa;
232
+ text-decoration: underline;
233
+ }
234
 
235
  /* table */
236
  table.ip-geo-block-statistics-table {
333
  margin-left: 0.6em;
334
  }
335
  .ip-geo-block-icon {
336
+ position: relative;
337
  cursor: pointer;
338
  outline: none;
339
  box-shadow: none;
341
  background-color: transparent;
342
  }
343
  .ip-geo-block-icon:active {
 
344
  top: 1px;
345
  }
346
  .ip-geo-block-icon span {
354
  background-position: center center;
355
  background-repeat: no-repeat;
356
  }
357
+ .ip-geo-block-icon-cidr span {
358
+ vertical-align: text-top;
359
+ }
360
  .ip-geo-block-icon-cycle span {
361
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAh1BMVEUAda2otLp+rsSHprWHr8IBd7EpfKRGhaNajqeUqrRymKuKoq5yo7prlKgAcqoVe6w8gqQmgq5Tj6wIdqsVdKIshrEMea1Uhp+Anqw0hawDdq4gfKhljqE7hqoLdKYbgbM4jLQygKUGeK8CdawQd6gVeKcad6NKkrSerrZAj7UAc6sAc6rc3NySrVGQAAAALXRSTlP//////////////////////////////////////////////////////////wCl7wv9AAACOklEQVR4Ae2W15rzKgxF9xTZzhTX9B7S/gN6/9ebYqzzGZsw/S7LV3FZgCSIwD/kQ8FVcBU8xatZUczy8luC/ABNOn0DSHEsvyZ4PgLatNCYR3efFxyhTQ8g+qQgJxgv2JefERzJXATRh4LHOUwAHD4S7OGEztRJaN86hAUxtaNWDUf/bRdDBbQMWVDAO8jn89WUhag1MeyCAh6hHofyrliLgZKggDMYgzF3eVAwFq0uCZq5KY0TezjIHDDzC0qqmkwe2ctGDOQVLMkgu+F3/rGXwb4xIPcJ6P3JgkM8wFjmfcFAWfeKQywaAz33BJVuHsUcAt09gVbuLDThAJkdR687ggLmf4gDJLIGV7BydtB8yn3u+fbtuj/LS7G9wZAd1AKK+yxJ1x+aBmibTtgCcEHGHsh0wdbOgNLek4L7lI5BigY8nWuZUQ3qGEXes9JzOKGJztPaGtLslu3lIXJirdxCWkASHGDTMqg7V1DKPplygDG61YJukLHjEErGSXqCSos6xNSOgzP3BDmsQBcchNwkoV8oiNnPA78zIefUgCdJeGIfE7LmFWXsFTCFdzTJ/RlfEMRiSGnFXXbkC7AIeqcKDu4ynseozeouKJiSEYBDwkJyIC1nRUjgblkNWp/e/1vXc2gjoAoLksYgjrrFMi0oDgjEEIDij1scBXMJSH6DAj6RNl7o8MkuLak8Co15/Pk+MRmT0xilQJV/sdWNKg2kTaeroudvNNsDjmejYjSL+e6v2/2r4Cp4BXNajr0H7hRfAAAAAElFTkSuQmCC);
362
  }
867
  0% {transform: rotate( 0deg);}
868
  100% {transform: rotate(180deg);}
869
  }
870
+
871
+ :placeholder-shown { color: #888; }
872
+ ::-webkit-input-placeholder { color: #888; } /* Google Chrome, Safari, Opera 15+, Android, iOS */
873
+ :-moz-placeholder { color: #888; opacity: 1; } /* Firefox 18- */
874
+ ::-moz-placeholder { color: #888; opacity: 1; } /* Firefox 19+ */
875
+ :-ms-input-placeholder { color: #888; } /* IE 10+ */
admin/css/admin.min.css CHANGED
@@ -1,6 +1,6 @@
1
- /*
2
- Project: WordPress IP Geo Block
3
- Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
4
- This software is released under the MIT License.
5
- */
6
- dfn{cursor:help;border-bottom:1px dotted #888}.ip-geo-block-icon,table.dataTable>tbody>tr{cursor:pointer}fieldset,legend{padding:0;margin:0;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}fieldset{min-width:0}legend{display:block;line-height:inherit;width:100%}.panel-body,label{display:inline-block}label{max-width:100%}.panel{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);-moz-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#f5f5f5}.panel-heading{float:left!important;background:#fff}.panel-default>.panel-heading{border-color:inherit}.panel-body{width:100%;padding:0 1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-body:after{clear:both}fieldset.ip-geo-block-field{margin:1em 0}fieldset.ip-geo-block-field h2,fieldset.ip-geo-block-field h3{padding:0;margin:0;font-size:14px!important}fieldset.ip-geo-block-field h4{margin:.75em 0 .5em}fieldset.ip-geo-block-field legend.panel-heading{padding:10px}fieldset.ip-geo-block-field .ip-geo-block-dropdown,fieldset.ip-geo-block-field .ip-geo-block-dropup{cursor:pointer;position:relative;padding-left:1em}fieldset.ip-geo-block-field .ip-geo-block-dropdown:before,fieldset.ip-geo-block-field .ip-geo-block-dropup:before{content:'';height:0;width:0;border:.4em solid transparent;position:absolute}fieldset.ip-geo-block-field .ip-geo-block-dropup:before{border-left:.4em solid #555;left:2px;top:18%}fieldset.ip-geo-block-field .ip-geo-block-dropdown:before{border-top:.4em solid #555;left:-2px;top:38%}fieldset.ip-geo-block-field .form-table .ip-geo-block-dropdown,fieldset.ip-geo-block-field .form-table .ip-geo-block-dropup{margin-top:.75em}fieldset.ip-geo-block-field ul.ip-geo-block-dropup:before{top:.25em}fieldset.ip-geo-block-field ul.ip-geo-block-dropdown:before{top:.5em}fieldset.ip-geo-block-field table.form-table{margin:0 0 .5em;width:100%}textarea.regular-text{width:25em}fieldset.ip-geo-block-field input.regular-text,fieldset.ip-geo-block-field textarea.regular-text{font-size:95%}.ip-geo-block-settings-folding{margin:.5em 0}.ip-geo-block-settings-folding ul{margin-bottom:0}.ip-geo-block-settings-folding li{margin:.5em 0}.folding-disable{pointer-events:none;opacity:.5}.folding-inactive{opacity:.5;font-style:oblique!important}.ip-geo-block-float li{display:inline-block;width:18em;margin-top:0}.ip-geo-block-checked{list-style-type:disc}.ip-geo-block-ip-addr{display:inline-block;padding-top:5px}.ip-geo-block-hide{display:none}.ip-geo-block-sup{margin-left:.2em;display:inline-block}.ip-geo-block-note{margin-top:1em;list-style:disc inside}.ip-geo-block-border{border-top:inherit}.ip-geo-block-notice{color:#dd3d36}.ip-geo-block-title{width:100px;display:inline-block}.ip-geo-block-result{color:#2786C2;display:inline-block}#ip-geo-block-live-loading,.ip-geo-block-loading{background-size:16px 16px;background-position:center center;background-repeat:no-repeat;height:16px;width:16px;margin-left:1em;margin-top:.2em;display:inline-block;vertical-align:top}.ip-geo-block-loading{background-image:url(data:image/gif;base64,R0lGODlhEAAQAPIGAAAAAMLCwkJCQpKSkmJiYoKCgv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAGACwAAAAAEAAQAAADM2i63P4wyklrC0IEKgAQnAdOmGYFBLExwboQWcG2rlHEwTDQLUsUOd2mBxkUCgNKa+dIAAAh+QQJCgAGACwAAAIACgAOAAADLWgWIqHQCABEVLPe1R4MBOFFRFNsRUNsYDFewTC8iixvQ1EMyxjEvyBLODQkAAAh+QQJCgAGACwAAAAACgAOAAADLWi6IRJrCQCECoU0ag1xxeBARuEQ0UUU5DUM7fK+qTEUYR0EcM3Ev51uB7wAEwAh+QQJCgAGACwAAAAADgAKAAADLWi6URQrLiJEkSaM0eqrkLFtAVEEAgAIylAUQ5SuSqCFNZjhWG3zmB8wOJQkAAAh+QQJCgAGACwCAAAADgAKAAADK2hqMRMrLuekCnCU8gqBDCZ2glBcYkSUxIJJgQdaUVDOtAAAAr3oPN/llgAAIfkECQoABgAsBgAAAAoADgAAAytoEdauiz0Yx5BQFTvN2EMXWNgUFETZFIJQdERLiGgZtKohAIDQ7T0RrpEAACH5BAkKAAYALAYAAgAKAA4AAAMqaKoR+609Fie1K4zhZiibNRSg1XAQUXQPIQgE835voQgAIARqh+ummSUBACH5BAUKAAYALAIABgAOAAoAAAMsaLpsES2+F9mEddEgBFbBMGACAAiMOCrlGRBFWBQD2L0dYYjfUuQZEKynSAAAOw==)}#ip-geo-block-map{height:400px;margin:1em auto}.gm-style-iw{width:18em;height:auto!important;height:100%;min-height:100%:}.gm-style-iw ul{margin:.1em}.gm-style-iw li{margin:.2em}svg a>text{fill:#0073aa;text-decoration:underline}svg a:hover>text{fill:#0096dd}table.ip-geo-block-statistics-table{float:right}table.ip-geo-block-statistics-table td,table.ip-geo-block-statistics-table th{width:12em;margin:0;padding:.2em;text-align:right;line-height:1.5em;word-wrap:break-word}table.ip-geo-block-statistics-table tr:nth-child(even){background-color:#eee}table.ip-geo-block-table{margin:1em 0;white-space:normal;word-wrap:break-word;word-break:break-all}table.ip-geo-block-table td:first-child{min-width:4.3em}@media screen and (max-width:782px){#ip-geo-block-whois .panel-body{padding:0 .5em}}#ip-geo-block-scan-code{vertical-align:middle}#ip-geo-block-code-list{display:none;margin-bottom:0}#ip-geo-block-chart-countries{height:200px}#ip-geo-block-chart-daily{height:240px}#ip_geo_block_settings_validation_mimetype+label{padding-top:.25em}#ip_geo_block_settings_validation_mimetype+label+ul{margin-top:.7em}#ip_geo_block_settings_create_user{margin-bottom:.5em}#ip-geo-block-back-to-top a,#ip-geo-block-toggle-sections{box-shadow:none}#ip-geo-block-wp-info textarea{margin-top:.5em;overflow:auto;width:100%;word-wrap:normal;word-break:normal;white-space:pre}#ip-geo-block-preferred{color:#fff;background:#00838f!important;border-color:#00707a!important;text-shadow:none}#ip-geo-block-preferred:hover{background-color:#00919e!important;border-color:#00525a!important}.ip-geo-block-icon,.ip-geo-block-list-exceptions a.ip-geo-block-icon{background-color:transparent;box-shadow:none;text-decoration:none;outline:0}#ip-geo-block-back-to-top{margin:0;text-align:right}#ip-geo-block-live-update,#ip-geo-block-open-new{margin-left:1em}.ip-geo-block-menu-link{font-size:13px!important}dfn~.ip-geo-block-icon{margin-left:.6em}.ip-geo-block-icon:active{position:relative;top:1px}.ip-geo-block-icon span{height:16px;width:16px;margin:0;border:none;display:inline-block;vertical-align:middle;background-size:16px 16px;background-position:center center;background-repeat:no-repeat}.ip-geo-block-icon-cycle span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAh1BMVEUAda2otLp+rsSHprWHr8IBd7EpfKRGhaNajqeUqrRymKuKoq5yo7prlKgAcqoVe6w8gqQmgq5Tj6wIdqsVdKIshrEMea1Uhp+Anqw0hawDdq4gfKhljqE7hqoLdKYbgbM4jLQygKUGeK8CdawQd6gVeKcad6NKkrSerrZAj7UAc6sAc6rc3NySrVGQAAAALXRSTlP//////////////////////////////////////////////////////////wCl7wv9AAACOklEQVR4Ae2W15rzKgxF9xTZzhTX9B7S/gN6/9ebYqzzGZsw/S7LV3FZgCSIwD/kQ8FVcBU8xatZUczy8luC/ABNOn0DSHEsvyZ4PgLatNCYR3efFxyhTQ8g+qQgJxgv2JefERzJXATRh4LHOUwAHD4S7OGEztRJaN86hAUxtaNWDUf/bRdDBbQMWVDAO8jn89WUhag1MeyCAh6hHofyrliLgZKggDMYgzF3eVAwFq0uCZq5KY0TezjIHDDzC0qqmkwe2ctGDOQVLMkgu+F3/rGXwb4xIPcJ6P3JgkM8wFjmfcFAWfeKQywaAz33BJVuHsUcAt09gVbuLDThAJkdR687ggLmf4gDJLIGV7BydtB8yn3u+fbtuj/LS7G9wZAd1AKK+yxJ1x+aBmibTtgCcEHGHsh0wdbOgNLek4L7lI5BigY8nWuZUQ3qGEXes9JzOKGJztPaGtLslu3lIXJirdxCWkASHGDTMqg7V1DKPplygDG61YJukLHjEErGSXqCSos6xNSOgzP3BDmsQBcchNwkoV8oiNnPA78zIefUgCdJeGIfE7LmFWXsFTCFdzTJ/RlfEMRiSGnFXXbkC7AIeqcKDu4ynseozeouKJiSEYBDwkJyIC1nRUjgblkNWp/e/1vXc2gjoAoLksYgjrrFMi0oDgjEEIDij1scBXMJSH6DAj6RNl7o8MkuLak8Co15/Pk+MRmT0xilQJV/sdWNKg2kTaeroudvNNsDjmejYjSL+e6v2/2r4Cp4BXNajr0H7hRfAAAAAElFTkSuQmCC)}.ip-geo-block-icon-lock span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3Ny3y9Zzq8dRmb7M1dlXnsIFdK0AcawAcqwphrYAcKvZ29wAb6oJd680jrqlw9MBcqxmo8MUfbJLl75eoMI7kbzX2ttqp8VSmL1YnL8NeK+Tu89DlL1ImMEOebBNmL4OkqMoAAAAAXRSTlMAQObYZgAAAPlJREFUeAG9kAWyhTAQBIPOsCzufv9TPnf4Ll0CSbpmxXwNy3Yc23rz2fV8kPA99433AIQIiGDTCD0lojiOQPXCDSFJIbF16CMWItkQMkF+inZzSLYhFKLl+a9UKTZaqJTZJYtarZuo40chrv9CqJTN+behVi+Cm7RdDgRld6AMgLxrE/dxBz0BEjwBEmD/uIsWPAOAF9A+CE56ufSryr8oqfOYcBbQJ8YkES7COkFOYzTypqCDOTDo2wljaEw4vp1APYyWKd8WMBozylvCpcvmXeHQ5fCegHia4s1FgZcIVeVFeFx1M4MvYG4eBHdYWufC+addBtf8E3vdjBNhWnVQqAAAAABJRU5ErkJggg==)}.ip-geo-block-icon-unlock span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NyzydRzq8dRmb7I09hYnsEFdK0AcawAcqzP1toqhrYAcKvZ29wAb6oMeK8zjbqrxtQBcazBz9Zko8MVfbLF0thMmL07kbtpp8WjwtJSmL1YnL+Tu89DlL1JmMEPebBFV++UAAAAAXRSTlMAQObYZgAAAONJREFUeAG9kAWChDAMAIMmJaTFXf7/ynXflvMbnE5j8DU8Pwh8D1yEUYxEGEchWFEJEjEflESBhTQSQm2MRpIotQhZTmgKgMIg5ZlFKBmrGg7UFXJpEQKW8qIKN7YeikJdBJI2BTtXwfyx0L3XoPphvBEliNU49OoxqEa6g4cTST/OYshvi3hV8+FxSNfluG3jqxG8C6h7gF6jU+AODnTsFGSCA5O4I8wpQDq7I5CUAKWQW+AZYOYtoQPoGDeECWDaioBmWQxeBduoWURso+5WpBdw7R4ENTVDcGE435tJwT+xB+vMEnZRNB0YAAAAAElFTkSuQmCC)}.ip-geo-block-icon-find span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NzS19rD0NWHtMpGk7kYfbAGda0Req+WtcTT1temwM4AcasAcqwAc6wAcKydvMt1pr8Ab6pqpcLX2doggrKoxdNYm7yzw8u/y9HO1tkKdq4th7Td3t6DrcLL0taxyNPGe/YhAAAAAXRSTlMAQObYZgAAARVJREFUeAGtkkeiwyAMRP2xDfxoRjElvd3/lOkNUlZ5u0GPruan/Bnz96Xadr21rvP/7+ujXsAjom78rj4ApCoERIipqfGB1H7wPmYhw1DXjZI6nOel1oJhVAmdUP0tTEDkVC4AYvqIbaDOCqFV6vwRF0tIeYoo6J/X7ICuPAJl9ZynwiIfB5DXxZlRChulbh8xZci0EHZK3TziJFDL504rEOZ+iR5cVj82DoS7XtSshLJpKqaB0Dg3ZjcsQWKaKiF1gVQlITwh/bw2pgKeEeURhE29yKSzUFF03p1V7Wqj2Y7GfrY9X/NirJsPxKsxfBLSSs5GmH8yjAWPSNd8Yoez4f4/G1nIsksqFtGK1i9e39o0P+EAqaoRLlQ+r94AAAAASUVORK5CYII=)}.ip-geo-block-icon-alert span,span.ip-geo-block-icon-alert{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAkFBMVEXc3Nzc2trWl5DHRDTFOyvOgXfc1tXCLBrEMiHEMyLNcmfaxMLDMSDDLx7bu7jRiYHDLhzDMB/LX1PaxsTDLh3YtrHMY1bWmpPJVknSjYXUkYnZuLTMZVnENCPWlI3QhXzENiXXrqrDLRzXsa3Oal7Pe3Hc2NjVn5nNbmPayMbbwb7ay8rUj4fc09Lbw8Db0dDBbRUDAAAAAXRSTlMAQObYZgAAAPVJREFUeAG9ktXWwyAQBonC12brFvff5f2frr4nBredK2DnTFS8Gst2XM8XZmypIGeWcT4PFABaGIXlClfWG1NiC4Ubu705oKRcY32wTAHl2MdTYEqEK8hIiHgHSnSJeaogMyEWO4BijZCvwII2MS9UJ2BXTh+hQidoEttboBOwq3WBnkCNpQlA2iyAhol2hRu71n97p4fw0Z9/ugoPHCfFA+o/iLfCkyBglRJdICBas7uuey+R56fF14wNanj+/QjwY3aX23cBFn6EiHmHNT/ICYxystv/wJy4UHWGlN2cuPB72tFqAq3dP/Hk3zs0E5LZVryGC/hqGNnUa0SVAAAAAElFTkSuQmCC);vertical-align:bottom}table.form-table th .ip-geo-block-cycle span{vertical-align:text-bottom}.ip-geo-block-list{margin-top:0;margin-bottom:.7em}@media screen and (min-width:782px){ul.ip-geo-block-list .code{width:15em}}.ip-geo-block-list-exceptions label{display:inline-block}.ip-geo-block-list-exceptions dfn{border:none}.dataTables_wrapper.no-footer .dataTables_scrollBody,table.dataTable.no-footer,table.dataTable>thead>tr>td,table.dataTable>thead>tr>th{border-bottom:1px solid #ddd}.ip-geo-block-list-exceptions span.dashicons{font-size:14px}.ip-geo-block-list-exceptions a.ip-geo-block-icon{margin-left:.3em}.form-table td p.ip-geo-block-desc,.form-table td p.ip-geo-block-find-desc{color:#666;font-size:13px!important;margin:4px 0 .5em .5em}.ip-geo-block-find-desc{display:none}.ip-geo-block-admin-post{color:#c43322;margin-left:.25em}.ip-geo-block-found{color:#c43322;font-weight:700}.ip-geo-block-top-list{display:inline-table;list-style-position:outside;margin:0 2em .5em 1.75em}.ip-geo-block-top-list h4{margin:1em 0}.ip-geo-block-top-list li code{background:0 0}.ip-geo-block-network{margin-bottom:1em}.ip-geo-block-container{margin:0 auto;padding:0 1em;position:relative;width:100%}.ip-geo-block-row{display:flex;flex-direction:column;align-items:flex-start;align-items:stretch;padding:0;width:100%}.ip-geo-block-row .ip-geo-block-column{display:block;flex:1 1 auto;align-self:flex-start;margin-left:0;max-width:100%;width:100%}.ip-geo-block-row .ip-geo-block-column.column-20{flex:0 0 20%;max-width:20%}.ip-geo-block-row .ip-geo-block-column.column-25{flex:0 0 25%;max-width:25%}.ip-geo-block-row .ip-geo-block-column.column-33{flex:0 0 33.3333%;max-width:33.3333%}.ip-geo-block-row .ip-geo-block-column.column-50{flex:0 0 50%;max-width:50%}@media (min-width:40rem){.ip-geo-block-row{flex-direction:row;margin-left:-2em;width:calc(100% + 2em)}.ip-geo-block-row .ip-geo-block-column{margin-bottom:inherit;padding:0 1em}}table.dataTable{clear:none!important}table.dataTable td,table.dataTable th{text-align:right}table.dataTable td:nth-child(n+2),table.dataTable th:nth-child(n+2){padding-left:0!important}table.dataTable th{white-space:nowrap}table.dataTable>thead>tr{line-height:1.8em}table.dataTable thead td,table.dataTable thead th{padding:10px 16px}#ip-geo-block-statistics-cache td:nth-child(3),#ip-geo-block-validation-logs td:nth-child(4){min-width:1.6em}table.dataTable.nowrap td,table.dataTable>tbody>tr>td span{white-space:normal!important;word-wrap:break-word!important;word-break:break-all!important}table.dataTable>tbody>tr>td span{display:inline-block}table.dataTable input[type=checkbox]{height:16px;width:16px;margin:-4px 1px 0 0}table.dataTable>tbody>tr>td:first-child,table.dataTable>thead>tr>th:first-child{padding:8px 4px 8px 1.4em;text-align:left}table.collapsed>tbody>tr>td.dataTables_empty:first-child::before,table.dataTable>tbody>tr>td.dataTables_empty{border:none;text-align:center}table.dataTable thead>tr>th:first-child.sorting_asc{background-image:none!important}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.display tbody tr:hover>.sorting_1{background-color:inherit!important}table.dataTable.collapsed>tbody>tr>td:first-child{padding:8px 4px 8px 8px!important}table.collapsed>tbody>tr.parent>td:first-child::before,table.collapsed>tbody>tr>td:first-child::before{content:'';height:0;width:0;display:inline-block;border-radius:0;border:5px solid transparent;box-shadow:none;position:relative;background-color:transparent}table.collapsed>tbody>tr>td:first-child::before{border-left:5px solid #555;left:-2px}table.collapsed>tbody>tr.parent>td:first-child::before{border-top:5px solid #555;top:3px;left:-4px}table.collapsed>tbody>tr.child>td:first-child::before{border:none}table.collapsed>tbody>tr.child>td.child>ul li{border:none;padding:0;margin:0;line-height:1.8em}table.collapsed>tbody>tr.child>td.child>ul li span.dtr-data,table.collapsed>tbody>tr.child>td.child>ul li span.dtr-title{font-size:13px!important;display:block;white-space:normal;word-wrap:break-word;word-break:break-all}table.collapsed>tbody>tr.child>td.child>ul li span.dtr-data{margin-left:1.25em;margin-right:.3em}.dataTables_wrapper .dataTables_paginate{float:none;text-align:center;margin-bottom:1em}.dataTables_wrapper .dataTables_paginate a.paginate_button,.dataTables_wrapper .dataTables_paginate a.paginate_button.current,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate a.paginate_button:active,.dataTables_wrapper .dataTables_paginate a.paginate_button:hover,.dataTables_wrapper .dataTables_paginate span.ellipsis{min-width:2em;background:inherit;border-color:#ddd;border-radius:0;border-image:none;border-style:solid;border-width:1px 1px 1px 0;box-shadow:none;margin:.5em 0 0;padding:.25em 0;display:inline-block;text-decoration:none}#ip-geo-block-1 #ip-geo-block-section-2 .panel-body,#ip-geo-block-4 #ip-geo-block-section-0 .panel-body,mark{padding:0}.dataTables_wrapper .dataTables_paginate:active>a.paginate_button:first-child,.dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:first-child,.dataTables_wrapper .dataTables_paginate>a.paginate_button:first-child{border-left-width:1px;border-bottom-left-radius:4px;border-top-left-radius:4px}.dataTables_wrapper .dataTables_paginate:active>a.paginate_button:last-child,.dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:last-child,.dataTables_wrapper .dataTables_paginate>a.paginate_button:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}.dataTables_wrapper .dataTables_paginate a.paginate_button{color:#0073aa!important}.dataTables_wrapper .dataTables_paginate a.paginate_button:hover{color:#0096dd!important;background-color:#fff}.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate span.ellipsis{cursor:default;color:#999!important;background-color:transparent}.dataTables_wrapper .dataTables_paginate a.paginate_button.current,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover{cursor:default;color:#444!important;background-color:#fff!important}#ip-geo-block-1 #ip-geo-block-section-2 table.form-table,#ip-geo-block-4 #ip-geo-block-section-0 table.form-table{margin-left:1em;max-width:95%}#ip-geo-block-live-log,#ip-geo-block-select-duration,#ip-geo-block-select-layout,#ip-geo-block-select-target{margin:0}#ip-geo-block-select-duration li,#ip-geo-block-select-layout li,#ip-geo-block-select-target li{float:left;margin-right:1.5em}#ip-geo-block-select-duration li label,#ip-geo-block-select-target li label{cursor:pointer}#ip_geo_block_settings_search_filter{width:16em;padding-top:3px}table.dataTable.display tbody tr.ip-geo-block-passed{background-color:#edf6ff!important}table.dataTable.display tbody tr.ip-geo-block-blocked{background-color:#ffefef!important}.ip-geo-block-new-passed{animation:ip-geo-block-flash-passed 1s ease-out 0s 1 normal both running}.ip-geo-block-new-blocked{animation:ip-geo-block-flash-blocked 1s ease-out 0s 1 normal both running}@keyframes ip-geo-block-flash-passed{0%{background-color:gold}100%{background-color:#edf6ff}}@keyframes ip-geo-block-flash-blocked{0%{background-color:gold}100%{background-color:#ffefef}}mark{background:gold}#ip-geo-block-live-log li{float:left;margin-right:3em}#ip-geo-block-live-log li:last-child{margin-right:0}#ip-geo-block-live-log li input[type=radio]{visibility:hidden;position:absolute}#ip-geo-block-live-log li input[type=radio]+label{display:inline-block;margin:-2px -2px 0;padding:4px 12px;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);border-bottom-color:#b3b3b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}#ip-geo-block-live-log li input[type=radio]:checked+label{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);background-color:#e0e0e0}.ip-geo-block-live-timer{height:1em;width:1em;margin:0;position:relative;top:0;left:0}.ip-geo-block-live-timer:before{content:"";display:block;height:1em;width:1em;background:radial-gradient(#0073aa,#72777c);border-radius:50%;position:absolute;top:0;left:0}.ip-geo-block-live-timer:after{display:none}.ip-geo-block-live-timer>div{position:absolute;width:1em;height:1em;clip:rect(0,1em,1em,.5em)}.ip-geo-block-live-timer>div:before{content:" ";position:absolute;width:1em;height:1em;border-radius:.5em;clip:rect(0,.5em,1em,0);background-color:#f1f1f1;transform:rotate(0)}.ip-geo-block-live-timer>div:first-child:before{animation:30s spin-timer linear forwards}.ip-geo-block-live-timer>div:last-child{transform:rotate(180deg)}.ip-geo-block-live-timer>div:last-child:before{transform:rotate(.00001deg);animation:30s spin-timer linear 30s forwards}@keyframes spin-timer{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}
1
+ /*!
2
+ * Project: WordPress IP Geo Block
3
+ * Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
4
+ * This software is released under the MIT License.
5
+ */
6
+ dfn{cursor:help;border-bottom:1px dotted #888}.ip-geo-block-icon,svg a,table.dataTable>tbody>tr{cursor:pointer}fieldset,legend{padding:0;margin:0;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}fieldset{min-width:0}legend{display:block;line-height:inherit;width:100%}.panel-body,label{display:inline-block}label{max-width:100%}.panel{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);-moz-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#f5f5f5}.panel-heading{float:left!important;background:#fff}.panel-default>.panel-heading{border-color:inherit}.panel-body{width:100%;padding:0 1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-body:after{clear:both}fieldset.ip-geo-block-field{margin:1em 0}fieldset.ip-geo-block-field h2,fieldset.ip-geo-block-field h3{padding:0;margin:0;font-size:14px!important}fieldset.ip-geo-block-field h4{margin:.75em 0 .5em}fieldset.ip-geo-block-field legend.panel-heading{padding:10px}fieldset.ip-geo-block-field .ip-geo-block-dropdown,fieldset.ip-geo-block-field .ip-geo-block-dropup{cursor:pointer;position:relative;padding-left:1em}fieldset.ip-geo-block-field .ip-geo-block-dropdown:before,fieldset.ip-geo-block-field .ip-geo-block-dropup:before{content:'';height:0;width:0;border:.4em solid transparent;position:absolute}fieldset.ip-geo-block-field .ip-geo-block-dropup:before{border-left:.4em solid #555;left:2px;top:18%}fieldset.ip-geo-block-field .ip-geo-block-dropdown:before{border-top:.4em solid #555;left:-2px;top:38%}fieldset.ip-geo-block-field .form-table .ip-geo-block-dropdown,fieldset.ip-geo-block-field .form-table .ip-geo-block-dropup{margin-top:.75em}fieldset.ip-geo-block-field ul.ip-geo-block-dropup:before{top:.25em}fieldset.ip-geo-block-field ul.ip-geo-block-dropdown:before{top:.5em}fieldset.ip-geo-block-field table.form-table{margin:0 0 .5em;width:100%}textarea.regular-text{width:25em}fieldset.ip-geo-block-field input.regular-text,fieldset.ip-geo-block-field textarea.regular-text{font-size:95%}.ip-geo-block-settings-folding{margin:.5em 0}.ip-geo-block-settings-folding ul{margin-bottom:0}.ip-geo-block-settings-folding li{margin:.5em 0}.folding-disable{pointer-events:none;opacity:.5}.folding-inactive{opacity:.5;font-style:oblique!important}.ip-geo-block-float li{display:inline-block;width:18em;margin-top:0}.ip-geo-block-checked{list-style-type:disc}.ip-geo-block-ip-addr{display:inline-block;padding-top:5px}.ip-geo-block-hide{display:none}.ip-geo-block-sup{margin-left:.2em;display:inline-block}.ip-geo-block-note{margin-top:1em;list-style:disc inside}.ip-geo-block-border{border-top:inherit}.ip-geo-block-notice{color:#dd3d36}.ip-geo-block-title{width:100px;display:inline-block}.ip-geo-block-result{color:#2786C2;display:inline-block}#ip-geo-block-live-loading,.ip-geo-block-loading{background-size:16px 16px;background-position:center center;background-repeat:no-repeat;height:16px;width:16px;margin-left:1em;margin-top:.2em;display:inline-block;vertical-align:top}.ip-geo-block-loading{background-image:url(data:image/gif;base64,R0lGODlhEAAQAPIGAAAAAMLCwkJCQpKSkmJiYoKCgv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAGACwAAAAAEAAQAAADM2i63P4wyklrC0IEKgAQnAdOmGYFBLExwboQWcG2rlHEwTDQLUsUOd2mBxkUCgNKa+dIAAAh+QQJCgAGACwAAAIACgAOAAADLWgWIqHQCABEVLPe1R4MBOFFRFNsRUNsYDFewTC8iixvQ1EMyxjEvyBLODQkAAAh+QQJCgAGACwAAAAACgAOAAADLWi6IRJrCQCECoU0ag1xxeBARuEQ0UUU5DUM7fK+qTEUYR0EcM3Ev51uB7wAEwAh+QQJCgAGACwAAAAADgAKAAADLWi6URQrLiJEkSaM0eqrkLFtAVEEAgAIylAUQ5SuSqCFNZjhWG3zmB8wOJQkAAAh+QQJCgAGACwCAAAADgAKAAADK2hqMRMrLuekCnCU8gqBDCZ2glBcYkSUxIJJgQdaUVDOtAAAAr3oPN/llgAAIfkECQoABgAsBgAAAAoADgAAAytoEdauiz0Yx5BQFTvN2EMXWNgUFETZFIJQdERLiGgZtKohAIDQ7T0RrpEAACH5BAkKAAYALAYAAgAKAA4AAAMqaKoR+609Fie1K4zhZiibNRSg1XAQUXQPIQgE835voQgAIARqh+ummSUBACH5BAUKAAYALAIABgAOAAoAAAMsaLpsES2+F9mEddEgBFbBMGACAAiMOCrlGRBFWBQD2L0dYYjfUuQZEKynSAAAOw==)}#ip-geo-block-map{height:400px;margin:1em auto}.gm-style-iw{width:18em;height:auto!important;height:100%;min-height:100%:}.gm-style-iw ul{margin:.1em}.gm-style-iw li{margin:.2em}svg a:hover>text{fill:#0096dd}svg a>text{fill:#0073aa;text-decoration:underline}table.ip-geo-block-statistics-table{float:right}table.ip-geo-block-statistics-table td,table.ip-geo-block-statistics-table th{width:12em;margin:0;padding:.2em;text-align:right;line-height:1.5em;word-wrap:break-word}table.ip-geo-block-statistics-table tr:nth-child(even){background-color:#eee}table.ip-geo-block-table{margin:1em 0;white-space:normal;word-wrap:break-word;word-break:break-all}table.ip-geo-block-table td:first-child{min-width:4.3em}@media screen and (max-width:782px){#ip-geo-block-whois .panel-body{padding:0 .5em}}#ip-geo-block-scan-code{vertical-align:middle}#ip-geo-block-code-list{display:none;margin-bottom:0}#ip-geo-block-chart-countries{height:200px}#ip-geo-block-chart-daily{height:240px}#ip_geo_block_settings_validation_mimetype+label{padding-top:.25em}#ip_geo_block_settings_validation_mimetype+label+ul{margin-top:.7em}#ip_geo_block_settings_create_user{margin-bottom:.5em}#ip-geo-block-back-to-top a,#ip-geo-block-toggle-sections{box-shadow:none}#ip-geo-block-wp-info textarea{margin-top:.5em;overflow:auto;width:100%;word-wrap:normal;word-break:normal;white-space:pre}#ip-geo-block-preferred{color:#fff;background:#00838f!important;border-color:#00707a!important;text-shadow:none}#ip-geo-block-preferred:hover{background-color:#00919e!important;border-color:#00525a!important}.ip-geo-block-icon,.ip-geo-block-list-exceptions a.ip-geo-block-icon{background-color:transparent;box-shadow:none;text-decoration:none;outline:0}#ip-geo-block-back-to-top{margin:0;text-align:right}#ip-geo-block-live-update,#ip-geo-block-open-new{margin-left:1em}.ip-geo-block-menu-link{font-size:13px!important}dfn~.ip-geo-block-icon{margin-left:.6em}.ip-geo-block-icon{position:relative}.ip-geo-block-icon:active{top:1px}.ip-geo-block-icon span{height:16px;width:16px;margin:0;border:none;display:inline-block;vertical-align:middle;background-size:16px 16px;background-position:center center;background-repeat:no-repeat}.ip-geo-block-icon-cidr span{vertical-align:text-top}.ip-geo-block-icon-cycle span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAh1BMVEUAda2otLp+rsSHprWHr8IBd7EpfKRGhaNajqeUqrRymKuKoq5yo7prlKgAcqoVe6w8gqQmgq5Tj6wIdqsVdKIshrEMea1Uhp+Anqw0hawDdq4gfKhljqE7hqoLdKYbgbM4jLQygKUGeK8CdawQd6gVeKcad6NKkrSerrZAj7UAc6sAc6rc3NySrVGQAAAALXRSTlP//////////////////////////////////////////////////////////wCl7wv9AAACOklEQVR4Ae2W15rzKgxF9xTZzhTX9B7S/gN6/9ebYqzzGZsw/S7LV3FZgCSIwD/kQ8FVcBU8xatZUczy8luC/ABNOn0DSHEsvyZ4PgLatNCYR3efFxyhTQ8g+qQgJxgv2JefERzJXATRh4LHOUwAHD4S7OGEztRJaN86hAUxtaNWDUf/bRdDBbQMWVDAO8jn89WUhag1MeyCAh6hHofyrliLgZKggDMYgzF3eVAwFq0uCZq5KY0TezjIHDDzC0qqmkwe2ctGDOQVLMkgu+F3/rGXwb4xIPcJ6P3JgkM8wFjmfcFAWfeKQywaAz33BJVuHsUcAt09gVbuLDThAJkdR687ggLmf4gDJLIGV7BydtB8yn3u+fbtuj/LS7G9wZAd1AKK+yxJ1x+aBmibTtgCcEHGHsh0wdbOgNLek4L7lI5BigY8nWuZUQ3qGEXes9JzOKGJztPaGtLslu3lIXJirdxCWkASHGDTMqg7V1DKPplygDG61YJukLHjEErGSXqCSos6xNSOgzP3BDmsQBcchNwkoV8oiNnPA78zIefUgCdJeGIfE7LmFWXsFTCFdzTJ/RlfEMRiSGnFXXbkC7AIeqcKDu4ynseozeouKJiSEYBDwkJyIC1nRUjgblkNWp/e/1vXc2gjoAoLksYgjrrFMi0oDgjEEIDij1scBXMJSH6DAj6RNl7o8MkuLak8Co15/Pk+MRmT0xilQJV/sdWNKg2kTaeroudvNNsDjmejYjSL+e6v2/2r4Cp4BXNajr0H7hRfAAAAAElFTkSuQmCC)}.ip-geo-block-icon-lock span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3Ny3y9Zzq8dRmb7M1dlXnsIFdK0AcawAcqwphrYAcKvZ29wAb6oJd680jrqlw9MBcqxmo8MUfbJLl75eoMI7kbzX2ttqp8VSmL1YnL8NeK+Tu89DlL1ImMEOebBNmL4OkqMoAAAAAXRSTlMAQObYZgAAAPlJREFUeAG9kAWyhTAQBIPOsCzufv9TPnf4Ll0CSbpmxXwNy3Yc23rz2fV8kPA99433AIQIiGDTCD0lojiOQPXCDSFJIbF16CMWItkQMkF+inZzSLYhFKLl+a9UKTZaqJTZJYtarZuo40chrv9CqJTN+behVi+Cm7RdDgRld6AMgLxrE/dxBz0BEjwBEmD/uIsWPAOAF9A+CE56ufSryr8oqfOYcBbQJ8YkES7COkFOYzTypqCDOTDo2wljaEw4vp1APYyWKd8WMBozylvCpcvmXeHQ5fCegHia4s1FgZcIVeVFeFx1M4MvYG4eBHdYWufC+addBtf8E3vdjBNhWnVQqAAAAABJRU5ErkJggg==)}.ip-geo-block-icon-unlock span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NyzydRzq8dRmb7I09hYnsEFdK0AcawAcqzP1toqhrYAcKvZ29wAb6oMeK8zjbqrxtQBcazBz9Zko8MVfbLF0thMmL07kbtpp8WjwtJSmL1YnL+Tu89DlL1JmMEPebBFV++UAAAAAXRSTlMAQObYZgAAAONJREFUeAG9kAWChDAMAIMmJaTFXf7/ynXflvMbnE5j8DU8Pwh8D1yEUYxEGEchWFEJEjEflESBhTQSQm2MRpIotQhZTmgKgMIg5ZlFKBmrGg7UFXJpEQKW8qIKN7YeikJdBJI2BTtXwfyx0L3XoPphvBEliNU49OoxqEa6g4cTST/OYshvi3hV8+FxSNfluG3jqxG8C6h7gF6jU+AODnTsFGSCA5O4I8wpQDq7I5CUAKWQW+AZYOYtoQPoGDeECWDaioBmWQxeBduoWURso+5WpBdw7R4ENTVDcGE435tJwT+xB+vMEnZRNB0YAAAAAElFTkSuQmCC)}.ip-geo-block-icon-find span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEXc3NzS19rD0NWHtMpGk7kYfbAGda0Req+WtcTT1temwM4AcasAcqwAc6wAcKydvMt1pr8Ab6pqpcLX2doggrKoxdNYm7yzw8u/y9HO1tkKdq4th7Td3t6DrcLL0taxyNPGe/YhAAAAAXRSTlMAQObYZgAAARVJREFUeAGtkkeiwyAMRP2xDfxoRjElvd3/lOkNUlZ5u0GPruan/Bnz96Xadr21rvP/7+ujXsAjom78rj4ApCoERIipqfGB1H7wPmYhw1DXjZI6nOel1oJhVAmdUP0tTEDkVC4AYvqIbaDOCqFV6vwRF0tIeYoo6J/X7ICuPAJl9ZynwiIfB5DXxZlRChulbh8xZci0EHZK3TziJFDL504rEOZ+iR5cVj82DoS7XtSshLJpKqaB0Dg3ZjcsQWKaKiF1gVQlITwh/bw2pgKeEeURhE29yKSzUFF03p1V7Wqj2Y7GfrY9X/NirJsPxKsxfBLSSs5GmH8yjAWPSNd8Yoez4f4/G1nIsksqFtGK1i9e39o0P+EAqaoRLlQ+r94AAAAASUVORK5CYII=)}.ip-geo-block-icon-alert span,span.ip-geo-block-icon-alert{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAkFBMVEXc3Nzc2trWl5DHRDTFOyvOgXfc1tXCLBrEMiHEMyLNcmfaxMLDMSDDLx7bu7jRiYHDLhzDMB/LX1PaxsTDLh3YtrHMY1bWmpPJVknSjYXUkYnZuLTMZVnENCPWlI3QhXzENiXXrqrDLRzXsa3Oal7Pe3Hc2NjVn5nNbmPayMbbwb7ay8rUj4fc09Lbw8Db0dDBbRUDAAAAAXRSTlMAQObYZgAAAPVJREFUeAG9ktXWwyAQBonC12brFvff5f2frr4nBredK2DnTFS8Gst2XM8XZmypIGeWcT4PFABaGIXlClfWG1NiC4Ubu705oKRcY32wTAHl2MdTYEqEK8hIiHgHSnSJeaogMyEWO4BijZCvwII2MS9UJ2BXTh+hQidoEttboBOwq3WBnkCNpQlA2iyAhol2hRu71n97p4fw0Z9/ugoPHCfFA+o/iLfCkyBglRJdICBas7uuey+R56fF14wNanj+/QjwY3aX23cBFn6EiHmHNT/ICYxystv/wJy4UHWGlN2cuPB72tFqAq3dP/Hk3zs0E5LZVryGC/hqGNnUa0SVAAAAAElFTkSuQmCC);vertical-align:bottom}table.form-table th .ip-geo-block-cycle span{vertical-align:text-bottom}.ip-geo-block-list{margin-top:0;margin-bottom:.7em}@media screen and (min-width:782px){ul.ip-geo-block-list .code{width:15em}}.ip-geo-block-list-exceptions label{display:inline-block}.ip-geo-block-list-exceptions dfn{border:none}.dataTables_wrapper.no-footer .dataTables_scrollBody,table.dataTable.no-footer,table.dataTable>thead>tr>td,table.dataTable>thead>tr>th{border-bottom:1px solid #ddd}.ip-geo-block-list-exceptions span.dashicons{font-size:14px}.ip-geo-block-list-exceptions a.ip-geo-block-icon{margin-left:.3em}.form-table td p.ip-geo-block-desc,.form-table td p.ip-geo-block-find-desc{color:#666;font-size:13px!important;margin:4px 0 .5em .5em}.ip-geo-block-find-desc{display:none}.ip-geo-block-admin-post{color:#c43322;margin-left:.25em}.ip-geo-block-found{color:#c43322;font-weight:700}.ip-geo-block-top-list{display:inline-table;list-style-position:outside;margin:0 2em .5em 1.75em}.ip-geo-block-top-list h4{margin:1em 0}.ip-geo-block-top-list li code{background:0 0}.ip-geo-block-network{margin-bottom:1em}.ip-geo-block-container{margin:0 auto;padding:0 1em;position:relative;width:100%}.ip-geo-block-row{display:flex;flex-direction:column;align-items:flex-start;align-items:stretch;padding:0;width:100%}.ip-geo-block-row .ip-geo-block-column{display:block;flex:1 1 auto;align-self:flex-start;margin-left:0;max-width:100%;width:100%}.ip-geo-block-row .ip-geo-block-column.column-20{flex:0 0 20%;max-width:20%}.ip-geo-block-row .ip-geo-block-column.column-25{flex:0 0 25%;max-width:25%}.ip-geo-block-row .ip-geo-block-column.column-33{flex:0 0 33.3333%;max-width:33.3333%}.ip-geo-block-row .ip-geo-block-column.column-50{flex:0 0 50%;max-width:50%}@media (min-width:40rem){.ip-geo-block-row{flex-direction:row;margin-left:-2em;width:calc(100% + 2em)}.ip-geo-block-row .ip-geo-block-column{margin-bottom:inherit;padding:0 1em}}table.dataTable{clear:none!important}table.dataTable td,table.dataTable th{text-align:right}table.dataTable td:nth-child(n+2),table.dataTable th:nth-child(n+2){padding-left:0!important}table.dataTable th{white-space:nowrap}table.dataTable>thead>tr{line-height:1.8em}table.dataTable thead td,table.dataTable thead th{padding:10px 16px}#ip-geo-block-statistics-cache td:nth-child(3),#ip-geo-block-validation-logs td:nth-child(4){min-width:1.6em}table.dataTable.nowrap td,table.dataTable>tbody>tr>td span{white-space:normal!important;word-wrap:break-word!important;word-break:break-all!important}table.dataTable>tbody>tr>td span{display:inline-block}table.dataTable input[type=checkbox]{height:16px;width:16px;margin:-4px 1px 0 0}table.dataTable>tbody>tr>td:first-child,table.dataTable>thead>tr>th:first-child{padding:8px 4px 8px 1.4em;text-align:left}table.collapsed>tbody>tr>td.dataTables_empty:first-child::before,table.dataTable>tbody>tr>td.dataTables_empty{border:none;text-align:center}table.dataTable thead>tr>th:first-child.sorting_asc{background-image:none!important}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.display tbody tr:hover>.sorting_1{background-color:inherit!important}table.dataTable.collapsed>tbody>tr>td:first-child{padding:8px 4px 8px 8px!important}table.collapsed>tbody>tr.parent>td:first-child::before,table.collapsed>tbody>tr>td:first-child::before{content:'';height:0;width:0;display:inline-block;border-radius:0;border:5px solid transparent;box-shadow:none;position:relative;background-color:transparent}table.collapsed>tbody>tr>td:first-child::before{border-left:5px solid #555;left:-2px}table.collapsed>tbody>tr.parent>td:first-child::before{border-top:5px solid #555;top:3px;left:-4px}table.collapsed>tbody>tr.child>td:first-child::before{border:none}table.collapsed>tbody>tr.child>td.child>ul li{border:none;padding:0;margin:0;line-height:1.8em}table.collapsed>tbody>tr.child>td.child>ul li span.dtr-data,table.collapsed>tbody>tr.child>td.child>ul li span.dtr-title{font-size:13px!important;display:block;white-space:normal;word-wrap:break-word;word-break:break-all}table.collapsed>tbody>tr.child>td.child>ul li span.dtr-data{margin-left:1.25em;margin-right:.3em}.dataTables_wrapper .dataTables_paginate{float:none;text-align:center;margin-bottom:1em}.dataTables_wrapper .dataTables_paginate a.paginate_button,.dataTables_wrapper .dataTables_paginate a.paginate_button.current,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate a.paginate_button:active,.dataTables_wrapper .dataTables_paginate a.paginate_button:hover,.dataTables_wrapper .dataTables_paginate span.ellipsis{min-width:2em;background:inherit;border-color:#ddd;border-radius:0;border-image:none;border-style:solid;border-width:1px 1px 1px 0;box-shadow:none;margin:.5em 0 0;padding:.25em 0;display:inline-block;text-decoration:none}#ip-geo-block-1 #ip-geo-block-section-2 .panel-body,#ip-geo-block-4 #ip-geo-block-section-0 .panel-body,mark{padding:0}.dataTables_wrapper .dataTables_paginate:active>a.paginate_button:first-child,.dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:first-child,.dataTables_wrapper .dataTables_paginate>a.paginate_button:first-child{border-left-width:1px;border-bottom-left-radius:4px;border-top-left-radius:4px}.dataTables_wrapper .dataTables_paginate:active>a.paginate_button:last-child,.dataTables_wrapper .dataTables_paginate:hover>a.paginate_button:last-child,.dataTables_wrapper .dataTables_paginate>a.paginate_button:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}.dataTables_wrapper .dataTables_paginate a.paginate_button{color:#0073aa!important}.dataTables_wrapper .dataTables_paginate a.paginate_button:hover{color:#0096dd!important;background-color:#fff}.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate span.ellipsis{cursor:default;color:#999!important;background-color:transparent}.dataTables_wrapper .dataTables_paginate a.paginate_button.current,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:active,.dataTables_wrapper .dataTables_paginate a.paginate_button.current:hover{cursor:default;color:#444!important;background-color:#fff!important}#ip-geo-block-1 #ip-geo-block-section-2 table.form-table,#ip-geo-block-4 #ip-geo-block-section-0 table.form-table{margin-left:1em;max-width:95%}#ip-geo-block-live-log,#ip-geo-block-select-duration,#ip-geo-block-select-layout,#ip-geo-block-select-target{margin:0}#ip-geo-block-select-duration li,#ip-geo-block-select-layout li,#ip-geo-block-select-target li{float:left;margin-right:1.5em}#ip-geo-block-select-duration li label,#ip-geo-block-select-target li label{cursor:pointer}#ip_geo_block_settings_search_filter{width:16em;padding-top:3px}table.dataTable.display tbody tr.ip-geo-block-passed{background-color:#edf6ff!important}table.dataTable.display tbody tr.ip-geo-block-blocked{background-color:#ffefef!important}.ip-geo-block-new-passed{animation:ip-geo-block-flash-passed 1s ease-out 0s 1 normal both running}.ip-geo-block-new-blocked{animation:ip-geo-block-flash-blocked 1s ease-out 0s 1 normal both running}@keyframes ip-geo-block-flash-passed{0%{background-color:gold}100%{background-color:#edf6ff}}@keyframes ip-geo-block-flash-blocked{0%{background-color:gold}100%{background-color:#ffefef}}mark{background:gold}#ip-geo-block-live-log li{float:left;margin-right:3em}#ip-geo-block-live-log li:last-child{margin-right:0}#ip-geo-block-live-log li input[type=radio]{visibility:hidden;position:absolute}#ip-geo-block-live-log li input[type=radio]+label{display:inline-block;margin:-2px -2px 0;padding:4px 12px;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);border-bottom-color:#b3b3b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}#ip-geo-block-live-log li input[type=radio]:checked+label{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);background-color:#e0e0e0}.ip-geo-block-live-timer{height:1em;width:1em;margin:0;position:relative;top:0;left:0}.ip-geo-block-live-timer:before{content:"";display:block;height:1em;width:1em;background:radial-gradient(#0073aa,#72777c);border-radius:50%;position:absolute;top:0;left:0}.ip-geo-block-live-timer:after{display:none}.ip-geo-block-live-timer>div{position:absolute;width:1em;height:1em;clip:rect(0,1em,1em,.5em)}.ip-geo-block-live-timer>div:before{content:" ";position:absolute;width:1em;height:1em;border-radius:.5em;clip:rect(0,.5em,1em,0);background-color:#f1f1f1;transform:rotate(0)}.ip-geo-block-live-timer>div:first-child:before{animation:30s spin-timer linear forwards}.ip-geo-block-live-timer>div:last-child{transform:rotate(180deg)}.ip-geo-block-live-timer>div:last-child:before{transform:rotate(.00001deg);animation:30s spin-timer linear 30s forwards}@keyframes spin-timer{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}:placeholder-shown{color:#888}::-webkit-input-placeholder{color:#888}:-moz-placeholder{color:#888;opacity:1}::-moz-placeholder{color:#888;opacity:1}:-ms-input-placeholder{color:#888}
admin/css/cidr.min.css ADDED
@@ -0,0 +1 @@
 
1
+ #g,textarea{border:1px solid #ccc}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:8xp;font-size:14px;line-height:1.4}.container{margin:0;padding:0}.clr:after,.col:after,.container:after,.row:after{content:"";display:table;clear:both}.row{padding-bottom:0}.col{display:block;float:left;width:100%}.span_2{width:8.33333333333%}.span_11{width:45.8333333333%}.span_24,textarea{width:100%}fieldset{border:none;margin:0;padding:.5em}textarea{height:6em;resize:horizontal;font-size:12px;font-family:Consolas,Monaco,monospace}legend input[type=button]{margin-left:.5em;vertical-align:middle}#j,#i{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;justify-content:center;align-items:center}#j{padding:0 .5em}ul#h{padding:1.5em 0 0;list-style:none}ul#h li{width:100%;margin:.25em 0;display:inline-block}ul#h li input{padding:0}#g{text-align:center;padding:.5em}
admin/includes/class-admin-ajax.php CHANGED
@@ -57,8 +57,8 @@ class IP_Geo_Block_Admin_Ajax {
57
  */
58
  public static function scan_country( $which ) {
59
  // scan all the country code using selected APIs
60
- $ip = IP_Geo_Block::get_ip_address();
61
  $options = IP_Geo_Block::get_option();
 
62
  $args = IP_Geo_Block::get_request_headers( $options );
63
  $type = IP_Geo_Block_Provider::get_providers( 'type', FALSE, FALSE );
64
  $providers = IP_Geo_Block_Provider::get_valid_providers( $options['providers'], FALSE, FALSE );
@@ -485,6 +485,7 @@ endif; // TEST_RESTORE_NETWORK
485
  '[public][dnslkup]', // 3.0.3
486
  '[public][response_code]', // 3.0.3
487
  '[public][redirect_uri]', // 3.0.3
 
488
  '[providers][Maxmind]',
489
  '[providers][IP2Location]',
490
  '[providers][freegeoip.net]',
@@ -753,6 +754,8 @@ endif; // TEST_RESTORE_NETWORK
753
  'User agent:' => $_SERVER['HTTP_USER_AGENT'],
754
  );
755
 
 
 
756
  // Child and parent themes
757
  $activated = wp_get_theme(); // @since 3.4.0
758
  $res += array( esc_html( $activated->get( 'Name' ) ) => esc_html( $activated->get( 'Version' ) ) );
57
  */
58
  public static function scan_country( $which ) {
59
  // scan all the country code using selected APIs
 
60
  $options = IP_Geo_Block::get_option();
61
+ $ip = IP_Geo_Block::get_ip_address();
62
  $args = IP_Geo_Block::get_request_headers( $options );
63
  $type = IP_Geo_Block_Provider::get_providers( 'type', FALSE, FALSE );
64
  $providers = IP_Geo_Block_Provider::get_valid_providers( $options['providers'], FALSE, FALSE );
485
  '[public][dnslkup]', // 3.0.3
486
  '[public][response_code]', // 3.0.3
487
  '[public][redirect_uri]', // 3.0.3
488
+ '[providers][Geolite2]', // 3.0.8
489
  '[providers][Maxmind]',
490
  '[providers][IP2Location]',
491
  '[providers][freegeoip.net]',
754
  'User agent:' => $_SERVER['HTTP_USER_AGENT'],
755
  );
756
 
757
+ $res = array_map( 'esc_html', $res );
758
+
759
  // Child and parent themes
760
  $activated = wp_get_theme(); // @since 3.4.0
761
  $res += array( esc_html( $activated->get( 'Name' ) ) => esc_html( $activated->get( 'Version' ) ) );
admin/includes/tab-accesslog.php CHANGED
@@ -24,6 +24,8 @@ class IP_Geo_Block_Admin_Tab {
24
  $option_slug
25
  );
26
 
 
 
27
  $html = '<ul id="ip-geo-block-live-log">';
28
  $html .= '<li><input type="radio" name="ip-geo-block-live-log" id="ip-geo-block-live-log-start" value="start"><label for="ip-geo-block-live-log-start" title="Start"><span class="ip-geo-block-icon-play"></span></label></li>';
29
  $html .= '<li><input type="radio" name="ip-geo-block-live-log" id="ip-geo-block-live-log-pause" value="pause"><label for="ip-geo-block-live-log-pause" title="Pause"><span class="ip-geo-block-icon-pause"></span></label></li>';
@@ -153,6 +155,8 @@ class IP_Geo_Block_Admin_Tab {
153
  )
154
  );
155
 
 
 
156
  }
157
 
158
  /**
@@ -164,9 +168,11 @@ class IP_Geo_Block_Admin_Tab {
164
  }
165
 
166
  public static function warn_accesslog() {
167
- echo '<p style="padding:0 1em">', __( '[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab is [<strong>Disable</strong>].', 'ip-geo-block' ), '</p>', "\n";
168
- echo '<p style="padding:0 1em">', __( 'Please select the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
169
- self::validation_logs();
 
 
170
  }
171
 
172
  }
24
  $option_slug
25
  );
26
 
27
+ if ( $options['validation']['reclogs'] ):
28
+
29
  $html = '<ul id="ip-geo-block-live-log">';
30
  $html .= '<li><input type="radio" name="ip-geo-block-live-log" id="ip-geo-block-live-log-start" value="start"><label for="ip-geo-block-live-log-start" title="Start"><span class="ip-geo-block-icon-play"></span></label></li>';
31
  $html .= '<li><input type="radio" name="ip-geo-block-live-log" id="ip-geo-block-live-log-pause" value="pause"><label for="ip-geo-block-live-log-pause" title="Pause"><span class="ip-geo-block-icon-pause"></span></label></li>';
155
  )
156
  );
157
 
158
+ endif; // $options['validation']['reclogs']
159
+
160
  }
161
 
162
  /**
168
  }
169
 
170
  public static function warn_accesslog() {
171
+ $context = IP_Geo_Block_Admin::get_instance();
172
+ $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 5 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' );
173
+ echo '<p style="padding:0 1em">', sprintf( __( '[ %sRecord &#8220;Logs&#8221;%s ] is desabled.', 'ip-geo-block' ), '<a href="' . $url . '"><strong>', '</strong></a>' ), '</p>', "\n";
174
+ echo '<p style="padding:0 1em">', __( 'Please set the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
175
+ // self::validation_logs();
176
  }
177
 
178
  }
admin/includes/tab-network.php CHANGED
@@ -109,8 +109,10 @@ class IP_Geo_Block_Admin_Tab {
109
  require_once IP_GEO_BLOCK_PATH . 'admin/includes/class-admin-ajax.php';
110
 
111
  if ( self::$controls['warn'] ) {
112
- echo '<p style="padding:0 1em">', __( '[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab is [<strong>Disable</strong>].', 'ip-geo-block' ), '</p>', "\n";
113
- echo '<p style="padding:0 1em">', __( 'Please select the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
 
 
114
  }
115
 
116
  $row = self::$controls['rows'] * 5;
109
  require_once IP_GEO_BLOCK_PATH . 'admin/includes/class-admin-ajax.php';
110
 
111
  if ( self::$controls['warn'] ) {
112
+ $context = IP_Geo_Block_Admin::get_instance();
113
+ $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 5 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' );
114
+ echo '<p style="padding:0 1em">', sprintf( __( '[ %sRecord &#8220;Logs&#8221;%s ] is desabled.', 'ip-geo-block' ), '<a href="' . $url . '"><strong>', '</strong></a>' ), '</p>', "\n";
115
+ echo '<p style="padding:0 1em">', __( 'Please set the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
116
  }
117
 
118
  $row = self::$controls['rows'] * 5;
admin/includes/tab-settings.php CHANGED
@@ -58,7 +58,6 @@ class IP_Geo_Block_Admin_Tab {
58
  * @param string $section The section of the settings page in which to show the box.
59
  * @param array $args Additional arguments that are passed to the $callback function.
60
  */
61
-
62
  // Get the country code of client
63
  $key = IP_Geo_Block::get_geolocation( $val = IP_Geo_Block::get_ip_address() );
64
 
@@ -118,6 +117,7 @@ endif;
118
  '<span title="' . __( 'Toggle selection', 'ip-geo-block' ) . '"></span>',
119
  '<span title="' . __( 'Find blocked requests in &#8220;Logs&#8220;', 'ip-geo-block' ) . '"></span>',
120
  __( 'Before adding as &#8220;Exception&#8221;, please click on &#8220;<a class="ip-geo-block-icon ip-geo-block-icon-alert" title="This button is just a sample."><span></span></a>&#8221; button (if exists) attached to the following list to confirm that the blocked request is not malicious.', 'ip-geo-block' ),
 
121
  );
122
 
123
  // Matching rule
@@ -194,7 +194,7 @@ endif;
194
  'field' => $field,
195
  'sub-field' => $key,
196
  'value' => 1 === (int)$options[ $field ][ $key ],
197
- 'after' => '<p class="ip-geo-block-desc">' . sprintf( __( 'Some useful tools for investigating ASN are introduced in &#8220;%s&#8221;.', 'ip-geo-block' ), '<a rel="noreferrer" href="http://www.ipgeoblock.com/codex/utilizing-asnumber.html" title="Utilizing AS number | IP Geo Block">Utilizing AS number</a>' ) . '</p>',
198
  )
199
  );
200
 
@@ -215,7 +215,8 @@ endif;
215
  'field' => $field,
216
  'sub-field' => $key,
217
  'value' => $options[ $field ][ $key ],
218
- 'after' => $comma[1],
 
219
  )
220
  );
221
 
@@ -235,7 +236,8 @@ endif;
235
  'field' => $field,
236
  'sub-field' => $key,
237
  'value' => $options[ $field ][ $key ],
238
- 'after' => $comma[1],
 
239
  )
240
  );
241
 
@@ -1178,7 +1180,7 @@ endif;
1178
  $option_slug
1179
  );
1180
 
1181
- // Record validation statistics
1182
  $field = 'save_statistics';
1183
  add_settings_field(
1184
  $option_name.'_'.$field,
58
  * @param string $section The section of the settings page in which to show the box.
59
  * @param array $args Additional arguments that are passed to the $callback function.
60
  */
 
61
  // Get the country code of client
62
  $key = IP_Geo_Block::get_geolocation( $val = IP_Geo_Block::get_ip_address() );
63
 
117
  '<span title="' . __( 'Toggle selection', 'ip-geo-block' ) . '"></span>',
118
  '<span title="' . __( 'Find blocked requests in &#8220;Logs&#8220;', 'ip-geo-block' ) . '"></span>',
119
  __( 'Before adding as &#8220;Exception&#8221;, please click on &#8220;<a class="ip-geo-block-icon ip-geo-block-icon-alert" title="This button is just a sample."><span></span></a>&#8221; button (if exists) attached to the following list to confirm that the blocked request is not malicious.', 'ip-geo-block' ),
120
+ __( 'Open CIDR calculator for IPv4 / IPv6', 'ip-geo-block' ),
121
  );
122
 
123
  // Matching rule
194
  'field' => $field,
195
  'sub-field' => $key,
196
  'value' => 1 === (int)$options[ $field ][ $key ],
197
+ 'after' => '<p class="ip-geo-block-desc">' . sprintf( __( 'Some useful tools to find ASN are introduced in &#8220;%s&#8221;.', 'ip-geo-block' ), '<a rel="noreferrer" href="http://www.ipgeoblock.com/codex/utilizing-asnumber.html" title="Utilizing AS number | IP Geo Block">Utilizing AS number</a>' ) . '</p>',
198
  )
199
  );
200
 
215
  'field' => $field,
216
  'sub-field' => $key,
217
  'value' => $options[ $field ][ $key ],
218
+ 'placeholder' => '192.168.0.0/16,2001:db8::/96,AS1234',
219
+ 'after' => $comma[1] . ' <a class="ip-geo-block-icon ip-geo-block-icon-cidr" title="' . $comma[5] . '"><span class="dashicons dashicons-sos"></span></a>',
220
  )
221
  );
222
 
236
  'field' => $field,
237
  'sub-field' => $key,
238
  'value' => $options[ $field ][ $key ],
239
+ 'placeholder' => '192.168.0.0/16,2001:db8::/96,AS1234',
240
+ 'after' => $comma[1] . ' <a class="ip-geo-block-icon ip-geo-block-icon-cidr" title="' . $comma[5] . '"><span class="dashicons dashicons-sos"></span></a>',
241
  )
242
  );
243
 
1180
  $option_slug
1181
  );
1182
 
1183
+ // Record "Statistics"
1184
  $field = 'save_statistics';
1185
  add_settings_field(
1186
  $option_name.'_'.$field,
admin/includes/tab-statistics.php CHANGED
@@ -389,12 +389,16 @@ endif;
389
  *
390
  */
391
  public static function warn_statistics() {
392
- echo '<p>', __( '[<strong>Record validation statistics</strong>] on [<strong>Settings</strong>] tab is not selected as [<strong>Enable</strong>].', 'ip-geo-block' ), '</p>', "\n";
 
 
393
  echo '<p>', __( 'Please set the proper condition to record and analyze the validation statistics.', 'ip-geo-block' ), '</p>', "\n";
394
  }
395
 
396
  public static function warn_validation() {
397
- echo '<p>', __( '[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab is [<strong>Disable</strong>].', 'ip-geo-block' ), '</p>', "\n";
 
 
398
  echo '<p>', __( 'Please set the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
399
  }
400
 
389
  *
390
  */
391
  public static function warn_statistics() {
392
+ $context = IP_Geo_Block_Admin::get_instance();
393
+ $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 5 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' );
394
+ echo '<p>', sprintf( __( '[ %sRecord &#8220;Statistics&#8221;%s ] is desabled.', 'ip-geo-block' ), '<a href="' . $url . '"><strong>', '</strong></a>' ), '</p>', "\n";
395
  echo '<p>', __( 'Please set the proper condition to record and analyze the validation statistics.', 'ip-geo-block' ), '</p>', "\n";
396
  }
397
 
398
  public static function warn_validation() {
399
+ $context = IP_Geo_Block_Admin::get_instance();
400
+ $url = esc_url( add_query_arg( array( 'page' => IP_Geo_Block::PLUGIN_NAME, 'tab' => '0', 'sec' => 5 ), $context->dashboard_url() ) . '#' . IP_Geo_Block::PLUGIN_NAME . '-section-5' );
401
+ echo '<p>', sprintf( __( '[ %sRecord &#8220;Logs&#8221;%s ] is desabled.', 'ip-geo-block' ), '<a href="' . $url . '"><strong>', '</strong></a>' ), '</p>', "\n";
402
  echo '<p>', __( 'Please set the proper condition to record and analyze the validation logs.', 'ip-geo-block' ), '</p>', "\n";
403
  }
404
 
admin/js/admin.js CHANGED
@@ -551,8 +551,10 @@
551
  function drawChart(tabNo) {
552
  if ('object' === typeof window.google) {
553
  if (1 === tabNo) {
554
- chart.drawPie(ID('chart-countries'));
555
- chart.drawLine(ID('chart-daily'), 'date');
 
 
556
  } else if (5 === tabNo) {
557
  $(ID('.', 'network')).each(function (i, obj) {
558
  // chart.drawLine($(obj).attr('id'), 'datetime');
@@ -992,6 +994,25 @@
992
  return false;
993
  }).change();
994
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
995
  // Show/Hide folding list at prevent malicious upload
996
  $(ID('@', 'validation_mimetype')).on('change', function (event) {
997
  var $this = $(this),
@@ -1070,7 +1091,7 @@
1070
  for (key in data) {
1071
  if (data.hasOwnProperty(key)) {
1072
  key = stripTag(key);
1073
- if (!$this.find('#' + (id = ID('%', key))).size()) {
1074
  i = input.cloneNode(false);
1075
  i.setAttribute('id', id);
1076
  i.setAttribute('value', key);
@@ -1170,9 +1191,9 @@
1170
  id = ID('!', 'exception_' + target + '_' + val);
1171
 
1172
  // make an anchor tab with search query
1173
- s = 'admin' === target ? key + '=' + val : '/' + key + '/' + val + '/';
1174
- s = '<a class="ip-geo-block-icon ip-geo-block-icon-alert" href="?page=ip-geo-block&tab=4&s='
1175
- + encodeURIComponent(s) + '" title="' + title.replace('%s', s) + '" target="_blank"><span></span></a>';
1176
 
1177
  // add a new list when not found in existent key
1178
  if (ext < 0) {
551
  function drawChart(tabNo) {
552
  if ('object' === typeof window.google) {
553
  if (1 === tabNo) {
554
+ if ($(ID('#', 'chart-countries')).length) {
555
+ chart.drawPie(ID('chart-countries'));
556
+ chart.drawLine(ID('chart-daily'), 'date');
557
+ }
558
  } else if (5 === tabNo) {
559
  $(ID('.', 'network')).each(function (i, obj) {
560
  // chart.drawLine($(obj).attr('id'), 'datetime');
994
  return false;
995
  }).change();
996
 
997
+ // CIDR calculator
998
+ $(ID('.', 'icon-cidr')).on('click', function () {
999
+ var src = $(ID('#', 'admin-styles-css')).get(0).href,
1000
+ win = window.open('about:blank', '', 'width=560,height=170'); // menubar=no,toolbar=no,location=no
1001
+ src = src.slice(0, src.lastIndexOf('css/'));
1002
+ win.document.write(
1003
+ '<!DOCTYPE html>' +
1004
+ '<html lang=en>' +
1005
+ '<meta charset=utf-8>' +
1006
+ '<title>CIDR calculator for IPv4 / IPv6</title>' +
1007
+ '<link href="' + src + 'css/cidr.min.css" rel=stylesheet>' +
1008
+ '<div class="row container"><div class=row id=i><fieldset class="col span_11"><legend>Range <input id=a type=button value=Clear tabindex=1></legend><textarea id=c name=range placeholder="192.168.0.0 - 192.168.255.255" rows=5 wrap=off tabindex=2></textarea></fieldset><ul class="col span_2" id=h><li class=row><input id=e type=button value=&rarr; class="col span_24" tabindex=3><li class=row><input id=f type=button value=&larr; class="col span_24" tabindex=6></ul><fieldset class="col span_11"><legend>CIDR <input id=b type=button value=Clear tabindex=4></legend><textarea id=d name=cidr placeholder=192.168.0.0/16 rows=5 wrap=off tabindex=5></textarea></fieldset></div><div class=row id=j><span class=col id=g> </span></div></div>' +
1009
+ /* '<div class="container row"><div class="row" id="top"><fieldset class="col span_11"><legend>Range <input type="button" id="r_clear" value="Clear" tabindex="1" /></legend><textarea name="range" id="r_text" rows="5" wrap="off" placeholder="192.168.0.0 - 192.168.255.255" tabindex="2"></textarea></fieldset><ul class="col span_2" id="b_conv"><li class="row"><input class="col span_24" type="button" id="r_conv" value="&rarr;" tabindex="3" /></li><li class="row"><input class="col span_24" type="button" id="c_conv" value="&larr;" tabindex="6" /></li></ul><fieldset class="col span_11"><legend>CIDR <input type="button" id="c_clear" value="Clear" tabindex="4" /></legend><textarea name="cidr" id="c_text" rows="5" wrap="off" placeholder="192.168.0.0/16" tabindex="5"></textarea></fieldset></div><div class="row" id="bottom"><span class="col" id="msg">&nbsp;</span></div></div>' +*/
1010
+ '<script src="' + src + 'js/cidr.min.js"></script>'
1011
+ );
1012
+ win.document.close();
1013
+ return false;
1014
+ });
1015
+
1016
  // Show/Hide folding list at prevent malicious upload
1017
  $(ID('@', 'validation_mimetype')).on('change', function (event) {
1018
  var $this = $(this),
1091
  for (key in data) {
1092
  if (data.hasOwnProperty(key)) {
1093
  key = stripTag(key);
1094
+ if (!$this.find('#' + (id = ID('!', 'exception_admin_' + key))).size()) {
1095
  i = input.cloneNode(false);
1096
  i.setAttribute('id', id);
1097
  i.setAttribute('value', key);
1191
  id = ID('!', 'exception_' + target + '_' + val);
1192
 
1193
  // make an anchor tab with search query
1194
+ s = 'admin' === target ? (key + '=' + val) : ('/' + key + '/' + val + '/');
1195
+ s = '<a class="ip-geo-block-icon ip-geo-block-icon-alert" href="' + ip_geo_block_auth.sites[0] + 'options-general.php' + // only main site
1196
+ '?page=ip-geo-block&tab=4&s=' + encodeURIComponent(s) + '" title="' + title.replace('%s', s) + '" target="_blank"><span></span></a>';
1197
 
1198
  // add a new list when not found in existent key
1199
  if (ext < 0) {
admin/js/admin.min.js CHANGED
@@ -3,4 +3,4 @@
3
  Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
4
  This software is released under the MIT License.
5
  */
6
- (function(b,f,t){function a(b,a){var c={".":".ip-geo-block-","#":"#ip-geo-block-","@":"#ip_geo_block_settings_",$:"ip-geo-block-","%":"ip_geo_block_","!":"ip_geo_block_settings_"};return"undefined"!==typeof a?c[b]+a:c.$+b}function aa(b){return b.toString().replace(/[&<>"']/g,function(b){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[b]}).replace(/&amp;(#\d{2,4}|\w{4,7});/g,"&$1;")}function k(b){return aa(b.toString().replace(/(<([^>]+)>)/ig,""))}function F(a,e){var c=b(f).width();c!==J&&(J=c,"undefined"===typeof p[a]&&(p[a]={id:!1,callback:e}),b(f).off("resize").on("resize",function(){!1!==p[a].id&&f.clearTimeout(p[a].id);p[a].time=f.setTimeout(p[a].callback,200);return!1}))}function w(c,e){e?b(a("#",c)).addClass(a("loading")):b(a("#",c)).removeClass(a("loading"))}function x(b,a){f.confirm(k(b))&&a()}function C(b,a,h){f.alert(k(a||d.msg[12].replace("%s",h)+" ("+b+")"))}function K(b,a){-1!==f.location.href.indexOf(b)&&(f.location=k(b)+(a?"&"+k(a):"")+"&ip-geo-block-auth-nonce="+D.nonce)}function m(a,e,h,q){a&&w(a,!0);e.action=d.action;e.nonce=d.nonce;b.post(d.url,e).done(function(b){h&&h(b)}).fail(function(b){C(b.status,b.responseText,e.action)}).always(function(){a&&("object"===typeof q?b.when.apply(b,q).then(function(){w(a,!1)}):w(a,!1))})}function M(b,a){m(b,{cmd:"clear-"+b,which:a},function(b){K(b.page,b.tab)})}function Q(b){m(b,{cmd:b},function(b){K(b.page,b.tab)})}function y(b){b.stopImmediatePropagation();return!1}function N(b,e){e?b.removeClass("folding-disable"):(b.children(a(".","hide")).hide(),b.addClass("folding-disable"),b.removeClass(a("dropdown")).addClass(a("dropup")))}function O(c,e,h){var q=0===c.prop("type").indexOf("checkbox")&&c.is(":checked")||0===c.prop("type").indexOf("select")&&"0"!==c.val();c.siblings('input[name^="'+a("%","settings")+'"]:checkbox').prop("disabled",!q);e.nextAll(a(".","settings-folding")).each(function(a,c){N(b(c),q&&h)})}function R(c){var e=a("@","validation_ajax_");N(c.closest("ul").next(),b(e+"1").is(":checked")||b(e+"2").is(":checked"))}function G(b){return String(b).replace(/[a-z]/gi,function(b){return String.fromCharCode(b.charCodeAt(0)+("n">b.toLowerCase()?13:-13))})}function ba(b,a){var c=new f.FileReader;c.onload=function(b){a&&a(b.target.result)};c.onerror=function(b){C("Error",b.target.error.code)};c.readAsText(b)}function S(c){var e=c.is(":checked"),h=b(a("@","public_target_rule")),d=c.closest("tr").nextAll("tr");d.find('[name^="'+a("%","settings")+'"]').prop("disabled",!e);d.find(a(".","desc")).css("opacity",e?1:.5);O(c,h,"1"===h.val()?!0:!1)}function P(c,e){c&&("string"===typeof c&&(c=JSON.parse(c)),e&&b('input[type="checkbox"]').prop("checked",!1).change(),b(a("#","import")).closest("form").deserialize(c),b(a("@","exception_admin")+","+a("@","validation_mimetype")).change(),b('select[name*="'+a("%","settings")+'"]').change(),b(a("@","validation_login")).change(),S(b(a("@","validation_public"))),R(b(a("@","validation_ajax_1"))),e&&(e=a("%","settings[providers][IPInfoDB]"),b(a("@","providers_IPInfoDB")).prop("checked",c[e]?!0:!1)))}function ca(b,a){var c=Math.ceil(b.length/a),e=[],d;for(d=0;d<c;++d){var l=d*a;e.push(b.slice(l,l+a))}return e}function z(c){"object"===typeof f.google&&(1===c?(g.drawPie(a("chart-countries")),g.drawLine(a("chart-daily"),"date")):5===c&&b(a(".","network")).each(function(a,c){g.drawStacked(b(c).attr("id"))}))}function T(b){if("object"===typeof f.google){var a=["corechart"];5===b&&a.push("bar");f.google.load("visualization","1",{packages:a,callback:function(){z(b)}});F("draw-chart."+b,function(){z(b)})}}function da(b){var a,c="undefined"!==typeof wpCookies&&wpCookies.getHash("ip-geo-block")||[];for(a in c)c.hasOwnProperty(a)&&(c[a]=c[a].replace(/[^ox\d]/g,"").split(""));"undefined"===typeof c[b]&&(c[b]=[]);return c}function A(a){var c,h,d=[];b.each(a,function(b,a){d[b]="";if("undefined"!==typeof a&&(h=a.length))for(d[b]=a[0]||"o",c=1;c<h;++c)d[b]+=a[c]||"o"});"undefined"!==typeof wpCookies&&wpCookies.setHash("ip-geo-block",d,new Date(Date.now()+2592E6),D.home+D.admin)}function ea(c){var e=da(c);b("form").on("click","h2,h3",function(){var d=b(this),q=d.closest("fieldset").data("section"),f=d.parent().nextAll(".panel-body").toggle();d.toggleClass(a("dropup")).toggleClass(a("dropdown"));(d=d.hasClass(a("dropdown")))?f.addClass(a("border")).trigger(a("show-body")):f.removeClass(a("border"));e[c][q]=d?"o":"x";A(e);z(c);return!1});b(a("#","toggle-sections")).on("click",function(){var d,f=b(a(".","field")).find("h2,h3"),g=[a("dropdown"),a("dropup")],l=f.filter("."+g[0]).length;f.each(function(h){d=b(this);d.removeClass(g.join(" ")).addClass(l?g[1]:g[0]);d=d.parent().nextAll(".panel-body").toggle(l?!1:!0);l?d.removeClass(a("border")):d.addClass(a("border")).trigger("show-body");e[c][h]=l?"x":"o"});A(e);z(c);return!1});return e}function U(c){b("body").append('<div style="display:none"><form method="POST" id="'+a("export-form")+'" action="'+d.url.replace("ajax.php","post.php")+'"><input type="hidden" name="action" value="'+d.action+'" /><input type="hidden" name="nonce" value="'+d.nonce+'" /><input type="hidden" name="cmd" value="'+c+'" /><input type="hidden" name="data" value="" id="'+a("export-data")+'"/><input type="submit" value="submit" /></form><input type="file" name="settings" id="'+a("file-dialog")+'" /></div>')}function V(b,a,d,f){b=b.cloneNode(!1);b.setAttribute("title",k(d));a=a.cloneNode(!1);a.setAttribute("class","dashicons dashicons-"+f);b.appendChild(a);return b}function W(c,e,h){b.extend(!0,b.fn.dataTable.defaults,h,{dom:"tp",serverSide:!1,autoWidth:!1,processing:!0,deferRender:!0,deferLoading:10,info:!1,lengthChange:!1,language:{emptyTable:d.i18n[1],loadingRecords:d.i18n[0],processing:d.i18n[0],zeroRecords:d.i18n[2],paginate:{first:"&laquo;",last:"&raquo;",next:"&rsaquo;",previous:"&lsaquo;"}},responsive:{details:{type:"column",target:"td:nth-child(n+2)"}},columnDefs:[{width:"1.25em",targets:0},{orderable:!1,targets:0},{searchable:!1,targets:0},{targets:[0],data:null,defaultContent:'<input type="checkbox">'}],pagingType:"full_numbers",pageLength:10,scroller:!0,scrollY:1E4,scrollCollapse:!0,drawCallback:function(c){var h=b(a("#",e.tableID)).find("td.dataTables_empty");3>c.iDraw?h.html(d.i18n[0]):3===c.iDraw&&(h.html(d.i18n[1]),h=b(a("@","search_filter")),h.val()&&h.trigger("keyup"))}});var g=b(a("#",e.tableID)).DataTable({ajax:{url:d.url,type:"POST",data:{cmd:e.ajaxCMD,action:d.action,nonce:d.nonce}},mark:!0}),k=function(){g.columns.adjust().responsive.recalc().draw(!1)};F("draw-table."+c,k);b(a("#",e.sectionID)).find(".panel-body").off(a("show-body")).on(a("show-body"),function(){k();return!1}).off("change").on("change",'th>input[type="checkbox"]',function(){var c=b(this).prop("checked");b(a("#",e.tableID)).find('td>input[type="checkbox"]').prop("checked",c);return!1});b(a("#","select-target")).off("change").on("change",function(){var c=b(this).find('input[name="'+a("target")+'"]:checked').val();g.columns(e.targetColumn).search("all"!==c?c:"").draw();return!1}).trigger("change");b(a("#","bulk-action")).off("click").on("click",function(){var h=b(this).prev().val(),f=/(<([^>]+)>)/ig,r={IP:[],AS:[]},k,q=b("table.dataTable").find("td>input:checked");if(!h)return!1;if(!q.length)return C(null,d.msg[11]),!1;q.each(function(){k=g.cell(this.parentNode).data();r.IP.push(k[e.columnIP].replace(f,""));r.AS.push(k[e.columnAS].replace(f,""))});r.IP.length&&m("loading",{cmd:h,which:r},function(d){"undefined"!==typeof d.page?K(d.page,"tab="+c):d&&(g.ajax.reload(),b(a("#",e.tableID)).find('th input[type="checkbox"]').prop("checked",!1))});return!1});b(a("@","search_filter")).off("keyup").on("keyup",function(){g.search(this.value,!1,!0,!/[A-Z]/.test(this.value)).draw();return!1});b(a("#","reset-filter")).off("click").on("click",function(){b(a("@","search_filter")).val("");g.search("").draw();return!1});b(a("@","clear_all")).off("click").on("click",function(){x(d.msg[1===c?4:5],function(){M(1===c?"cache":"logs",null)});return!1});b("table.dataTable tbody").on("click","a",function(){var a=f.location.search.slice(1).split("&"),e=a.length,d={},h;for(h=0;h<e;++h){var g=a[h].split("=");d[g[0]]=g[1]}d.tab=1===c?4:2;d.s=b(this).text().replace(/[^\w\.:\*]/,"");g=[];for(h in d)d.hasOwnProperty(h)&&g.push(h+"="+d[h]);f.open(f.location.pathname+"?"+g.join("&"),"_blank");return!1});return g}var p=[],J=b(f).width(),d=IP_GEO_BLOCK,D=IP_GEO_BLOCK_AUTH;b.fn.deserialize=function(a){return this.each(function(){var c,d=this,g={};for(c in a)if(a.hasOwnProperty(c))try{var f=decodeURIComponent(c);var k=decodeURIComponent(a[c]);g.hasOwnProperty(f)||(g[f]=[]);g[f].push(k)}catch(H){}b.each(g,function(a,e){c=b('[name="'+a+'"]:input',d).val(e);"hidden"!==c.attr("type")&&c.before('<span style="color:red">*</span>')})})};var g={dataPie:[],viewPie:[],drawPie:function(a){if("undefined"===typeof g.dataPie[a]){var c=g.dataPie[a]=new f.google.visualization.DataTable;c.addColumn("string","Country");c.addColumn("number","Requests");c=b.parseJSON(b("#"+a).attr("data-"+a));g.dataPie[a].addRows(c)}"undefined"===typeof g.viewPie[a]&&(g.viewPie[a]=new f.google.visualization.PieChart(t.getElementById(a)));"undefined"!==typeof g.dataPie[a]&&"undefined"!==typeof g.viewPie[a]&&0<b("#"+a).width()&&g.viewPie[a].draw(g.dataPie[a],{backgroundColor:{fill:"transparent"},chartArea:{left:0,top:"5%",width:"100%",height:"90%"},sliceVisibilityThreshold:.015})},dataLine:[],viewLine:[],drawLine:function(a,d){if("undefined"===typeof g.dataLine[a]){var c=g.dataLine[a]=new f.google.visualization.DataTable;c.addColumn(d,"Date");c.addColumn("number","comment");c.addColumn("number","xmlrpc");c.addColumn("number","login");c.addColumn("number","admin");c.addColumn("number","public");var e=b.parseJSON(b("#"+a).attr("data-"+a));var k=e.length;for(c=0;c<k;++c)e[c][0]=new Date(1E3*e[c][0]);g.dataLine[a].addRows(e)}"undefined"===typeof g.viewLine[a]&&(g.viewLine[a]=new f.google.visualization.LineChart(t.getElementById(a)));"undefined"!==typeof g.dataLine[a]&&"undefined"!==typeof g.viewLine[a]&&0<(c=b("#"+a).width())&&g.viewLine[a].draw(g.dataLine[a],{legend:{position:"bottom"},backgroundColor:{fill:"transparent"},hAxis:{format:"MM/dd"+("datetime"===d?" HH:mm":"")},vAxis:{textPosition:320<c?"out":"in"},chartArea:{left:320<c?"10%":0,top:"5%",width:"100%",height:"75%"}})},dataStacked:[],viewStacked:[],drawStacked:function(c){var d,h,k=b("#"+c);"undefined"===typeof g.dataStacked[c]&&(h=b.parseJSON(k.attr("data-"+c)))&&(h.unshift(["site","comment","xmlrpc","login","admin","poblic",{role:"link"}]),g.dataStacked[c]=f.google.visualization.arrayToDataTable(h));"undefined"===typeof g.viewStacked[c]&&(g.viewStacked[c]=new f.google.visualization.BarChart(t.getElementById(c)),f.google.visualization.events.addListener(g.viewStacked[c],"animationfinish",function(){var d,e,f,h=[],m=g.dataStacked[c],l=m.getNumberOfRows(),q=b(a("#","open-new")).prop("checked");for(d=0;d<l;d++)h.push({label:m.getValue(d,0),link:m.getValue(d,6)});l="http://www.w3.org/1999/xlink";k.find("text").each(function(b,a){f=a.parentNode;var c;if(c="g"===f.tagName.toLowerCase()){a:{c=a.textContent;var d,g=h.length;c=c.replace("\u2026","");for(d=0;d<g;++d)if(h.hasOwnProperty(d)&&0===h[d].label.indexOf(c)){c=d;break a}c=-1}c=-1!==(b=c)}c&&(e=t.createElementNS("http://www.w3.org/2000/svg","a"),e.setAttributeNS(l,"xlink:href",h[b].link),e.setAttributeNS(l,"title",h[b].label),e.setAttribute("target",q?"_blank":"_self"),e.setAttribute("class","site"),e.appendChild(f.removeChild(a)),f.appendChild(e),h.splice(b,1))})}));if(0<(d=k.width())&&"undefined"!==typeof g.dataStacked[c]&&"undefined"!==typeof g.viewStacked[c]){var m=a("range");var l=b.parseJSON(b("."+m).attr("data-"+m));h=g.dataStacked[c];m=40*h.getNumberOfRows();g.viewStacked[c].draw(h,{width:d,height:m+80,allowHtml:!0,isStacked:!0,legend:{position:"top"},chartArea:{top:50,left:90,width:"100%",height:m},hAxis:{minValue:0,maxValue:l[1]},backgroundColor:{fill:"transparent"},animation:{startup:!0,duration:200,easing:"out"}})}},ajaxStacked:function(c,d,h,f){c=Math.max(0,Math.min(4,c));d=5*Math.max(1,Math.min(5,d));m(null,{cmd:"restore-network",which:c,offset:d*h*f,length:d},function(c){var e,f,h,k,m;c=ca(c,d);b(a(".","network")).each(function(a,l){if("undefined"!==typeof c[a]){k=b(l).attr("id");m=g.dataStacked[k];h=Math.min(d,c[a].length);for(e=0;e<h;++e)for(f=1;5>=f;f++)m.setValue(e,f,c[a][e][f]);g.drawStacked(k)}})})}};b(function(){var c=Number(d.tab)||0,e=ea(c);b(a(".","inhibit")).on("submit",function(){return!1});switch(c){case 0:var h=a("%","settings");b('[id^="'+a("scan-")+'"]').on("click",function(){var c=b(this),d=c.attr("id"),e=c.parent();m(d.replace(/^.*(?:scan)/,"scanning"),{cmd:"scan-code",which:d.replace(a("scan-"),"")},function(b){e.children("ul").length||e.append('<ul id="'+a("code-list")+'"></ul>');e=e.children("ul").empty();for(c in b)if(b.hasOwnProperty(c)){var c=k(c);if("string"===typeof b[c])var d=k(b[c]);else d=k(b[c].code),c='<abbr title="'+k(b[c].type)+'">'+c+"</abbr>";e.append("<li>"+c+' : <span class="'+a("notice")+'">'+d+"</span></li>")}e.show("slow")});return!1});b(a("@","matching_rule")).on("change",function(){var c=this.value;b(a("@","white_list")).closest("tr").toggle("0"===c);b(a("@","black_list")).closest("tr").toggle("1"===c);return!1}).change();b(a("@","validation_mimetype")).on("change",function(c){var d=b(this),n=parseInt(d.val(),10);d.nextAll(a(".","settings-folding")).each(function(a,c){N(b(c),n===a+1||n&&2===a)});return y(c)}).change();b('select[name*="response_code"]').on("change",function(c){var d=b(this),n=parseInt(d.val()/100,10),e=d.closest("tr").nextAll("tr");if(0<=d.attr("name").indexOf("public")&&-1===parseInt(b(a("@","public_matching_rule")).val(),10))return e.each(function(a){1>=a&&b(this).hide()}),y(c);3>=n?e.each(function(a){0===a?b(this).show():1===a&&b(this).hide()}):e.each(function(a){0===a?b(this).hide():1===a&&b(this).show()});return y(c)}).change();b(a("#","decode")).on("click",function(){var c=b(a("@","signature")),d=c.val();-1===d.search(/,/)?c.val(G(f.atob(d))):c.val(f.btoa(G(d)));return!1});b(a("@","validation_login")).on("change",function(a){var c=b(this);O(c,c,h,!0);return y(a)}).change();m(null,{cmd:"get-actions"},function(c){var e,n=b(a("#","list-admin")),f=t.createElement("li"),h=t.createElement("input"),g=t.createElement("label"),l=t.createElement("dfn"),q=t.createElement("span");for(v in c)if(c.hasOwnProperty(v)){var v=k(v);if(!n.find("#"+(e=a("%",v))).size()){var p=h.cloneNode(!1);p.setAttribute("id",e);p.setAttribute("value",v);p.setAttribute("type","checkbox");var r=f.cloneNode(!1);r.appendChild(p);p=g.cloneNode(!1);p.setAttribute("for",e);p.appendChild(t.createTextNode(v));r.appendChild(p);1&c[v]&&r.appendChild(V(l,q,d.msg[6],"lock"));2&c[v]&&r.appendChild(V(l,q,d.msg[7],"unlock"));n.append(r)}}b(a(".","icon-unlock")).on("click",function(){b(a("#","list-admin")+">li").filter(function(){return!b(this).find(".dashicons-unlock").length}).toggle();return!1});b(a("@","exception_admin")).on("change",function(c){var d=b.grep(b(this).val().split(","),function(b){return""!==b.replace(/^\s+|\s+$/g,"")});b(a("#","list-admin")).find("input").each(function(){var a=b(this),c=a.val();a.prop("checked",-1!==b.inArray(c,d))});return y(c)}).change();b(a("#","list-admin")).on("click","input",function(){var c=b(this);var d=b(a("@","exception_admin")),e=c.val(),n=b.grep(d.val().split(","),function(b){return""!==b.replace(/^\s+|\s+$/g,"")});c=b.inArray(e,n);-1===c?n.push(e):n.splice(c,1);d.val(n.join(",")).change()});b(a(".","icon-find")).on("click",function(){var c=b(this),e=[],n=0,f,h,g,E,fa=k(d.msg[9]),u=k(c.data("target"));b(a("#","find-"+u)).empty();c.next().children(a(".","find-desc")).show();c=b(a("#","list-"+u));c.children("li").each(function(a,c){e.push(b(c).find("input").val())});m("find-"+u,{cmd:"find-"+u},function(m){for(var l in m)m.hasOwnProperty(l)&&(++n,f=k(m[l]),l=k(l),h=b.inArray(l,e),g=a("!","exception_"+u+"_"+l),E="admin"===u?f+"="+l:"/"+f+"/"+l+"/",E='<a class="ip-geo-block-icon ip-geo-block-icon-alert" href="?page=ip-geo-block&tab=4&s='+encodeURIComponent(E)+'" title="'+fa.replace("%s",E)+'" target="_blank"><span></span></a>',0>h?(e.push(l),c.prepend('<li><input id="'+g+'" value="'+l+'" type="checkbox" '+("admin"===u?"/>":"name=ip_geo_block_settings[exception]["+u+"]["+l+"] />")+'<label for="'+g+'">'+l+"</lable>"+E+"</li>")):(g=c.find("#"+g).parent(),g.find("a").length||g.append(E)));b(a("@","exception_"+u)).trigger("change");b(a("#","find-"+u)).append(' <span class="ip-geo-block-found">'+k(d.msg[8].replace("%d",n))+"</span>")});return!1})});b('input[id^="'+a("!","validation_ajax_")+'"]').on("change",function(){R(b(this))}).change();b(a("@","validation_public")).on("change",function(a){S(b(this));return y(a)}).change();b(a("@","public_matching_rule")).on("change",function(c){var d=this.value;b(a("@","public_white_list")).closest("tr").toggle("0"===d);b(a("@","public_black_list")).closest("tr").toggle("1"===d);b(a("@","public_response_code")).change().closest("tr").toggle("-1"!==d);return y(c)}).change();b(a("@","update")).on("click",function(){m("download",{cmd:"download"},function(c){var d;for(d in c)if(c.hasOwnProperty(d)){var e=c[d];for(n in e)if(e.hasOwnProperty(n)){var n=k(n);e[n].filename&&b(a("@",d+"_"+n+"_path")).val(k(e[n].filename));e[n].message&&b(a("#",d+"-"+n)).text(k(e[n].message))}}});return!1});b(a("@","save_statistics")).on("change",function(){b(a("@","validation_recdays")).prop("disabled",!b(this).prop("checked"));return!1}).trigger("change");b(a("@","validation_reclogs")).on("change",function(){var a=b(this);a.parent().parent().nextAll().find("input").prop("disabled",0===Number(a.prop("selectedIndex")))}).trigger("change");b(a("@","comment_pos")).on("change",function(){var a=b(this);a.nextAll('input[type="text"]').prop("disabled",0===Number(a.prop("selectedIndex")))}).trigger("change");U("validate");b(a("#","export")).on("click",function(){if("undefined"===typeof JSON)return C(null,k(d.msg[10])),!1;var c=h,e={};b.each(b(this).closest("form").serializeArray(),function(b,a){-1!==a.name.indexOf(c)&&(e[a.name]=a.value)});e[c+="[signature]"]=f.btoa(G(e[c]));b(a("#","export-data")).val(JSON.stringify(e));b(a("#","export-form")).submit();return!1});b(a("#","file-dialog")).on("change",function(a){if("undefined"===typeof f.FileReader)return C(null,k(d.msg[10])),!1;var b;(a=a.target.files[0])&&ba(a,function(a){a=JSON.parse(a);b=h+"[signature]";"undefined"!==typeof a[b]&&(a[b]=f.btoa(G(a[b])));m("export-import",{cmd:"validate",data:JSON.stringify(a)},function(a){P(a,!0)})});return!1});b(a("#","import")).on("click",function(){b(a("#","file-dialog")).click();return!1});b(a("#","default")).on("click",function(){x(d.msg[0],function(){m("pre-defined",{cmd:"import-default"},function(a){P(a,!0)})});return!1});b(a("#","preferred")).on("click",function(){x(d.msg[0],function(){m("pre-defined",{cmd:"import-preferred"},function(a){P(a,!1)})});return!1});b(a("@","reset_live")).on("click",function(){m("reset-live",{cmd:"reset-live"});return!1});b(a("@","create_table")).on("click",function(){x(d.msg[1],function(){Q("create-table")});return!1});b(a("@","delete_table")).on("click",function(){x(d.msg[2],function(){Q("delete-table")});return!1});b(a("#","show-info")).on("click",function(){b(a("#","wp-info")).empty();m("wp-info",{cmd:"show-info"},function(c){var d,e=[];for(d in c)c.hasOwnProperty(d)&&e.push("- "+d+" "+c[d]);b(a("#","wp-info")).html('<textarea class="regular-text code" rows="'+e.length+'">'+e.join("\n")+"</textarea>").find("textarea").select();return!1})});b('select[name^="'+h+'"]').on("change",function(){var c=b(this),d,e=a(".","desc");c.next(e).empty();(d=c.children("option:selected").data("desc"))&&c.next(e).html(b.parseHTML(d));O(c,c,h,!0);return!1}).change();b(a(".","icon-cycle")).on("click",function(){var c=b(this).nextAll("li"),d=c.find(a("@","exception_admin"));c=c.find("input:checkbox").filter(":visible");var e=c.filter(":checked").length;c.prop("checked",!e);if(d.length)if(e)d.val("");else{var f=[];c.each(function(a,c){f.push(b(c).val())});d.val(f.join(","))}b(this).blur();return!1});b(a(".","settings-folding>dfn")).on("click",function(){var c=a("drop"),d=b(this).parent();d.children(a(".","hide")).toggle();d.toggleClass(c+"up").toggleClass(c+"down");d.hasClass(c+"up")&&d.children("div").hide();return!1});b("#submit").on("click",function(){var c=b(a("@","signature")),d=c.val();-1!==d.indexOf(",")&&c.val(f.btoa(G(d)));return!0});break;case 1:T(c);var q=0;b(a("#","sort-slug")).on("click",function(){var a=b(this).closest("ol"),c=a.children("li");(q=!q)?c.sort(function(a,c){return b(a).text()>b(c).text()}):c.sort(function(a,c){return parseInt(b(a).text().replace(/^.*\((\d+)\)$/,"$1"),10)<=parseInt(b(c).text().replace(/^.*\((\d+)\)$/,"$1"),10)});a.children("li").remove();c.appendTo(a)});b(a("@","clear_statistics")).on("click",function(){x(d.msg[3],function(){M("statistics",null)});return!1});b(a("@","clear_logs")).on("click",function(){x(d.msg[5],function(){M("logs",null)});return!1});W(c,{tableID:"statistics-cache",ajaxCMD:"restore-cache",sectionID:"section-2",targetColumn:4,columnIP:1,columnAS:3},{columns:[{title:'<input type="checkbox">'},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[6]},{title:d.i18n[7]},{title:d.i18n[8]},{title:d.i18n[9]}],columnDefs:[{responsivePriority:0,targets:0},{responsivePriority:1,targets:1},{responsivePriority:2,targets:2},{responsivePriority:6,targets:3},{responsivePriority:7,targets:4},{responsivePriority:3,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{className:"all",targets:[0,1,2,5]}]});break;case 4:var p={tableID:"validation-logs",sectionID:"section-0",targetColumn:6,columnIP:3,columnAS:5},l={columns:[{title:'<input type="checkbox">'},{title:""},{title:d.i18n[10]},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[7]},{title:d.i18n[11]},{title:d.i18n[12]},{title:d.i18n[13]},{title:d.i18n[14]},{title:d.i18n[15]}],columnDefs:[{responsivePriority:11,targets:0},{responsivePriority:0,targets:1},{responsivePriority:1,targets:2},{responsivePriority:2,targets:3},{responsivePriority:3,targets:4},{responsivePriority:6,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{responsivePriority:7,targets:8},{responsivePriority:8,targets:9},{responsivePriority:9,targets:10},{responsivePriority:10,targets:11},{visible:!1,targets:1},{className:"all",targets:[0,2,3,4]},{className:"none",targets:[8,9,10,11]}]},H=null,r=null,z=b(a("#","live-loading")),I=null,w=function(){H&&(f.clearTimeout(H),H=null);r&&(z.removeClass(a("live-timer")),f.clearTimeout(r),r=null)},D=function(){w();m("live-loading",{cmd:"live-start"},function(a){if(a.error)C(null,a.error);else if(a.data.length){var b,c=a.data.length;for(b=0;b<c;b++)I.row.add(a.data[b]);I.draw(!1)}H=f.setTimeout(D,1E3*d.interval)})},F=function(a,b){w();m(null,{cmd:a||"live-stop",callback:b})},J=function(){F("live-pause",function(){z.addClass(a("live-timer"));r=f.setTimeout(function(){w();b(a("#","live-log-stop")).prop("checked",!0)},1E3*d.timeout)})},B=a(""),X=function(a,c,d){-1!==c[7].indexOf("passed")?b(a).addClass(B+d+"passed"):b(a).addClass(B+d+"blocked")},Y=b(a("#","live-log")),Z=b(a("#","live-update"));b(a("#","validation-logs")).on("animationend",function(){b(this).find('tr[class*="'+B+'new"]').each(function(){var a=b(this);-1!==a.prop("class").indexOf("passed")?a.addClass(B+"passed").removeClass(B+"new-passed"):a.addClass(B+"blocked").removeClass(B+"new-blocked")});return!1});Y.on("change",function(){switch(b('input[name="'+a("live-log")+'"]:checked').val()){case "start":D();break;case "pause":J();break;case "stop":F()}});Z.on("change",function(){var d=Y.closest("tr"),f=Z.prop("checked");e[c][1]=f?"o":"x";A(e);I&&I.clear().destroy();f?(d.show().next().next().next().nextAll().hide(),p.ajaxCMD="live-stop",l.order=[1,"desc"],l.createdRow=function(a,b){X(a,b,"new-")}):(d.hide().next().next().next().nextAll().show(),p.ajaxCMD="restore-logs",l.order=[0,""],l.createdRow=function(a,b){X(a,b,"")});b(a("#","live-log-stop")).trigger("click");I=W(c,p,l);return!1}).trigger("change");U("export-logs");b(a("#","export-logs")).on("click",function(){b(a("#","export-form")).submit();return!1});break;case 2:b(f).on(a("gmap-error"),function(){m(null,{cmd:"gmap-error"},function(a){K(a.page,a.tab)})});var L=b(a("#","map"));"object"===typeof f.google?L.each(function(){b(this).GmapRS()}):L.each(function(){b(this).empty().html('<iframe src="'+d.altgmap+'?output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')});b('select[id^="'+a("!","service")+'"]').on("change",function(){e[c][3]=b(this).prop("selectedIndex");A(e)}).change();b(a("@","get_location")).on("click",function(){var c=b(a("#","whois")),d=b(a("@","ip_address")).val();if(d){c.hide().empty();var e=b.whois(d,function(d){var e,f="";for(e=0;e<d.length;++e)f+="<tr><td>"+d[e].name+"</td><td>"+d[e].value+"</td></tr>";c.html('<fieldset id="'+a("section-1")+'" class="'+a("field")+' panel panel-default" data-section="1"><legend class="panel-heading"><h3 id="'+a("whois-title")+'" class="'+a("dropdown")+'">Whois</h3></legend><div class="panel-body '+a("border")+'"><table class="'+a("table")+'">'+f+"</table></div></fieldset>").fadeIn("slow");b(a("#","whois-title")).on("click",function(){var c=b(this);c.parent().nextAll().toggle();c.toggleClass(a("dropup")).toggleClass(a("dropdown"));return!1})});m("loading",{cmd:"search",ip:d,which:b(a("@","service")).val()},function(b){var c="",e=k(b.latitude||"0"),g=k(b.longitude||"0"),h=b.latitude||b.longitude?8:2;for(l in b)if(b.hasOwnProperty(l)){var l=k(l);c+='<li><span class="'+a("title")+'">'+l+' : </span><span class="'+a("result")+'">'+k(b[l])+"</span></li>"}"object"===typeof f.google?L.GmapRS("addMarker",{latitude:e,longitude:g,title:d,content:"<ul>"+c+"</ul>",show:!0,zoom:h}):L.css({height:"600px",backgroundColor:"transparent"}).empty().html('<ul style="margin-top:0; margin-left:1em;"><li><span class="'+a("title")+'">IP address : </span><span class="'+a("result")+'">'+k(d)+"</span></li>"+c+'</ul><iframe src="//maps.google.com/maps?q='+e+","+g+"&z="+h+'&output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')},[e])}return!1});b(a("@","ip_address")).val()&&b(a("@","get_location")).click();break;case 5:T(c),b("input[name="+a("duration")+"]:radio").on("click",function(){var a=b('div[class*="paginate"]').find('a[class*="current"]').text();e[c][2]=b(this).val()||0;e[c][3]=e[c][3]||2;e[c][4]=e[c][4]||1;A(e);g.ajaxStacked(e[c][2],e[c][3],e[c][4],a-1)}),b(a("#","open-new")).on("change",function(){var d=b(this).prop("checked");e[c][1]=d?"o":"x";A(e);b(a("#","section-0 svg")).find("a").each(function(){this.setAttribute("target",d?"_blank":"_self")})}),b(a("#","apply-layout")).on("click",function(){var d=b(a("#","select-layout"));e[c][3]=d.find('select[name="rows"] option:selected').val();e[c][4]=d.find('select[name="cols"] option:selected').val();A(e)}),b("ul.wp-submenu>li.wp-first-item").removeClass("current").next().addClass("current")}})})(jQuery,window,document);
3
  Copyright (c) 2013-2018 tokkonopapa (tokkonopapa@yahoo.com)
4
  This software is released under the MIT License.
5
  */
6
+ (function(b,f,t){function a(b,a){var c={".":".ip-geo-block-","#":"#ip-geo-block-","@":"#ip_geo_block_settings_",$:"ip-geo-block-","%":"ip_geo_block_","!":"ip_geo_block_settings_"};return"undefined"!==typeof a?c[b]+a:c.$+b}function M(b){return b.toString().replace(/[&<>"']/g,function(b){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[b]}).replace(/&amp;(#\d{2,4}|\w{4,7});/g,"&$1;")}function k(b){return M(b.toString().replace(/(<([^>]+)>)/ig,""))}function E(a,e){var c=b(f).width();c!==F&&(F=c,"undefined"===typeof p[a]&&(p[a]={id:!1,callback:e}),b(f).off("resize").on("resize",function(){!1!==p[a].id&&f.clearTimeout(p[a].id);p[a].time=f.setTimeout(p[a].callback,200);return!1}))}function w(c,e){e?b(a("#",c)).addClass(a("loading")):b(a("#",c)).removeClass(a("loading"))}function x(b,a){f.confirm(k(b))&&a()}function D(b,a,g){f.alert(k(a||d.msg[12].replace("%s",g)+" ("+b+")"))}function J(b,a){-1!==f.location.href.indexOf(b)&&(f.location=k(b)+(a?"&"+k(a):"")+"&ip-geo-block-auth-nonce="+K.nonce)}function m(a,e,g,q){a&&w(a,!0);e.action=d.action;e.nonce=d.nonce;b.post(d.url,e).done(function(b){g&&g(b)}).fail(function(b){D(b.status,b.responseText,e.action)}).always(function(){a&&("object"===typeof q?b.when.apply(b,q).then(function(){w(a,!1)}):w(a,!1))})}function N(b,a){m(b,{cmd:"clear-"+b,which:a},function(b){J(b.page,b.tab)})}function R(b){m(b,{cmd:b},function(b){J(b.page,b.tab)})}function y(b){b.stopImmediatePropagation();return!1}function O(b,e){e?b.removeClass("folding-disable"):(b.children(a(".","hide")).hide(),b.addClass("folding-disable"),b.removeClass(a("dropdown")).addClass(a("dropup")))}function P(c,e,g){var q=0===c.prop("type").indexOf("checkbox")&&c.is(":checked")||0===c.prop("type").indexOf("select")&&"0"!==c.val();c.siblings('input[name^="'+a("%","settings")+'"]:checkbox').prop("disabled",!q);e.nextAll(a(".","settings-folding")).each(function(a,c){O(b(c),q&&g)})}function S(c){var e=a("@","validation_ajax_");O(c.closest("ul").next(),b(e+"1").is(":checked")||b(e+"2").is(":checked"))}function G(b){return String(b).replace(/[a-z]/gi,function(b){return String.fromCharCode(b.charCodeAt(0)+("n">b.toLowerCase()?13:-13))})}function ba(b,a){var c=new f.FileReader;c.onload=function(b){a&&a(b.target.result)};c.onerror=function(b){D("Error",b.target.error.code)};c.readAsText(b)}function T(c){var e=c.is(":checked"),g=b(a("@","public_target_rule")),d=c.closest("tr").nextAll("tr");d.find('[name^="'+a("%","settings")+'"]').prop("disabled",!e);d.find(a(".","desc")).css("opacity",e?1:.5);P(c,g,"1"===g.val()?!0:!1)}function Q(c,e){c&&("string"===typeof c&&(c=JSON.parse(c)),e&&b('input[type="checkbox"]').prop("checked",!1).change(),b(a("#","import")).closest("form").deserialize(c),b(a("@","exception_admin")+","+a("@","validation_mimetype")).change(),b('select[name*="'+a("%","settings")+'"]').change(),b(a("@","validation_login")).change(),T(b(a("@","validation_public"))),S(b(a("@","validation_ajax_1"))),e&&(e=a("%","settings[providers][IPInfoDB]"),b(a("@","providers_IPInfoDB")).prop("checked",c[e]?!0:!1)))}function ca(b,a){var c=Math.ceil(b.length/a),e=[],d;for(d=0;d<c;++d){var l=d*a;e.push(b.slice(l,l+a))}return e}function z(c){"object"===typeof f.google&&(1===c?b(a("#","chart-countries")).length&&(h.drawPie(a("chart-countries")),h.drawLine(a("chart-daily"),"date")):5===c&&b(a(".","network")).each(function(a,c){h.drawStacked(b(c).attr("id"))}))}function U(b){if("object"===typeof f.google){var a=["corechart"];5===b&&a.push("bar");f.google.load("visualization","1",{packages:a,callback:function(){z(b)}});E("draw-chart."+b,function(){z(b)})}}function da(b){var a,c="undefined"!==typeof wpCookies&&wpCookies.getHash("ip-geo-block")||[];for(a in c)c.hasOwnProperty(a)&&(c[a]=c[a].replace(/[^ox\d]/g,"").split(""));"undefined"===typeof c[b]&&(c[b]=[]);return c}function A(a){var c,g,d=[];b.each(a,function(b,a){d[b]="";if("undefined"!==typeof a&&(g=a.length))for(d[b]=a[0]||"o",c=1;c<g;++c)d[b]+=a[c]||"o"});"undefined"!==typeof wpCookies&&wpCookies.setHash("ip-geo-block",d,new Date(Date.now()+2592E6),K.home+K.admin)}function ea(c){var e=da(c);b("form").on("click","h2,h3",function(){var d=b(this),q=d.closest("fieldset").data("section"),f=d.parent().nextAll(".panel-body").toggle();d.toggleClass(a("dropup")).toggleClass(a("dropdown"));(d=d.hasClass(a("dropdown")))?f.addClass(a("border")).trigger(a("show-body")):f.removeClass(a("border"));e[c][q]=d?"o":"x";A(e);z(c);return!1});b(a("#","toggle-sections")).on("click",function(){var d,f=b(a(".","field")).find("h2,h3"),h=[a("dropdown"),a("dropup")],l=f.filter("."+h[0]).length;f.each(function(g){d=b(this);d.removeClass(h.join(" ")).addClass(l?h[1]:h[0]);d=d.parent().nextAll(".panel-body").toggle(l?!1:!0);l?d.removeClass(a("border")):d.addClass(a("border")).trigger("show-body");e[c][g]=l?"x":"o"});A(e);z(c);return!1});return e}function V(c){b("body").append('<div style="display:none"><form method="POST" id="'+a("export-form")+'" action="'+d.url.replace("ajax.php","post.php")+'"><input type="hidden" name="action" value="'+d.action+'" /><input type="hidden" name="nonce" value="'+d.nonce+'" /><input type="hidden" name="cmd" value="'+c+'" /><input type="hidden" name="data" value="" id="'+a("export-data")+'"/><input type="submit" value="submit" /></form><input type="file" name="settings" id="'+a("file-dialog")+'" /></div>')}function W(b,a,d,f){b=b.cloneNode(!1);b.setAttribute("title",k(d));a=a.cloneNode(!1);a.setAttribute("class","dashicons dashicons-"+f);b.appendChild(a);return b}function X(c,e,g){b.extend(!0,b.fn.dataTable.defaults,g,{dom:"tp",serverSide:!1,autoWidth:!1,processing:!0,deferRender:!0,deferLoading:10,info:!1,lengthChange:!1,language:{emptyTable:d.i18n[1],loadingRecords:d.i18n[0],processing:d.i18n[0],zeroRecords:d.i18n[2],paginate:{first:"&laquo;",last:"&raquo;",next:"&rsaquo;",previous:"&lsaquo;"}},responsive:{details:{type:"column",target:"td:nth-child(n+2)"}},columnDefs:[{width:"1.25em",targets:0},{orderable:!1,targets:0},{searchable:!1,targets:0},{targets:[0],data:null,defaultContent:'<input type="checkbox">'}],pagingType:"full_numbers",pageLength:10,scroller:!0,scrollY:1E4,scrollCollapse:!0,drawCallback:function(c){var g=b(a("#",e.tableID)).find("td.dataTables_empty");3>c.iDraw?g.html(d.i18n[0]):3===c.iDraw&&(g.html(d.i18n[1]),g=b(a("@","search_filter")),g.val()&&g.trigger("keyup"))}});var h=b(a("#",e.tableID)).DataTable({ajax:{url:d.url,type:"POST",data:{cmd:e.ajaxCMD,action:d.action,nonce:d.nonce}},mark:!0}),k=function(){h.columns.adjust().responsive.recalc().draw(!1)};E("draw-table."+c,k);b(a("#",e.sectionID)).find(".panel-body").off(a("show-body")).on(a("show-body"),function(){k();return!1}).off("change").on("change",'th>input[type="checkbox"]',function(){var c=b(this).prop("checked");b(a("#",e.tableID)).find('td>input[type="checkbox"]').prop("checked",c);return!1});b(a("#","select-target")).off("change").on("change",function(){var c=b(this).find('input[name="'+a("target")+'"]:checked').val();h.columns(e.targetColumn).search("all"!==c?c:"").draw();return!1}).trigger("change");b(a("#","bulk-action")).off("click").on("click",function(){var g=b(this).prev().val(),f=/(<([^>]+)>)/ig,r={IP:[],AS:[]},k,q=b("table.dataTable").find("td>input:checked");if(!g)return!1;if(!q.length)return D(null,d.msg[11]),!1;q.each(function(){k=h.cell(this.parentNode).data();r.IP.push(k[e.columnIP].replace(f,""));r.AS.push(k[e.columnAS].replace(f,""))});r.IP.length&&m("loading",{cmd:g,which:r},function(d){"undefined"!==typeof d.page?J(d.page,"tab="+c):d&&(h.ajax.reload(),b(a("#",e.tableID)).find('th input[type="checkbox"]').prop("checked",!1))});return!1});b(a("@","search_filter")).off("keyup").on("keyup",function(){h.search(this.value,!1,!0,!/[A-Z]/.test(this.value)).draw();return!1});b(a("#","reset-filter")).off("click").on("click",function(){b(a("@","search_filter")).val("");h.search("").draw();return!1});b(a("@","clear_all")).off("click").on("click",function(){x(d.msg[1===c?4:5],function(){N(1===c?"cache":"logs",null)});return!1});b("table.dataTable tbody").on("click","a",function(){var a=f.location.search.slice(1).split("&"),e=a.length,d={},g;for(g=0;g<e;++g){var h=a[g].split("=");d[h[0]]=h[1]}d.tab=1===c?4:2;d.s=b(this).text().replace(/[^\w\.:\*]/,"");h=[];for(g in d)d.hasOwnProperty(g)&&h.push(g+"="+d[g]);f.open(f.location.pathname+"?"+h.join("&"),"_blank");return!1});return h}var p=[],F=b(f).width(),d=IP_GEO_BLOCK,K=IP_GEO_BLOCK_AUTH;b.fn.deserialize=function(a){return this.each(function(){var c,d=this,h={};for(c in a)if(a.hasOwnProperty(c))try{var f=decodeURIComponent(c);var k=decodeURIComponent(a[c]);h.hasOwnProperty(f)||(h[f]=[]);h[f].push(k)}catch(H){}b.each(h,function(a,e){c=b('[name="'+a+'"]:input',d).val(e);"hidden"!==c.attr("type")&&c.before('<span style="color:red">*</span>')})})};var h={dataPie:[],viewPie:[],drawPie:function(a){if("undefined"===typeof h.dataPie[a]){var c=h.dataPie[a]=new f.google.visualization.DataTable;c.addColumn("string","Country");c.addColumn("number","Requests");c=b.parseJSON(b("#"+a).attr("data-"+a));h.dataPie[a].addRows(c)}"undefined"===typeof h.viewPie[a]&&(h.viewPie[a]=new f.google.visualization.PieChart(t.getElementById(a)));"undefined"!==typeof h.dataPie[a]&&"undefined"!==typeof h.viewPie[a]&&0<b("#"+a).width()&&h.viewPie[a].draw(h.dataPie[a],{backgroundColor:{fill:"transparent"},chartArea:{left:0,top:"5%",width:"100%",height:"90%"},sliceVisibilityThreshold:.015})},dataLine:[],viewLine:[],drawLine:function(a,d){if("undefined"===typeof h.dataLine[a]){var c=h.dataLine[a]=new f.google.visualization.DataTable;c.addColumn(d,"Date");c.addColumn("number","comment");c.addColumn("number","xmlrpc");c.addColumn("number","login");c.addColumn("number","admin");c.addColumn("number","public");var e=b.parseJSON(b("#"+a).attr("data-"+a));var k=e.length;for(c=0;c<k;++c)e[c][0]=new Date(1E3*e[c][0]);h.dataLine[a].addRows(e)}"undefined"===typeof h.viewLine[a]&&(h.viewLine[a]=new f.google.visualization.LineChart(t.getElementById(a)));"undefined"!==typeof h.dataLine[a]&&"undefined"!==typeof h.viewLine[a]&&0<(c=b("#"+a).width())&&h.viewLine[a].draw(h.dataLine[a],{legend:{position:"bottom"},backgroundColor:{fill:"transparent"},hAxis:{format:"MM/dd"+("datetime"===d?" HH:mm":"")},vAxis:{textPosition:320<c?"out":"in"},chartArea:{left:320<c?"10%":0,top:"5%",width:"100%",height:"75%"}})},dataStacked:[],viewStacked:[],drawStacked:function(c){var d,g,k=b("#"+c);"undefined"===typeof h.dataStacked[c]&&(g=b.parseJSON(k.attr("data-"+c)))&&(g.unshift(["site","comment","xmlrpc","login","admin","poblic",{role:"link"}]),h.dataStacked[c]=f.google.visualization.arrayToDataTable(g));"undefined"===typeof h.viewStacked[c]&&(h.viewStacked[c]=new f.google.visualization.BarChart(t.getElementById(c)),f.google.visualization.events.addListener(h.viewStacked[c],"animationfinish",function(){var d,e,f,g=[],m=h.dataStacked[c],l=m.getNumberOfRows(),q=b(a("#","open-new")).prop("checked");for(d=0;d<l;d++)g.push({label:m.getValue(d,0),link:m.getValue(d,6)});l="http://www.w3.org/1999/xlink";k.find("text").each(function(b,a){f=a.parentNode;var c;if(c="g"===f.tagName.toLowerCase()){a:{c=a.textContent;var d,h=g.length;c=c.replace("\u2026","");for(d=0;d<h;++d)if(g.hasOwnProperty(d)&&0===g[d].label.indexOf(c)){c=d;break a}c=-1}c=-1!==(b=c)}c&&(e=t.createElementNS("http://www.w3.org/2000/svg","a"),e.setAttributeNS(l,"xlink:href",g[b].link),e.setAttributeNS(l,"title",g[b].label),e.setAttribute("target",q?"_blank":"_self"),e.setAttribute("class","site"),e.appendChild(f.removeChild(a)),f.appendChild(e),g.splice(b,1))})}));if(0<(d=k.width())&&"undefined"!==typeof h.dataStacked[c]&&"undefined"!==typeof h.viewStacked[c]){var m=a("range");var l=b.parseJSON(b("."+m).attr("data-"+m));g=h.dataStacked[c];m=40*g.getNumberOfRows();h.viewStacked[c].draw(g,{width:d,height:m+80,allowHtml:!0,isStacked:!0,legend:{position:"top"},chartArea:{top:50,left:90,width:"100%",height:m},hAxis:{minValue:0,maxValue:l[1]},backgroundColor:{fill:"transparent"},animation:{startup:!0,duration:200,easing:"out"}})}},ajaxStacked:function(c,d,f,k){c=Math.max(0,Math.min(4,c));d=5*Math.max(1,Math.min(5,d));m(null,{cmd:"restore-network",which:c,offset:d*f*k,length:d},function(c){var e,f,g,k,m;c=ca(c,d);b(a(".","network")).each(function(a,l){if("undefined"!==typeof c[a]){k=b(l).attr("id");m=h.dataStacked[k];g=Math.min(d,c[a].length);for(e=0;e<g;++e)for(f=1;5>=f;f++)m.setValue(e,f,c[a][e][f]);h.drawStacked(k)}})})}};b(function(){var c=Number(d.tab)||0,e=ea(c);b(a(".","inhibit")).on("submit",function(){return!1});switch(c){case 0:var g=a("%","settings");b('[id^="'+a("scan-")+'"]').on("click",function(){var c=b(this),d=c.attr("id"),e=c.parent();m(d.replace(/^.*(?:scan)/,"scanning"),{cmd:"scan-code",which:d.replace(a("scan-"),"")},function(b){e.children("ul").length||e.append('<ul id="'+a("code-list")+'"></ul>');e=e.children("ul").empty();for(c in b)if(b.hasOwnProperty(c)){var c=k(c);if("string"===typeof b[c])var d=k(b[c]);else d=k(b[c].code),c='<abbr title="'+k(b[c].type)+'">'+c+"</abbr>";e.append("<li>"+c+' : <span class="'+a("notice")+'">'+d+"</span></li>")}e.show("slow")});return!1});b(a("@","matching_rule")).on("change",function(){var c=this.value;b(a("@","white_list")).closest("tr").toggle("0"===c);b(a("@","black_list")).closest("tr").toggle("1"===c);return!1}).change();b(a(".","icon-cidr")).on("click",function(){var c=b(a("#","admin-styles-css")).get(0).href,d=f.open("about:blank","","width=560,height=170");c=c.slice(0,c.lastIndexOf("css/"));d.document.write('<!DOCTYPE html><html lang=en><meta charset=utf-8><title>CIDR calculator for IPv4 / IPv6</title><link href="'+c+'css/cidr.min.css" rel=stylesheet><div class="row container"><div class=row id=i><fieldset class="col span_11"><legend>Range <input id=a type=button value=Clear tabindex=1></legend><textarea id=c name=range placeholder="192.168.0.0 - 192.168.255.255" rows=5 wrap=off tabindex=2></textarea></fieldset><ul class="col span_2" id=h><li class=row><input id=e type=button value=&rarr; class="col span_24" tabindex=3><li class=row><input id=f type=button value=&larr; class="col span_24" tabindex=6></ul><fieldset class="col span_11"><legend>CIDR <input id=b type=button value=Clear tabindex=4></legend><textarea id=d name=cidr placeholder=192.168.0.0/16 rows=5 wrap=off tabindex=5></textarea></fieldset></div><div class=row id=j><span class=col id=g>\u00a0</span></div></div><script src="'+c+'js/cidr.min.js">\x3c/script>');d.document.close();return!1});b(a("@","validation_mimetype")).on("change",function(c){var d=b(this),n=parseInt(d.val(),10);d.nextAll(a(".","settings-folding")).each(function(a,c){O(b(c),n===a+1||n&&2===a)});return y(c)}).change();b('select[name*="response_code"]').on("change",function(c){var d=b(this),n=parseInt(d.val()/100,10),e=d.closest("tr").nextAll("tr");if(0<=d.attr("name").indexOf("public")&&-1===parseInt(b(a("@","public_matching_rule")).val(),10))return e.each(function(a){1>=a&&b(this).hide()}),y(c);3>=n?e.each(function(a){0===a?b(this).show():1===a&&b(this).hide()}):e.each(function(a){0===a?b(this).hide():1===a&&b(this).show()});return y(c)}).change();b(a("#","decode")).on("click",function(){var c=b(a("@","signature")),d=c.val();-1===d.search(/,/)?c.val(G(f.atob(d))):c.val(f.btoa(G(d)));return!1});b(a("@","validation_login")).on("change",function(a){var c=b(this);P(c,c,g,!0);return y(a)}).change();m(null,{cmd:"get-actions"},function(c){var e,n=b(a("#","list-admin")),f=t.createElement("li"),h=t.createElement("input"),g=t.createElement("label"),l=t.createElement("dfn"),q=t.createElement("span");for(v in c)if(c.hasOwnProperty(v)){var v=k(v);if(!n.find("#"+(e=a("!","exception_admin_"+v))).size()){var p=h.cloneNode(!1);p.setAttribute("id",e);p.setAttribute("value",v);p.setAttribute("type","checkbox");var r=f.cloneNode(!1);r.appendChild(p);p=g.cloneNode(!1);p.setAttribute("for",e);p.appendChild(t.createTextNode(v));r.appendChild(p);1&c[v]&&r.appendChild(W(l,q,d.msg[6],"lock"));2&c[v]&&r.appendChild(W(l,q,d.msg[7],"unlock"));n.append(r)}}b(a(".","icon-unlock")).on("click",function(){b(a("#","list-admin")+">li").filter(function(){return!b(this).find(".dashicons-unlock").length}).toggle();return!1});b(a("@","exception_admin")).on("change",function(c){var d=b.grep(b(this).val().split(","),function(b){return""!==b.replace(/^\s+|\s+$/g,"")});b(a("#","list-admin")).find("input").each(function(){var a=b(this),c=a.val();a.prop("checked",-1!==b.inArray(c,d))});return y(c)}).change();b(a("#","list-admin")).on("click","input",function(){var c=b(this);var d=b(a("@","exception_admin")),e=c.val(),n=b.grep(d.val().split(","),function(b){return""!==b.replace(/^\s+|\s+$/g,"")});c=b.inArray(e,n);-1===c?n.push(e):n.splice(c,1);d.val(n.join(",")).change()});b(a(".","icon-find")).on("click",function(){var c=b(this),e=[],n=0,f,h,C,g,fa=k(d.msg[9]),u=k(c.data("target"));b(a("#","find-"+u)).empty();c.next().children(a(".","find-desc")).show();c=b(a("#","list-"+u));c.children("li").each(function(a,c){e.push(b(c).find("input").val())});m("find-"+u,{cmd:"find-"+u},function(m){for(var l in m)m.hasOwnProperty(l)&&(++n,f=k(m[l]),l=k(l),h=b.inArray(l,e),C=a("!","exception_"+u+"_"+l),g="admin"===u?f+"="+l:"/"+f+"/"+l+"/",g='<a class="ip-geo-block-icon ip-geo-block-icon-alert" href="'+K.sites[0]+"options-general.php?page=ip-geo-block&tab=4&s="+encodeURIComponent(g)+'" title="'+fa.replace("%s",g)+'" target="_blank"><span></span></a>',0>h?(e.push(l),c.prepend('<li><input id="'+C+'" value="'+l+'" type="checkbox" '+("admin"===u?"/>":"name=ip_geo_block_settings[exception]["+u+"]["+l+"] />")+'<label for="'+C+'">'+l+"</lable>"+g+"</li>")):(C=c.find("#"+C).parent(),C.find("a").length||C.append(g)));b(a("@","exception_"+u)).trigger("change");b(a("#","find-"+u)).append(' <span class="ip-geo-block-found">'+k(d.msg[8].replace("%d",n))+"</span>")});return!1})});b('input[id^="'+a("!","validation_ajax_")+'"]').on("change",function(){S(b(this))}).change();b(a("@","validation_public")).on("change",function(a){T(b(this));return y(a)}).change();b(a("@","public_matching_rule")).on("change",function(c){var d=this.value;b(a("@","public_white_list")).closest("tr").toggle("0"===d);b(a("@","public_black_list")).closest("tr").toggle("1"===d);b(a("@","public_response_code")).change().closest("tr").toggle("-1"!==d);return y(c)}).change();b(a("@","update")).on("click",function(){m("download",{cmd:"download"},function(c){var d;for(d in c)if(c.hasOwnProperty(d)){var e=c[d];for(n in e)if(e.hasOwnProperty(n)){var n=k(n);e[n].filename&&b(a("@",d+"_"+n+"_path")).val(k(e[n].filename));e[n].message&&b(a("#",d+"-"+n)).text(k(e[n].message))}}});return!1});b(a("@","save_statistics")).on("change",function(){b(a("@","validation_recdays")).prop("disabled",!b(this).prop("checked"));return!1}).trigger("change");b(a("@","validation_reclogs")).on("change",function(){var a=b(this);a.parent().parent().nextAll().find("input").prop("disabled",0===Number(a.prop("selectedIndex")))}).trigger("change");b(a("@","comment_pos")).on("change",function(){var a=b(this);a.nextAll('input[type="text"]').prop("disabled",0===Number(a.prop("selectedIndex")))}).trigger("change");V("validate");b(a("#","export")).on("click",function(){if("undefined"===typeof JSON)return D(null,k(d.msg[10])),!1;var c=g,e={};b.each(b(this).closest("form").serializeArray(),function(b,a){-1!==a.name.indexOf(c)&&(e[a.name]=a.value)});e[c+="[signature]"]=f.btoa(G(e[c]));b(a("#","export-data")).val(JSON.stringify(e));b(a("#","export-form")).submit();return!1});b(a("#","file-dialog")).on("change",function(a){if("undefined"===typeof f.FileReader)return D(null,k(d.msg[10])),!1;var b;(a=a.target.files[0])&&ba(a,function(a){a=JSON.parse(a);b=g+"[signature]";"undefined"!==typeof a[b]&&(a[b]=f.btoa(G(a[b])));m("export-import",{cmd:"validate",data:JSON.stringify(a)},function(a){Q(a,!0)})});return!1});b(a("#","import")).on("click",function(){b(a("#","file-dialog")).click();return!1});b(a("#","default")).on("click",function(){x(d.msg[0],function(){m("pre-defined",{cmd:"import-default"},function(a){Q(a,!0)})});return!1});b(a("#","preferred")).on("click",function(){x(d.msg[0],function(){m("pre-defined",{cmd:"import-preferred"},function(a){Q(a,!1)})});return!1});b(a("@","reset_live")).on("click",function(){m("reset-live",{cmd:"reset-live"});return!1});b(a("@","create_table")).on("click",function(){x(d.msg[1],function(){R("create-table")});return!1});b(a("@","delete_table")).on("click",function(){x(d.msg[2],function(){R("delete-table")});return!1});b(a("#","show-info")).on("click",function(){b(a("#","wp-info")).empty();m("wp-info",{cmd:"show-info"},function(c){var d,e=[];for(d in c)c.hasOwnProperty(d)&&e.push("- "+d+" "+c[d]);b(a("#","wp-info")).html('<textarea class="regular-text code" rows="'+e.length+'">'+e.join("\n")+"</textarea>").find("textarea").select();return!1})});b('select[name^="'+g+'"]').on("change",function(){var c=b(this),d,e=a(".","desc");c.next(e).empty();(d=c.children("option:selected").data("desc"))&&c.next(e).html(b.parseHTML(d));P(c,c,g,!0);return!1}).change();b(a(".","icon-cycle")).on("click",function(){var c=b(this).nextAll("li"),d=c.find(a("@","exception_admin"));c=c.find("input:checkbox").filter(":visible");var e=c.filter(":checked").length;c.prop("checked",!e);if(d.length)if(e)d.val("");else{var f=[];c.each(function(a,c){f.push(b(c).val())});d.val(f.join(","))}b(this).blur();return!1});b(a(".","settings-folding>dfn")).on("click",function(){var c=a("drop"),d=b(this).parent();d.children(a(".","hide")).toggle();d.toggleClass(c+"up").toggleClass(c+"down");d.hasClass(c+"up")&&d.children("div").hide();return!1});b("#submit").on("click",function(){var c=b(a("@","signature")),d=c.val();-1!==d.indexOf(",")&&c.val(f.btoa(G(d)));return!0});break;case 1:U(c);var q=0;b(a("#","sort-slug")).on("click",function(){var a=b(this).closest("ol"),c=a.children("li");(q=!q)?c.sort(function(a,c){return b(a).text()>b(c).text()}):c.sort(function(a,c){return parseInt(b(a).text().replace(/^.*\((\d+)\)$/,"$1"),10)<=parseInt(b(c).text().replace(/^.*\((\d+)\)$/,"$1"),10)});a.children("li").remove();c.appendTo(a)});b(a("@","clear_statistics")).on("click",function(){x(d.msg[3],function(){N("statistics",null)});return!1});b(a("@","clear_logs")).on("click",function(){x(d.msg[5],function(){N("logs",null)});return!1});X(c,{tableID:"statistics-cache",ajaxCMD:"restore-cache",sectionID:"section-2",targetColumn:4,columnIP:1,columnAS:3},{columns:[{title:'<input type="checkbox">'},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[6]},{title:d.i18n[7]},{title:d.i18n[8]},{title:d.i18n[9]}],columnDefs:[{responsivePriority:0,targets:0},{responsivePriority:1,targets:1},{responsivePriority:2,targets:2},{responsivePriority:6,targets:3},{responsivePriority:7,targets:4},{responsivePriority:3,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{className:"all",targets:[0,1,2,5]}]});break;case 4:var p={tableID:"validation-logs",sectionID:"section-0",targetColumn:6,columnIP:3,columnAS:5},l={columns:[{title:'<input type="checkbox">'},{title:""},{title:d.i18n[10]},{title:d.i18n[3]},{title:d.i18n[4]},{title:d.i18n[5]},{title:d.i18n[7]},{title:d.i18n[11]},{title:d.i18n[12]},{title:d.i18n[13]},{title:d.i18n[14]},{title:d.i18n[15]}],columnDefs:[{responsivePriority:11,targets:0},{responsivePriority:0,targets:1},{responsivePriority:1,targets:2},{responsivePriority:2,targets:3},{responsivePriority:3,targets:4},{responsivePriority:6,targets:5},{responsivePriority:4,targets:6},{responsivePriority:5,targets:7},{responsivePriority:7,targets:8},{responsivePriority:8,targets:9},{responsivePriority:9,targets:10},{responsivePriority:10,targets:11},{visible:!1,targets:1},{className:"all",targets:[0,2,3,4]},{className:"none",targets:[8,9,10,11]}]},H=null,r=null,z=b(a("#","live-loading")),I=null,w=function(){H&&(f.clearTimeout(H),H=null);r&&(z.removeClass(a("live-timer")),f.clearTimeout(r),r=null)},E=function(){w();m("live-loading",{cmd:"live-start"},function(a){if(a.error)D(null,a.error);else if(a.data.length){var b,c=a.data.length;for(b=0;b<c;b++)I.row.add(a.data[b]);I.draw(!1)}H=f.setTimeout(E,1E3*d.interval)})},F=function(a,b){w();m(null,{cmd:a||"live-stop",callback:b})},M=function(){F("live-pause",function(){z.addClass(a("live-timer"));r=f.setTimeout(function(){w();b(a("#","live-log-stop")).prop("checked",!0)},1E3*d.timeout)})},B=a(""),Y=function(a,c,d){-1!==c[7].indexOf("passed")?b(a).addClass(B+d+"passed"):b(a).addClass(B+d+"blocked")},Z=b(a("#","live-log")),aa=b(a("#","live-update"));b(a("#","validation-logs")).on("animationend",function(){b(this).find('tr[class*="'+B+'new"]').each(function(){var a=b(this);-1!==a.prop("class").indexOf("passed")?a.addClass(B+"passed").removeClass(B+"new-passed"):a.addClass(B+"blocked").removeClass(B+"new-blocked")});return!1});Z.on("change",function(){switch(b('input[name="'+a("live-log")+'"]:checked').val()){case "start":E();break;case "pause":M();break;case "stop":F()}});aa.on("change",function(){var d=Z.closest("tr"),f=aa.prop("checked");e[c][1]=f?"o":"x";A(e);I&&I.clear().destroy();f?(d.show().next().next().next().nextAll().hide(),p.ajaxCMD="live-stop",l.order=[1,"desc"],l.createdRow=function(a,b){Y(a,b,"new-")}):(d.hide().next().next().next().nextAll().show(),p.ajaxCMD="restore-logs",l.order=[0,""],l.createdRow=function(a,b){Y(a,b,"")});b(a("#","live-log-stop")).trigger("click");I=X(c,p,l);return!1}).trigger("change");V("export-logs");b(a("#","export-logs")).on("click",function(){b(a("#","export-form")).submit();return!1});break;case 2:b(f).on(a("gmap-error"),function(){m(null,{cmd:"gmap-error"},function(a){J(a.page,a.tab)})});var L=b(a("#","map"));"object"===typeof f.google?L.each(function(){b(this).GmapRS()}):L.each(function(){b(this).empty().html('<iframe src="'+d.altgmap+'?output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')});b('select[id^="'+a("!","service")+'"]').on("change",function(){e[c][3]=b(this).prop("selectedIndex");A(e)}).change();b(a("@","get_location")).on("click",function(){var c=b(a("#","whois")),d=b(a("@","ip_address")).val();if(d){c.hide().empty();var e=b.whois(d,function(d){var e,f="";for(e=0;e<d.length;++e)f+="<tr><td>"+d[e].name+"</td><td>"+d[e].value+"</td></tr>";c.html('<fieldset id="'+a("section-1")+'" class="'+a("field")+' panel panel-default" data-section="1"><legend class="panel-heading"><h3 id="'+a("whois-title")+'" class="'+a("dropdown")+'">Whois</h3></legend><div class="panel-body '+a("border")+'"><table class="'+a("table")+'">'+f+"</table></div></fieldset>").fadeIn("slow");b(a("#","whois-title")).on("click",function(){var c=b(this);c.parent().nextAll().toggle();c.toggleClass(a("dropup")).toggleClass(a("dropdown"));return!1})});m("loading",{cmd:"search",ip:d,which:b(a("@","service")).val()},function(b){var c="",e=k(b.latitude||"0"),g=k(b.longitude||"0"),h=b.latitude||b.longitude?8:2;for(l in b)if(b.hasOwnProperty(l)){var l=k(l);c+='<li><span class="'+a("title")+'">'+l+' : </span><span class="'+a("result")+'">'+k(b[l])+"</span></li>"}"object"===typeof f.google?L.GmapRS("addMarker",{latitude:e,longitude:g,title:d,content:"<ul>"+c+"</ul>",show:!0,zoom:h}):L.css({height:"600px",backgroundColor:"transparent"}).empty().html('<ul style="margin-top:0; margin-left:1em;"><li><span class="'+a("title")+'">IP address : </span><span class="'+a("result")+'">'+k(d)+"</span></li>"+c+'</ul><iframe src="//maps.google.com/maps?q='+e+","+g+"&z="+h+'&output=embed" frameborder="0" style="width:100%; height:400px; border:0" allowfullscreen></iframe>')},[e])}return!1});b(a("@","ip_address")).val()&&b(a("@","get_location")).click();break;case 5:U(c),b("input[name="+a("duration")+"]:radio").on("click",function(){var a=b('div[class*="paginate"]').find('a[class*="current"]').text();e[c][2]=b(this).val()||0;e[c][3]=e[c][3]||2;e[c][4]=e[c][4]||1;A(e);h.ajaxStacked(e[c][2],e[c][3],e[c][4],a-1)}),b(a("#","open-new")).on("change",function(){var d=b(this).prop("checked");e[c][1]=d?"o":"x";A(e);b(a("#","section-0 svg")).find("a").each(function(){this.setAttribute("target",d?"_blank":"_self")})}),b(a("#","apply-layout")).on("click",function(){var d=b(a("#","select-layout"));e[c][3]=d.find('select[name="rows"] option:selected').val();e[c][4]=d.find('select[name="cols"] option:selected').val();A(e)}),b("ul.wp-submenu>li.wp-first-item").removeClass("current").next().addClass("current")}})})(jQuery,window,document);
admin/js/cidr.min.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Project: IP address range - CIDR converter
3
+ Copyright (c) 2018 tokkonopapa (tokkonopapa@yahoo.com)
4
+ The following libraries are ported to this program.
5
+ - S1lentium/IPTools (https://github.com/S1lentium/IPTools)
6
+ - kvz/locutus (https://github.com/kvz/locutus)
7
+ - MikeMcl/big.js (https://github.com/MikeMcl/big.js/)
8
+ - jQuery (https://jquery.com/)
9
+ This software is released under the MIT License.
10
+ */
11
+ "function"!==typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(u,I){if(null==u)throw Error("Cannot convert undefined or null to object");var m,z,B=Object(u);for(z=1;z<arguments.length;z++){var C=arguments[z];if(null!=C)for(m in C)Object.prototype.hasOwnProperty.call(C,m)&&(B[m]=C[m])}return B},writable:!0,configurable:!0});Array.prototype.forEach||(Array.prototype.forEach=function(u,I){if(null==this)throw Error("this is null or not defined");var m,z,B=Object(this);var C=B.length>>>0;if("[object Function]"!={}.toString.call(u))throw Error(u+" is not a function");I&&(m=I);for(z=0;z<C;){if(z in B){var O=B[z];u.call(m,O,z,B)}z++}});Array.isArray||(Array.isArray=function(u){return"[object Array]"===Object.prototype.toString.call(u)});(function(u,I,m){function z(){function a(c){if(!(this instanceof a))return void 0===c?z():new a(c);if(c instanceof a)this.s=c.s,this.e=c.e,this.c=c.c.slice();else{var b,d;if(0===c&&0>1/c)c="-0";else if(!ha.test(c+=""))throw Error("Invalid number");"-"==c.charAt(0)?(c=c.slice(1),this.s=-1):this.s=1;-1<(b=c.indexOf("."))&&(c=c.replace(".",""));0<(d=c.search(/e/i))?(0>b&&(b=d),b+=+c.slice(d+1),c=c.substring(0,d)):0>b&&(b=c.length);var e=c.length;for(d=0;d<e&&"0"==c.charAt(d);++d);if(d==e)this.c=[this.e=0];else{for(;0<e&&"0"==c.charAt(--e););this.e=b-d-1;this.c=[];for(b=0;d<=e;)this.c[b++]=+c.charAt(d++)}}this.constructor=a}a.prototype=n;a.DP=20;a.RM=1;a.NE=-7;a.PE=21;a.version="5.0.2";return a}function B(a,c,b,d){var e=a.c,f=a.e+c+1;if(f<e.length){if(1===b)d=5<=e[f];else if(2===b)d=5<e[f]||5==e[f]&&(d||0>f||void 0!==e[f+1]||e[f-1]&1);else if(3===b)d=d||void 0!==e[f]||0>f;else if(d=!1,0!==b)throw Error("Invalid rounding mode");if(1>f)e.length=1,d?(a.e=-c,e[0]=1):e[0]=a.e=0;else{e.length=f--;if(d)for(;9<++e[f];)e[f]=0,f--||(++a.e,e.unshift(1));for(f=e.length;!e[--f];)e.pop()}}else if(0>b||3<b||b!==~~b)throw Error("Invalid rounding mode");return a}function C(a,c,b,d){var e=a.constructor,f=!a.c[0];if(void 0!==b){if(b!==~~b||b<(3==c)||1E6<b)throw Error(3==c?"Invalid precision":"Invalid decimal places");a=new e(a);b=d-a.e;a.c.length>++d&&B(a,b,e.RM);for(2==c&&(d=a.e+b+1);a.c.length<d;)a.c.push(0)}var g=a.e;var h=a.c.join("");b=h.length;if(2!=c&&(1==c||3==c&&d<=g||g<=e.NE||g>=e.PE))h=h.charAt(0)+(1<b?"."+h.slice(1):"")+(0>g?"e":"e+")+g;else if(0>g){for(;++g;)h="0"+h;h="0."+h}else if(0<g)if(++g>b)for(g-=b;g--;)h+="0";else g<b&&(h=h.slice(0,g)+"."+h.slice(g));else 1<b&&(h=h.charAt(0)+"."+h.slice(1));return 0>a.s&&(!f||4==c)?"-"+h:h}function O(a){var c=Object.getPrototypeOf,b={},d=b.toString,e=b.hasOwnProperty;b=e.toString;if(!a||"[object Object]"!==d.call(a))return!1;a=c(a);if(!a)return!0;a=e.call(a,"constructor")&&a.constructor;return"function"===typeof a&&b.call(a)===b.call(Object)}function J(){var a,c,b,d=arguments[0]||{},e=1,f=arguments.length,g=!1;"boolean"===typeof d&&(g=d,d=arguments[e]||{},e++);"object"===typeof d||"function"===typeof d&&"number"!==typeof d.nodeType||(d={});e===f&&(d=this,e--);for(;e<f;e++)if(null!=(a=arguments[e]))for(c in a){var h=d[c];var l=a[c];d!==l&&(g&&l&&(O(l)||(b=Array.isArray(l)))?(b?(b=!1,h=h&&Array.isArray(h)?h:[]):h=h&&O(h)?h:{},d[c]=J(g,h,l)):l!==m&&(d[c]=l))}return d}function P(a,c){return x(a).plus(c)}function ba(){var a=/%%|%(?:(\d+)\$)?((?:[-+#0 ]|'[\s\S])*)(\d+)?(?:\.(\d*))?([\s\S])/g,c=arguments,b=0,d=c[b++],e=function(a,c,b,d){b||(b=" ");c=a.length>=c?"":Array(1+c-a.length>>>0).join(b);return d?a+c:c+a},f=function(a,c,b,d,f){var g=d-a.length;0<g&&(a=b||"0"!==f?e(a,d,f,b):[a.slice(0,c.length),e("",g,"0",!0),a.slice(c.length)].join(""));return a},g=function(a,c,b,d,g,h){a=e((a>>>0).toString(c),g||0,"0",!1);return f(a,"",b,d,h)},h=function(a,c,b,d,e){null!==d&&d!==m&&(a=a.slice(0,d));return f(a,"",c,b,e)},l=function(a,d,l,k,r,n){if("%%"===a)return"%";a=" ";var t=!1;var E="";var q;var v=0;for(q=l.length;v<q;v++)switch(l.charAt(v)){case " ":case "0":a=l.charAt(v);break;case "+":E="+";break;case "-":t=!0;break;case "'":v+1<q&&(a=l.charAt(v+1),v++)}k=k?+k:0;if(!isFinite(k))throw Error("Width must be finite");r=r?+r:"d"===n?0:-1<"fFeE".indexOf(n)?6:m;if(d&&0===+d)throw Error("Argument number must be greater than zero");if(d&&+d>=c.length)throw Error("Too few arguments");d=d?c[+d]:c[b++];switch(n){case "%":return"%";case "s":return h(d+"",t,k,r,a);case "c":return h(String.fromCharCode(+d),t,k,r,a);case "b":return g(d,2,t,k,r,a);case "o":return g(d,8,t,k,r,a);case "x":return g(d,16,t,k,r,a);case "X":return g(d,16,t,k,r,a).toUpperCase();case "u":return g(d,10,t,k,r,a);case "i":case "d":return d=+d||0,d=Math.round(d-d%1),E=0>d?"-":E,d=E+e(String(Math.abs(d)),r,"0",!1),t&&"0"===a&&(a=" "),f(d,E,t,k,a);case "e":case "E":case "f":case "F":case "g":case "G":return d=+d,E=0>d?"-":E,l=["toExponential","toFixed","toPrecision"]["efg".indexOf(n.toLowerCase())],n=["toString","toUpperCase"]["eEfFgG".indexOf(n)%2],d=E+Math.abs(d)[l](r),f(d,E,t,k,a)[n]();default:return""}};try{return d.replace(a,l)}catch(E){return!1}}function ca(){var a=arguments,c=a.length,b=0;if(0===c)throw Error("Empty isset");for(;b!==c;){if(a[b]===m||null===a[b])return!1;b++}return!0}function da(a){return("number"===typeof a||"string"===typeof a&&-1===" \n\r\t\f\x0B\u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000".indexOf(a.slice(-1)))&&""!==a&&!isNaN(a)}function w(a,c){return a===c?0:a>c?1:-1}function G(a,c,b){a=(a+"").indexOf(c,b||0);return-1===a?!1:a}function L(a,c,b){a+="";var d=a.length;0>c&&(c+=d);b!==m&&(d=0>b?b+d:b+c);return c>=a.length||0>c||c>d?!1:a.slice(c,d)}function U(a,c){var b,d=0;if(null===a||a===m)return 0;if(a.constructor!==Array&&a.constructor!==Object)return 1;"COUNT_RECURSIVE"===c&&(c=1);1!==c&&(c=0);for(b in a)a.hasOwnProperty(b)&&(d++,1!==c||!a[b]||a[b].constructor!==Array&&a[b].constructor!==Object||(d+=U(a[b],1)));return d}function V(a,c){var b="",d="",e="";1===arguments.length&&(c=a,a="");if("object"===typeof c){if("[object Array]"===Object.prototype.toString.call(c))return c.join(a);for(b in c)d+=e+c[b],e=a;return d}return c}function R(a,c,b){if(2>arguments.length||a===m||c===m)return null;if(""===a||!1===a||null===a)return!1;if("function"===typeof a||"object"===typeof a||"function"===typeof c||"object"===typeof c)return{0:""};!0===a&&(a="1");a+="";var d=(c+"").split(a);if(b===m)return d;0===b&&(b=1);if(0<b)return b>=d.length?d:d.slice(0,b-1).concat([d.slice(b-1).join(a)]);if(-b>=d.length)return[];d.splice(d.length+b);return d}function ea(a,c){null===c&&(c=1);if(null===a||1>c)return!1;a+="";for(var b=[],d=0,e=a.length;d<e;)b.push(a.slice(d,d+=c));return b}function H(a,c,b,d){var e="",f=function(a,c){for(var b="";b.length<c;)b+=a;return b=b.substr(0,c)};a+="";b=b!==m?b:" ";0!==d&&1!==d&&2!==d&&(d=1);0<(e=c-a.length)&&(0===d?a=f(b,e)+a:1===d?a+=f(b,e):2===d&&(e=f(b,Math.ceil(e/2)),a=(e+a+e).substr(0,c)));return a}function ia(a){var c="",b="";if(a.hasOwnProperty("length"))return a.length?a.pop():null;for(c in a)a.hasOwnProperty(c)&&(b=c);return b?(c=a[b],delete a[b],c):null}function ja(a){for(var c=arguments.length,b=arguments,d=null,e=a,f=b[1].length,g=0,h=1,l=0,k=[],n=[];g<f;){for(;h<c;)k[l++]=b[h++][g];l=0;h=1;if(a){if("string"===typeof a)e=u[a];else if("object"===typeof a&&a.length){d="string"===typeof a[0]?u[a[0]]:a[0];if(d===m)throw Error("Object not found: "+a[0]);e="string"===typeof a[1]?d[a[1]]:a[1]}n[g++]=e.apply(d,k)}else n[g++]=k;k=[]}return n}function W(a,c){var b="[object Array]"===Object.prototype.toString.call(a),d=c?{}:[];if(b&&!c)return a.slice(0).reverse();if(c){keys=[];for(e in a)keys.push(e);for(b=keys.length;b--;){var e=keys[b];d[e]=a[e]}}else for(e in a)d.unshift(a[e]);return d}function ka(a){a=(a+"").replace(/[^01]/gi,"");return parseInt(a,2)}function la(a){0>a&&(a=4294967295+a+1);return parseInt(a,10).toString(2)}function X(a){var c,b="";a+="";var d=0;for(c=a.length;d<c;d++){var e=a.charCodeAt(d).toString(16);b+=2>e.length?"0"+e:e}return b}function Y(a){a+="";var c=[],b=0,d;for(d=a.length;b<d;b+=2){var e=parseInt(a.substr(b,1),16);var f=parseInt(a.substr(b+1,1),16);if(isNaN(e)||isNaN(f))return!1;c.push(e<<4|f)}return String.fromCharCode.apply(String,c)}function M(a){for(var c=0,b=1,d="",e,f,g,h,l,k,n,Q,u,r,p,t,x,q,v,w,y;c<a.length;){h=a.charAt(c);l="";for(c++;c<a.length&&null!==a.charAt(c).match(/[\d*]/);)l+=a.charAt(c),c++;""===l&&(l="1");switch(h){case "a":case "A":if(arguments[b]===m)throw Error("pack(): Type "+h+": not enough arguments");e=String(arguments[b]);"*"===l&&(l=e.length);for(f=0;f<l;f++)d=e[f]===m?"a"===h?d+String.fromCharCode(0):d+" ":d+e[f];b++;break;case "h":case "H":if(arguments[b]===m)throw Error("pack(): Type "+h+": not enough arguments");e=arguments[b];"*"===l&&(l=e.length);if(l>e.length)throw Error("pack(): Type "+h+": not enough characters in string");for(f=0;f<l;f+=2)k=e[f],k=f+1>=l||e[f+1]===m?k+"0":k+e[f+1],"h"===h&&(k=k[1]+k[0]),d+=String.fromCharCode(parseInt(k,16));b++;break;case "c":case "C":"*"===l&&(l=arguments.length-b);if(l>arguments.length-b)throw Error("pack(): Type "+h+": too few arguments");for(f=0;f<l;f++)d+=String.fromCharCode(arguments[b]),b++;break;case "s":case "S":case "v":"*"===l&&(l=arguments.length-b);if(l>arguments.length-b)throw Error("pack(): Type "+h+": too few arguments");for(f=0;f<l;f++)d+=String.fromCharCode(arguments[b]&255),d+=String.fromCharCode(arguments[b]>>8&255),b++;break;case "n":"*"===l&&(l=arguments.length-b);if(l>arguments.length-b)throw Error("pack(): Type "+h+": too few arguments");for(f=0;f<l;f++)d+=String.fromCharCode(arguments[b]>>8&255),d+=String.fromCharCode(arguments[b]&255),b++;break;case "i":case "I":case "l":case "L":case "V":"*"===l&&(l=arguments.length-b);if(l>arguments.length-b)throw Error("pack(): Type "+h+": too few arguments");for(f=0;f<l;f++)d+=String.fromCharCode(arguments[b]&255),d+=String.fromCharCode(arguments[b]>>8&255),d+=String.fromCharCode(arguments[b]>>16&255),d+=String.fromCharCode(arguments[b]>>24&255),b++;break;case "N":"*"===l&&(l=arguments.length-b);if(l>arguments.length-b)throw Error("pack(): Type "+h+": too few arguments");for(f=0;f<l;f++)d+=String.fromCharCode(arguments[b]>>24&255),d+=String.fromCharCode(arguments[b]>>16&255),d+=String.fromCharCode(arguments[b]>>8&255),d+=String.fromCharCode(arguments[b]&255),b++;break;case "f":case "d":k=23;n=8;"d"===h&&(k=52,n=11);"*"===l&&(l=arguments.length-b);if(l>arguments.length-b)throw Error("pack(): Type "+h+": too few arguments");for(f=0;f<l;f++){e=arguments[b];h=Math.pow(2,n-1)-1;g=-h+1;Q=h;u=isNaN(q=parseFloat(e))||-Infinity===q||Infinity===q?q:0;r=0;p=2*h+1+k+3;t=Array(p);x=0>(q=0!==u?0:q);q=Math.abs(q);v=Math.floor(q);q-=v;for(e=p;e;)t[--e]=0;for(e=h+2;v&&e;)t[--e]=v%2,v=Math.floor(v/2);for(e=h+1;0<q&&e;--q)t[++e]=(1<=(q*=2))-0;for(e=-1;++e<p&&!t[e];);y=(q=k-1+(e=(r=h+1-e)>=g&&r<=Q?e+1:h+1-(r=g-1)))+1;if(t[y]){if(!(w=t[q]))for(y=q+2;!w&&y<p;w=t[y++]);for(y=q+1;w&&0<=--y;(t[y]=!t[y]-0)&&(w=0));}for(e=0>e-2?-1:e-3;++e<p&&!t[e];);(r=h+1-e)>=g&&r<=Q?++e:r<g&&(e=h+1-(r=g-1));if(v||0!==u)r=Q+1,e=h+2,-Infinity===u?x=1:isNaN(u)&&(t[e]=1);q=Math.abs(r+h);h="";for(y=n+1;--y;)h=q%2+h,q=q>>=1;y=q=0;e=(h=(x?"1":"0")+h+t.slice(e,e+k).join("")).length;for(g=[];e;)q+=(1<<y)*h.charAt(--e),7===y&&(g[g.length]=String.fromCharCode(q),q=0),y=(y+1)%8;g[g.length]=q?String.fromCharCode(q):"";d+=g.join("");b++}break;case "x":if("*"===l)throw Error("pack(): Type x: '*' ignored");for(f=0;f<l;f++)d+=String.fromCharCode(0);break;case "X":if("*"===l)throw Error("pack(): Type X: '*' ignored");for(f=0;f<l;f++){if(0===d.length)throw Error("pack(): Type X: outside of string");d=d.substring(0,d.length-1)}break;case "@":if("*"===l)throw Error("pack(): Type X: '*' ignored");if(l>d.length)for(k=l-d.length,f=0;f<k;f++)d+=String.fromCharCode(0);l<d.length&&(d=d.substring(0,l));break;default:throw Error("pack(): Type "+h+": unknown format code");}}if(b<arguments.length)throw Error("pack(): "+(arguments.length-b)+" arguments unused");return d}function N(a,c){c+="";var b,d=c.length,e=[];if("C*"===a){for(b=0;b<d;b++)e[b+1]=c.charCodeAt(b);return e}if("H*hex"===a){e.hex=[];for(b=0;b<d;b++)e.hex[b+1]=((c.charCodeAt(b++)<<8)+c.charCodeAt(b)).toString(16);return e}}function S(a,c,b){return m===b?a.test(c):c.match(a)}function Z(a,c){var b,d=null,e=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;"string"===typeof a?"function"===typeof u[a]?b=u[a]:a.match(e)&&(b=(new Function(null,"return "+a))()):"[object Array]"===Object.prototype.toString.call(a)?("string"===typeof a[0]?a[0].match(e)&&(b=eval(a[0]+"['"+a[1]+"']")):b=a[0][a[1]],"string"===typeof a[0]?"function"===typeof u[a[0]]?d=u[a[0]]:a[0].match(e)&&(d=eval(a[0])):"object"===typeof a[0]&&(d=a[0])):"function"===typeof a&&(b=a,d=u);if("function"!==typeof b)throw Error(b+" is not a valid function");return b.apply(d,c)}function aa(a,c,b){var d=/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/;switch(c){case 275:return b===m?d.test(a):1048576===b?!1!==G(a,"."):!0}return!1}function A(a){a+="";var c=0,b="",d=[];if(4===a.length)return[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3)].join(".");if(16===a.length){for(c=0;16>c;c++)d.push(((a.charCodeAt(c++)<<8)+a.charCodeAt(c)).toString(16));return d.join(":").replace(/((^|:)0(?=:|$))+:?/g,function(a){b=a.length>b.length?a:b;return a}).replace(b||" ","::")}return!1}function ma(a){a+="";var c,b;var d=String.fromCharCode;if(c=a.match(/^(?:\d{1,3}(?:\.|$)){4}/))return c=c[0].split("."),c=d(c[0])+d(c[1])+d(c[2])+d(c[3]),4===c.length?c:!1;if(c=a.match(/^((?:[\da-f]{1,4}(?::|)){0,8})(::)?((?:[\da-f]{1,4}(?::|)){0,8})$/)){for(b=1;4>b;b++)if(2!==b&&0!==c[b].length){c[b]=c[b].split(":");for(a=0;a<c[b].length;a++){c[b][a]=parseInt(c[b][a],16);if(isNaN(c[b][a]))return!1;c[b][a]=d(c[b][a]>>8)+d(c[b][a]&255)}c[b]=c[b].join("")}d=c[1].length+c[3].length;if(16===d)return c[1]+c[3];if(16>d&&0<c[2].length)return c[1]+Array(16-d+1).join("\x00")+c[3]}return!1}function na(a){var c;a=a.match(/^([1-9]\d*|0[0-7]*|0x[\da-f]+)(?:\.([1-9]\d*|0[0-7]*|0x[\da-f]+))?(?:\.([1-9]\d*|0[0-7]*|0x[\da-f]+))?(?:\.([1-9]\d*|0[0-7]*|0x[\da-f]+))?$/i);if(!a)return!1;a[0]=0;for(c=1;5>c;c+=1)a[0]+=!!(a[c]||"").length,a[c]=parseInt(a[c])||0;a.push(256,256,256,256);a[4+a[0]]*=Math.pow(256,4-a[0]);return a[1]>=a[5]||a[2]>=a[6]||a[3]>=a[7]||a[4]>=a[8]?!1:a[1]*(1===a[0]||16777216)+a[2]*(2>=a[0]||65536)+a[3]*(3>=a[0]||256)+1*a[4]}function k(a){this.__construct(a)}function F(a,c){this.__construct(a,c)}function D(a,c){this.__construct(a,c)}function T(a,c,b){var d=[].slice.call(arguments).slice(3);a&&a.addEventListener?a.addEventListener(c,function(){b.apply(a,d)},!1):a&&a.attachEvent&&a.attachEvent("on"+c,function(){b.apply(a,d)})}function fa(a){return a.trim().replace(",","\n").split("\n").map(function(a){return a.trim()})}function K(a){for(;p.g.firstChild;)p.g.removeChild(p.g.firstChild);p.g.appendChild(a?I.createTextNode(a+""):oa)}var n={},ha=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;n.abs=function(){var a=new this.constructor(this);a.s=1;return a};n.cmp=function(a){var c=this.c,b=(a=new this.constructor(a)).c,d=this.s,e=a.s,f=this.e,g=a.e;if(!c[0]||!b[0])return c[0]?d:b[0]?-e:0;if(d!=e)return d;a=0>d;if(f!=g)return f>g^a?1:-1;e=(f=c.length)<(g=b.length)?f:g;for(d=-1;++d<e;)if(c[d]!=b[d])return c[d]>b[d]^a?1:-1;return f==g?0:f>g^a?1:-1};n.div=function(a){var c=this.constructor,b=this.c,d=(a=new c(a)).c,e=this.s==a.s?1:-1,f=c.DP;if(f!==~~f||0>f||1E6<f)throw Error("Invalid decimal places");if(!d[0])throw Error("Division by zero");if(!b[0])return new c(0*e);var g,h,k=d.slice(),n=g=d.length,u=b.length,m=b.slice(0,g),p=m.length,r=a,w=r.c=[],t=0,x=f+(r.e=this.e-a.e)+1;r.s=e;e=0>x?0:x;for(k.unshift(0);p++<g;)m.push(0);do{for(h=0;10>h;h++){if(g!=(p=m.length))var q=g>p?1:-1;else{var v=-1;for(q=0;++v<g;)if(d[v]!=m[v]){q=d[v]>m[v]?1:-1;break}}if(0>q){for(a=p==g?d:k;p;){if(m[--p]<a[p]){for(v=p;v&&!m[--v];)m[v]=9;--m[v];m[p]+=10}m[p]-=a[p]}for(;!m[0];)m.shift()}else break}w[t++]=q?h:++h;m[0]&&q?m[p]=b[n]||0:m=[b[n]]}while((n++<u||void 0!==m[0])&&e--);w[0]||1==t||(w.shift(),r.e--);t>x&&B(r,f,c.RM,void 0!==m[0]);return r};n.eq=function(a){return!this.cmp(a)};n.gt=function(a){return 0<this.cmp(a)};n.gte=function(a){return-1<this.cmp(a)};n.lt=function(a){return 0>this.cmp(a)};n.lte=function(a){return 1>this.cmp(a)};n.minus=n.sub=function(a){var c=this.constructor;var b=this.s,d=(a=new c(a)).s;if(b!=d)return a.s=-d,this.plus(a);var e=this.c.slice();var f=this.e;var g=a.c,h=a.e;if(!e[0]||!g[0])return g[0]?(a.s=-d,a):new c(e[0]?this:0);if(b=f-h){c=b;0>b?(b=-b,f=e):(h=f,f=g);f.reverse();for(d=b;d--;)f.push(0);f.reverse()}else for(f=((c=e.length<g.length)?e:g).length,b=d=0;d<f;d++)if(e[d]!=g[d]){c=e[d]<g[d];break}c&&(f=e,e=g,g=f,a.s=-a.s);if(0<(d=(f=g.length)-(c=e.length)))for(;d--;)e[c++]=0;for(d=c;f>b;){if(e[--f]<g[f]){for(c=f;c&&!e[--c];)e[c]=9;--e[c];e[f]+=10}e[f]-=g[f]}for(;0===e[--d];)e.pop();for(;0===e[0];)e.shift(),--h;e[0]||(a.s=1,e=[h=0]);a.c=e;a.e=h;return a};n.mod=function(a){var c=this,b=c.constructor,d=c.s,e=(a=new b(a)).s;if(!a.c[0])throw Error("Division by zero");c.s=a.s=1;var f=1==a.cmp(c);c.s=d;a.s=e;if(f)return new b(c);d=b.DP;e=b.RM;b.DP=b.RM=0;c=c.div(a);b.DP=d;b.RM=e;return this.minus(c.times(a))};n.plus=n.add=function(a){var c=this.constructor;var b=this.s,d=(a=new c(a)).s;if(b!=d)return a.s=-d,this.minus(a);d=this.e;var e=this.c,f=a.e,g=a.c;if(!e[0]||!g[0])return g[0]?a:new c(e[0]?this:0*b);e=e.slice();if(b=d-f){0<b?(f=d,c=g):(b=-b,c=e);for(c.reverse();b--;)c.push(0);c.reverse()}0>e.length-g.length&&(c=g,g=e,e=c);b=g.length;for(d=0;b;e[b]%=10)d=(e[--b]=e[b]+g[b]+d)/10|0;d&&(e.unshift(d),++f);for(b=e.length;0===e[--b];)e.pop();a.c=e;a.e=f;return a};n.pow=function(a){var c=this,b=new c.constructor(1),d=b,e=0>a;for(e&&(a=-a);;){a&1&&(d=d.times(c));a>>=1;if(!a)break;c=c.times(c)}return e?b.div(d):d};n.round=function(a,c){var b=this.constructor;if(void 0===a)a=0;else if(a!==~~a||0>a||1E6<a)throw Error("Invalid decimal places");return B(new b(this),a,void 0===c?b.RM:c)};n.sqrt=function(){var a=this.constructor;var c=this.s;var b=this.e,d=new a(.5);if(!this.c[0])return new a(this);if(0>c)throw Error("No square root");c=Math.sqrt(this.toString());0===c||c===1/0?(c=this.c.join(""),c.length+b&1||(c+="0"),c=new a(Math.sqrt(c).toString()),c.e=((b+1)/2|0)-(0>b||b&1)):c=new a(c.toString());b=c.e+(a.DP+=4);do{var e=c;c=d.times(e.plus(this.div(e)))}while(e.c.slice(0,b).join("")!==c.c.slice(0,b).join(""));return B(c,a.DP-=4,a.RM)};n.times=n.mul=function(a){var c=this.constructor;var b=this.c,d=(a=new c(a)).c,e=b.length,f=d.length,g=this.e,h=a.e;a.s=this.s==a.s?1:-1;if(!b[0]||!d[0])return new c(0*a.s);a.e=g+h;e<f&&(c=b,b=d,d=c,h=e,e=f,f=h);for(c=Array(h=e+f);h--;)c[h]=0;for(g=f;g--;){f=0;for(h=e+g;h>g;)f=c[h]+d[g]*b[h-g-1]+f,c[h--]=f%10,f=f/10|0;c[h]=(c[h]+f)%10}f?++a.e:c.shift();for(g=c.length;!c[--g];)c.pop();a.c=c;return a};n.toExponential=function(a){return C(this,1,a,a)};n.toFixed=function(a){return C(this,2,a,this.e+a)};n.toPrecision=function(a){return C(this,3,a,a-1)};n.toString=function(){return C(this)};n.valueOf=n.toJSON=function(){return C(this,4)};var x=z();x["default"]=x.Big=x;u.Big=x;k.prototype={IP_V4:"IPv4",IP_V6:"IPv6",IP_V4_MAX_PREFIX_LENGTH:32,IP_V6_MAX_PREFIX_LENGTH:128,IP_V4_OCTETS:4,IP_V6_OCTETS:16,$in_addr:null,__construct:function(a){if(!aa(a,275))throw Error("Invalid IP address format: `"+a+"`");this.$in_addr=ma(a)},toString:function(){return A(this.$in_addr)},parse:function(a){return 0===G(a,"0x")?(a=L(a,2),this.parseHex(a)):0===G(a,"0b")?(a=L(a,2),this.parseBin(a)):da(a)?this.parseLong(a):new k(a)},parseBin:function(a){if(!S(/^([0-1]{32}|[0-1]{128})$/,a))throw Error("Invalid binary IP address format `"+a+"`");var c="";ja(ka,ea(a,8)).forEach(function(a){c+=M("C*",a)});return new k(A(c))},parseHex:function(a){if(!S(/^([0-9a-fA-F]{8}|[0-9a-fA-F]{32})$/,a))throw Error("Invalid hexadecimal IP address format `"+a+"`");return new k(A(M("H*",a)))},parseLong:function(a,c){if(c===this.IP_V4){var b=a;b=isFinite(b)?[b>>>24,b>>>16&255,b>>>8&255,b&255].join("."):!1;b=new this(b)}else{var d=[];for(b=0;b<this.IP_V6_OCTETS;b++)d.push(x(a).mod(256)),a=x(a).div(256);d=W(d);d[0]="C*";b=new k(A(Z(M,d)))}return b},parseInAddr:function(a){return new k(A(a))},getVersion:function(){return aa(A(this.$in_addr),275,1048576)?this.IP_V4:aa(A(this.$in_addr),275,2097152)?this.IP_V6:!1},getMaxPrefixLength:function(){return this.getVersion()===this.IP_V4?this.IP_V4_MAX_PREFIX_LENGTH:this.IP_V6_MAX_PREFIX_LENGTH},getOctetsCount:function(){return this.getVersion()===this.IP_V4?this.IP_V4_OCTETS:this.IP_V6_OCTETS},getReversePointer:function(){if(this.getVersion()===this.IP_V4){var a=W(R(".",this.toString()));a=V(".",a)+".in-addr.arpa"}else a=N("H*hex",this.$in_addr),a=W(ea(a.hex)),a=V(".",a)+".ip6.arpa";return a},inAddr:function(){return this.$in_addr},toBin:function(){var a=[];N("C*",this.$in_addr).forEach(function(c){a.push(H(la(c),8,"0",0))});return V(a)},toHex:function(){return X(this.$in_addr)},toLong:function(){var a=0;if(this.getVersion()===this.IP_V4)a=ba("%u",na(A(this.$in_addr)));else{var c=this.IP_V6_OCTETS-1;var b=N("C*",this.$in_addr);b.forEach(function(b){var d=a;var f=c--;f=x(256).pow(f);b=x(b).times(f);a=P(d,b,1)})}return a},next:function(a){a=a||1;if(0>a)throw Error("Number must be greater than 0");var c,b,d=N("C*",this.$in_addr);for(c=0;c<a;c++)for(b=U(d);0<=b;--b)if(255>d[b]){d[b]++;break}else d[b]=0;d[0]="C*";return new k(A(Z(M,d)))},prev:function(a){a=a||1;if(0>a)throw Error("Number must be greater than 0");var c,b,d=N("C*",this.$in_addr);for(c=0;c<a;c++)for(b=U(d);0<=b;--b)if(0==d[b])d[b]=255;else{d[b]--;break}d[0]="C*";return new k(A(Z(M,d)))}};F.prototype={$ip:null,$netmask:null,$position:0,__construct:function(a,c){this.setIP(a);this.setNetmask(c)},toString:function(){return this.getCIDR()},parse:function(a){if(G(a,"/")){var c=R("/",a,2);a=c[0];c=c[1];a=k.prototype.parse(a);c=this.prefix2netmask(parseInt(c,10),a.getVersion())}else G(a," ")?(c=R(" ",a,2),a=c[0],c=c[1],a=k.prototype.parse(a),c=k.prototype.parse(c)):(a=k.prototype.parse(a),c=this.prefix2netmask(a.getMaxPrefixLength(),a.getVersion()));return new F(a,c)},prefix2netmask:function(a,c){a:{var b=[k.prototype.IP_V4,k.prototype.IP_V6];var d="";for(d in b)if(b.hasOwnProperty(d)&&b[d]==c){b=!0;break a}b=!1}if(!b)throw Error("Wrong IP version");b=c===k.prototype.IP_V4?k.prototype.IP_V4_MAX_PREFIX_LENGTH:k.prototype.IP_V6_MAX_PREFIX_LENGTH;if(!(da(a)&&0<=a&&a<=b))throw Error("Invalid prefix length");b=H(H("",parseInt(a,10),"1"),b,"0");return k.prototype.parseBin(b)},netmask2prefix:function(a){a=a.toBin();var c="0";c=c?(c+"").replace(/([[\]().?/*{}+$^:])/g,"\\$1"):" \\s\u00a0";return((a+"").replace(new RegExp("["+c+"]+$","g"),"")+"").length},setIP:function(a){if(ca(this.$netmask)&&this.$netmask.getVersion()!==a.getVersion())throw Error("IP version is not same as Netmask version");this.$ip=a},setNetmask:function(a){if(!S(/^1*0*$/,a.toBin()))throw Error("Invalid Netmask address format");if(ca(this.$ip)&&a.getVersion()!==this.$ip.getVersion())throw Error("Netmask version is not same as IP version");this.$netmask=a},setPrefixLength:function(a){this.setNetmask(this.prefix2netmask(parseInt(a,10),this.$ip.getVersion()))},getIP:function(){return this.$ip},getNetmask:function(){return this.$netmask},getNetwork:function(){var a=this.getIP().inAddr()+"",c=this.getNetmask().inAddr()+"",b,d=a.length,e=[];for(b=0;b<d;b++)e.push(H((a.charCodeAt(b)&c.charCodeAt(b)).toString(16),2,"0",0));return new k(A(Y(e.join(""))))},getPrefixLength:function(){return this.netmask2prefix(this.getNetmask())},getCIDR:function(){return ba("%s/%s",this.getNetwork(),this.getPrefixLength())},getWildcard:function(){return new k(A(~this.getNetmask().inAddr()))},getBroadcast:function(){var a=this.getNetwork().inAddr()+"",c=this.getNetmask().inAddr()+"",b,d=a.length,e=[];for(b=0;b<d;b++)e.push(H((a.charCodeAt(b)|~c.charCodeAt(b)&255).toString(16),2,"0",0));return new k(A(Y(e.join(""))))},getFirstIP:function(){return this.getNetwork()},getLastIP:function(){return this.getBroadcast()},getBlockSize:function(){var a=this.$ip.getMaxPrefixLength(),c=this.getPrefixLength();return this.$ip.getVersion()===k.prototype.IP_V6?(a=a-c+"",x("2").pow(a)):Math.pow(2,a-c)},getHosts:function(){var a=this.getNetwork(),c=this.getBroadcast();this.$ip.getVersion()===k.prototype.IP_V4&&2<this.getBlockSize()&&(a=k.prototype.parseBin(L(a.toBin(),0,a.getMaxPrefixLength()-1)+"1"),c=k.prototype.parseBin(L(c.toBin(),0,c.getMaxPrefixLength()-1)+"0"));return new D(a,c)},exclude:function(a){a=this.parse(a);if(0<w(a.getFirstIP().inAddr(),this.getLastIP().inAddr())||0>w(a.getLastIP().inAddr(),this.getFirstIP().inAddr()))throw Error("Exclude subnet not within target network");var c=[],b=this.getPrefixLength()+1;var d=J(!0,{},this);d.setPrefixLength(b);var e=J(!0,{},d);for(e.setIP(d.getLastIP().next());b<=a.getPrefixLength();){var f=new D(d.getFirstIP(),d.getLastIP());if(f.contains(a)){f=d;var g=e}else f=e,g=d;c.push(J(!0,{},g));if(++b>this.getNetwork().getMaxPrefixLength())break;f.setPrefixLength(b);g.setPrefixLength(b);g.setIP(f.getLastIP().next())}return F.prototype.sort(c)},moveTo:function(a){var c=this.$ip.getMaxPrefixLength();if(a<=this.getPrefixLength()||a>c)throw Error("Invalid prefix length");c=this.prefix2netmask(a,this.$ip.getVersion());var b=[];var d=J(!0,{},this);for(d.setPrefixLength(a);d.$ip.inAddr()<this.getLastIP().inAddr();)b.push(d),d=new F(d.getLastIP().next(),c);return b},sort:function(a){return a.sort(function(a,b){a=k.prototype.parse((a+"").split("/").shift()).toHex();b=k.prototype.parse((b+"").split("/").shift()).toHex();return w(a,b)})},current:function(){return this.getFirstIP().next(this.$position)},key:function(){return this.$position},next:function(){++this.$position},rewind:function(){this.$position=0},valid:function(){return 0>=w(this.getFirstIP().next(this.$position).inAddr(),this.getLastIP().inAddr())},count:function(){return parseInt(this.getBlockSize())}};D.prototype={$firstIP:null,$lastIP:null,$position:0,__construct:function(a,c){this.setFirstIP(a);this.setLastIP(c)},parse:function(a){if(G(a,"/")||G(a," ")){a=F.prototype.parse(a);var c=a.getFirstIP();a=a.getLastIP()}else G(a,"*")?(c=k.prototype.parse(a.replace("*","0")),a=k.prototype.parse(a.replace("*","255"))):G(a,"-")?(a=R("-",a,2),c=k.prototype.parse(a[0]),a=k.prototype.parse(a[1])):(c=k.prototype.parse(a),a=J(!0,{},c));return new D(c,a)},contains:function(a){if(a instanceof k)a=0<=w(a.inAddr(),this.$firstIP.inAddr())&&0>=w(a.inAddr(),this.$lastIP.inAddr());else if(a instanceof D||a instanceof F)a=0<=w(a.getFirstIP().inAddr(),this.$firstIP.inAddr())&&0>=w(a.getLastIP().inAddr(),this.$lastIP.inAddr());else throw Error("Invalid type");return a},setFirstIP:function(a){if(this.$lastIP&&0<w(a.inAddr(),this.$lastIP.inAddr()))throw Error("First IP is grater than second");this.$firstIP=a},setLastIP:function(a){if(this.$firstIP&&0>w(a.inAddr(),this.$firstIP.inAddr()))throw Error("Last IP is less than first");this.$lastIP=a},getFirstIP:function(){return this.$firstIP},getLastIP:function(){return this.$lastIP},getNetworks:function(){var a=this.getSpanNetwork(),c=[];if(a.getFirstIP().inAddr()===this.$firstIP.inAddr()&&a.getLastIP().inAddr()===this.$lastIP.inAddr())c.push(a);else{if(a.getFirstIP().inAddr()!==this.$firstIP.inAddr()){var b=a.exclude(this.$firstIP.prev());var d=this.$firstIP.inAddr();b.forEach(function(a){0<=w(a.getFirstIP().inAddr(),d)&&c.push(a)})}a.getLastIP().inAddr()!==this.$lastIP.inAddr()&&(c.length?(b=ia(c),b=b.exclude(this.$lastIP.next())):b=a.exclude(this.$lastIP.next()),d=this.$lastIP.inAddr(),b.forEach(function(a){a.getLastIP().inAddr()<=d&&c.push(a)}))}return F.prototype.sort(c)},getSpanNetwork:function(){var a=this.getFirstIP().inAddr()+"",c=this.getLastIP().inAddr()+"",b,d=a.length,e=[];for(b=0;b<d;b++)e.push(H((a.charCodeAt(b)^c.charCodeAt(b)).toString(16),2,"0",0));c=k.prototype.parseInAddr(Y(e.join("")));a=(S(/^(0*)/,c.toBin(),!0)[1]+"").length;c=k.prototype.parseBin(H(L(this.getFirstIP().toBin(),0,a),c.getMaxPrefixLength(),"0"));return new F(c,F.prototype.prefix2netmask(a,c.getVersion()))},sort:function(a){return a.sort(function(a,b){var c=w(a.getFirstIP().inAddr(),b.getFirstIP().inAddr());return c?c:w(a.getLastIP().inAddr(),b.getLastIP().inAddr())})},merge:function(a){a=D.prototype.sort(a);for(var c=0;c<a.length-1;)0<=w(a[c].getLastIP().next().inAddr(),a[c+1].getFirstIP().inAddr())?(a[c].setLastIP(a[c+1].getLastIP()),a.splice(c+1,1)):++c;return a},current:function(){return this.$firstIP.next(this.$position)},key:function(){return this.$position},next:function(){++this.$position},rewind:function(){this.$position=0},valid:function(){return 0>=w(X(this.$firstIP.next(this.$position).inAddr()),X(this.$lastIP.inAddr()))},count:function(){var a=this.$lastIP.toLong();var c=this.$firstIP.toLong();a=x(a).minus(c);return P(a,1)}};u.IP=k;u.Network=F;u.Range=D;var p={};"abcdefg".split("").map(function(a){p[a]=I.getElementById(a)});var oa=p.g?p.g.firstChild.cloneNode(!1):null;T(p.a,"click",function(a){a.value="";K()},p.c);T(p.b,"click",function(a){a.value="";K()},p.d);T(p.e,"click",function(a,c){var b=fa(a.value);try{var d,e=[];var f=0;for(d=b.length;f<d;++f)b[f]&&(b[f]=b[f].split("-").map(function(a){return a.trim()}),1===b[f].length&&b[f].push(b[f][0]),2===b[f].length&&(b[f][1]=b[f][1]||b[f][0],b[f][0]=b[f][0]||b[f][1],b[f][0]&&b[f][1]&&e.push(new D(new k(b[f][0]),new k(b[f][1])))));e=D.prototype.merge(e);var g=x(0);c.value="";f=0;for(d=e.length;f<d;++f)g=P(g,e[f].count(),1),e[f].getNetworks().forEach(function(a){c.value+=a+"\n"});K(g.gt(x(0))?g:null)}catch(h){K(h.message)}},p.c,p.d);T(p.f,"click",function(a,c){var b=fa(a.value);try{var d,e=[];var f=0;for(d=b.length;f<d;++f)b[f]&&e.push(D.prototype.parse(b[f]));e=D.prototype.merge(e);var g=x(0);c.value="";f=0;for(d=e.length;f<d;++f)g=P(g,e[f].count(),1),c.value+=e[f].getFirstIP()+" - "+e[f].getLastIP()+"\n";K(g.gt(x(0))?g:null)}catch(h){K(h.message)}},p.d,p.c)})(window,document);
classes/class-ip-geo-block-opts.php CHANGED
@@ -70,8 +70,8 @@ class IP_Geo_Block_Opts {
70
  'retry' => 0, // Number of retry to download
71
  'cycle' => 30, // Updating cycle (days)
72
  ),
73
- // since version 2.0.8
74
- 'priority' => 0, // Action priority for WP-ZEP
75
  // since version 2.2.0
76
  'anonymize' => FALSE, // Anonymize IP address to hide privacy
77
  'signature' => '../,/wp-config.php,/passwd', // malicious signature
@@ -251,9 +251,6 @@ class IP_Geo_Block_Opts {
251
  if ( version_compare( $version, '2.0.0' ) < 0 )
252
  $settings = $default;
253
 
254
- if ( version_compare( $version, '2.0.8' ) < 0 )
255
- $settings['priority'] = $default['priority'];
256
-
257
  if ( version_compare( $version, '2.1.0' ) < 0 ) {
258
  foreach ( array( 'plugins', 'themes' ) as $tmp ) {
259
  $settings['validation'][ $tmp ] = $default['validation'][ $tmp ];
@@ -392,13 +389,16 @@ class IP_Geo_Block_Opts {
392
  }
393
  }
394
 
 
 
 
395
  // save package version number
396
  $settings['version'] = IP_Geo_Block::VERSION;
397
  }
398
 
399
- // install addons for IP Geolocation database API ver. 1.1.11
400
  $providers = IP_Geo_Block_Provider::get_addons();
401
- if ( empty( $providers ) || ! $settings['api_dir'] || version_compare( $version, '3.0.8' ) < 0 )
402
  $settings['api_dir'] = self::install_api( $settings );
403
 
404
  // update option table
70
  'retry' => 0, // Number of retry to download
71
  'cycle' => 30, // Updating cycle (days)
72
  ),
73
+ // since version 3.0.9
74
+ 'priority' => PHP_INT_MAX, // Action priority for WP-ZEP
75
  // since version 2.2.0
76
  'anonymize' => FALSE, // Anonymize IP address to hide privacy
77
  'signature' => '../,/wp-config.php,/passwd', // malicious signature
251
  if ( version_compare( $version, '2.0.0' ) < 0 )
252
  $settings = $default;
253
 
 
 
 
254
  if ( version_compare( $version, '2.1.0' ) < 0 ) {
255
  foreach ( array( 'plugins', 'themes' ) as $tmp ) {
256
  $settings['validation'][ $tmp ] = $default['validation'][ $tmp ];
389
  }
390
  }
391
 
392
+ if ( version_compare( $version, '3.0.9' ) < 0 )
393
+ $settings['priority'] = $default['priority'];
394
+
395
  // save package version number
396
  $settings['version'] = IP_Geo_Block::VERSION;
397
  }
398
 
399
+ // install addons for IP Geolocation database API ver. 1.1.12
400
  $providers = IP_Geo_Block_Provider::get_addons();
401
+ if ( empty( $providers ) || ! $settings['api_dir'] || version_compare( $version, '3.0.9' ) < 0 )
402
  $settings['api_dir'] = self::install_api( $settings );
403
 
404
  // update option table
classes/class-ip-geo-block.php CHANGED
@@ -15,7 +15,7 @@ class IP_Geo_Block {
15
  * Unique identifier for this plugin.
16
  *
17
  */
18
- const VERSION = '3.0.8';
19
  const GEOAPI_NAME = 'ip-geo-api';
20
  const PLUGIN_NAME = 'ip-geo-block';
21
  const OPTION_NAME = 'ip_geo_block_settings';
@@ -54,12 +54,12 @@ class IP_Geo_Block {
54
  $validate = $settings['validation'];
55
  $live_log = get_transient( IP_Geo_Block::PLUGIN_NAME . '-live-log' );
56
 
57
- // get client IP address
58
- self::$remote_addr = IP_Geo_Block_Util::get_client_ip( $validate['proxy'] );
59
-
60
  // include drop in if it exists
61
  file_exists( $key = IP_Geo_Block_Util::unslashit( $settings['api_dir'] ) . '/drop-in.php' ) and include( $key );
62
 
 
 
 
63
  // normalize requested uri and page
64
  $key = preg_replace( array( '!\.+/!', '!//+!' ), '/', $_SERVER['REQUEST_URI'] );
65
  $this->request_uri = @parse_url( $key, PHP_URL_PATH ) or $this->request_uri = $key;
@@ -95,7 +95,7 @@ class IP_Geo_Block {
95
  if ( 'admin' !== $this->target_type )
96
  $loader->add_action( 'init', array( $this, 'validate_direct' ), $priority );
97
  else // 'widget_init' for admin dashboard
98
- $loader->add_action( 'wp_loaded', array( $this, 'validate_admin' ), $priority );
99
  }
100
 
101
  // analize core validation target (comment|xmlrpc|login|public)
@@ -251,13 +251,17 @@ class IP_Geo_Block {
251
  * Get current IP address
252
  *
253
  */
254
- public static function get_ip_address() {
255
  if ( ! self::$remote_addr ) {
256
- $settings = self::get_option();
257
- self::$remote_addr = IP_Geo_Block_Util::get_client_ip( $settings['validation']['proxy'] );
 
 
 
 
258
  }
259
 
260
- return apply_filters( self::PLUGIN_NAME . '-ip-addr', self::$remote_addr );
261
  }
262
 
263
  /**
@@ -729,7 +733,7 @@ class IP_Geo_Block {
729
  public function check_nonce( $validate, $settings ) {
730
  // should be passed when nonce is valid. can't overwrite existing result
731
  $nonce = IP_Geo_Block_Util::retrieve_nonce( $action = self::PLUGIN_NAME . '-auth-nonce' );
732
- return $validate + array( 'result' => IP_Geo_Block_Util::verify_nonce( $nonce, $action ) ? 'passed' : 'wp-zep' );
733
  }
734
 
735
  public function check_signature( $validate, $settings ) {
15
  * Unique identifier for this plugin.
16
  *
17
  */
18
+ const VERSION = '3.0.9';
19
  const GEOAPI_NAME = 'ip-geo-api';
20
  const PLUGIN_NAME = 'ip-geo-block';
21
  const OPTION_NAME = 'ip_geo_block_settings';
54
  $validate = $settings['validation'];
55
  $live_log = get_transient( IP_Geo_Block::PLUGIN_NAME . '-live-log' );
56
 
 
 
 
57
  // include drop in if it exists
58
  file_exists( $key = IP_Geo_Block_Util::unslashit( $settings['api_dir'] ) . '/drop-in.php' ) and include( $key );
59
 
60
+ // get client IP address
61
+ self::$remote_addr = self::get_ip_address( $settings );
62
+
63
  // normalize requested uri and page
64
  $key = preg_replace( array( '!\.+/!', '!//+!' ), '/', $_SERVER['REQUEST_URI'] );
65
  $this->request_uri = @parse_url( $key, PHP_URL_PATH ) or $this->request_uri = $key;
95
  if ( 'admin' !== $this->target_type )
96
  $loader->add_action( 'init', array( $this, 'validate_direct' ), $priority );
97
  else // 'widget_init' for admin dashboard
98
+ $loader->add_action( 'admin_init', array( $this, 'validate_admin' ), $priority );
99
  }
100
 
101
  // analize core validation target (comment|xmlrpc|login|public)
251
  * Get current IP address
252
  *
253
  */
254
+ public static function get_ip_address( $settings = NULL ) {
255
  if ( ! self::$remote_addr ) {
256
+ $settings or $settings = self::get_option();
257
+
258
+ self::$remote_addr = apply_filters(
259
+ self::PLUGIN_NAME . '-ip-addr',
260
+ IP_Geo_Block_Util::get_client_ip( $settings['validation']['proxy'] )
261
+ );
262
  }
263
 
264
+ return self::$remote_addr;
265
  }
266
 
267
  /**
733
  public function check_nonce( $validate, $settings ) {
734
  // should be passed when nonce is valid. can't overwrite existing result
735
  $nonce = IP_Geo_Block_Util::retrieve_nonce( $action = self::PLUGIN_NAME . '-auth-nonce' );
736
+ return $validate + array( 'result' => IP_Geo_Block_Util::verify_nonce( $nonce, $action ) || 'XX' === $validate['code'] ? 'passed' : 'wp-zep' );
737
  }
738
 
739
  public function check_signature( $validate, $settings ) {
ip-geo-block.php CHANGED
@@ -13,7 +13,7 @@
13
  * Plugin Name: IP Geo Block
14
  * Plugin URI: http://wordpress.org/plugins/ip-geo-block/
15
  * Description: It blocks any spams, login attempts and malicious access to the admin area posted from outside your nation, and also prevents zero-day exploit.
16
- * Version: 3.0.8
17
  * Author: tokkonopapa
18
  * Author URI: http://www.ipgeoblock.com/
19
  * Text Domain: ip-geo-block
13
  * Plugin Name: IP Geo Block
14
  * Plugin URI: http://wordpress.org/plugins/ip-geo-block/
15
  * Description: It blocks any spams, login attempts and malicious access to the admin area posted from outside your nation, and also prevents zero-day exploit.
16
+ * Version: 3.0.9
17
  * Author: tokkonopapa
18
  * Author URI: http://www.ipgeoblock.com/
19
  * Text Domain: ip-geo-block
languages/ip-geo-block-ja.mo CHANGED
Binary file
languages/ip-geo-block-ja.po CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: IP Geo Block 3.0.8\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
- "POT-Creation-Date: 2018-02-04 12:53+0900\n"
8
- "PO-Revision-Date: 2018-02-04 14:54+0900\n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -79,7 +79,7 @@ msgid "The selected row cannot be found in the visible area."
79
  msgstr "可視領域に選択された行が見つかりません。"
80
 
81
  #: admin/class-ip-geo-block-admin.php:278
82
- #: admin/class-ip-geo-block-admin.php:1417
83
  #, php-format
84
  msgid "An error occurred while executing the ajax command `%s`."
85
  msgstr "Ajaxコマンド `%s` の実行中にエラーが発生しました。"
@@ -148,27 +148,33 @@ msgstr "$_POST データ"
148
  msgid "Contribute on GitHub"
149
  msgstr "開発に参加"
150
 
151
- #: admin/class-ip-geo-block-admin.php:336 admin/class-ip-geo-block-admin.php:444
152
- #: admin/class-ip-geo-block-admin.php:659 admin/class-ip-geo-block-admin.php:678
 
 
153
  msgid "Settings"
154
  msgstr "設定"
155
 
156
- #: admin/class-ip-geo-block-admin.php:424 admin/class-ip-geo-block-admin.php:425
157
- #: admin/class-ip-geo-block-admin.php:435 admin/class-ip-geo-block-admin.php:436
158
- #: admin/class-ip-geo-block-admin.php:443 admin/class-ip-geo-block-admin.php:451
 
 
 
159
  msgid "IP Geo Block"
160
  msgstr "IP Geo Block"
161
 
162
- #: admin/class-ip-geo-block-admin.php:452 admin/class-ip-geo-block-admin.php:663
163
- #: admin/class-ip-geo-block-admin.php:679
 
164
  msgid "Site List"
165
  msgstr "サイト一覧"
166
 
167
- #: admin/class-ip-geo-block-admin.php:481
168
  msgid "You need WordPress 3.7+."
169
  msgstr "WordPress 3.7&thinsp;以上が必要です。"
170
 
171
- #: admin/class-ip-geo-block-admin.php:487
172
  #, php-format
173
  msgid ""
174
  "Now downloading geolocation databases in background. After a little while, "
@@ -179,7 +185,7 @@ msgstr ""
179
  "た後、あなたの国コードと[<strong>マッチング規則</strong>]を[<a href=\"%s\">"
180
  "検証ルールの設定</a>]で確認して下さい。"
181
 
182
- #: admin/class-ip-geo-block-admin.php:493
183
  #, php-format
184
  msgid ""
185
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
@@ -188,11 +194,11 @@ msgstr ""
188
  "[<strong>マッチング規則</strong>]が正しく設定されていません。[<a href=\"%s"
189
  "\">検証ルールの設定</a>]を確認して下さい。"
190
 
191
- #: admin/class-ip-geo-block-admin.php:502
192
  msgid "Local database and matching rule have been updated."
193
  msgstr "ローカル・データベースとマッチング規則を更新しました。"
194
 
195
- #: admin/class-ip-geo-block-admin.php:513
196
  msgid ""
197
  "Once you logout, you will be unable to login again because the number of "
198
  "login attempts reaches the limit."
@@ -200,7 +206,7 @@ msgstr ""
200
  "あなたのIPアドレスのログイン試行可能回数がリミットに達したため、ログアウトする"
201
  "と再びログインする事が出来なくなります。"
202
 
203
- #: admin/class-ip-geo-block-admin.php:515
204
  #, php-format
205
  msgid ""
206
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
@@ -209,7 +215,7 @@ msgstr ""
209
  "<a href=\"%s\">[統計]タブ</a>の[<strong>キャッシュのクリア</strong>]を実行"
210
  "し、ロックアウトを回避してください。"
211
 
212
- #: admin/class-ip-geo-block-admin.php:525
213
  msgid ""
214
  "Once you logout, you will be unable to login again because your country code "
215
  "or IP address is in the blacklist."
@@ -217,7 +223,7 @@ msgstr ""
217
  "あなたの国コードまたはIPアドレスがブラックリストに含まれているため、ログアウト"
218
  "すると再びログインする事が出来なくなります。"
219
 
220
- #: admin/class-ip-geo-block-admin.php:526
221
  msgid ""
222
  "Once you logout, you will be unable to login again because your country code "
223
  "or IP address is not in the whitelist."
@@ -225,12 +231,12 @@ msgstr ""
225
  "あなたの国コードまたはIPアドレスがホワイトリストに含まれていないため、ログアウ"
226
  "トすると再びログインする事が出来なくなります。"
227
 
228
- #: admin/class-ip-geo-block-admin.php:530
229
  #, php-format
230
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
231
  msgstr "[%s検証ルールの設定%s]を確認して下さい。"
232
 
233
- #: admin/class-ip-geo-block-admin.php:534
234
  #, php-format
235
  msgid ""
236
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
@@ -240,7 +246,7 @@ msgstr ""
240
  "[%sローカル・データベースの設定%s]で位置情報データベースを確認し、[%sキャッ"
241
  "シュの統計%s]でキャッシュされているあなたのIPアドレスを削除して下さい。"
242
 
243
- #: admin/class-ip-geo-block-admin.php:547
244
  msgid ""
245
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
246
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
@@ -250,31 +256,31 @@ msgstr ""
250
  "されていますが、<strong>IP Geo Allow</strong> と互換性がありません。「&#8220;"
251
  "init&#8221; アクション・フック」を選択してください。"
252
 
253
- #: admin/class-ip-geo-block-admin.php:660
254
  msgid "Statistics"
255
  msgstr "統計"
256
 
257
- #: admin/class-ip-geo-block-admin.php:661
258
  msgid "Logs"
259
  msgstr "ログ"
260
 
261
- #: admin/class-ip-geo-block-admin.php:662
262
  msgid "Search"
263
  msgstr "検索"
264
 
265
- #: admin/class-ip-geo-block-admin.php:664
266
  msgid "Attribution"
267
  msgstr "リンク"
268
 
269
- #: admin/class-ip-geo-block-admin.php:690
270
  msgid "Network wide"
271
  msgstr "ネットワーク一括管理"
272
 
273
- #: admin/class-ip-geo-block-admin.php:703
274
  msgid "Toggle all"
275
  msgstr "全てを開閉"
276
 
277
- #: admin/class-ip-geo-block-admin.php:706
278
  msgid ""
279
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
280
  "the requests validated by this plugin in almost real time."
@@ -282,45 +288,45 @@ msgstr ""
282
  "[統計とログの設定]にかかわらず、このプラグインによる検証結果のすべてを、ほぼ"
283
  "リアルタイムに表示します。"
284
 
285
- #: admin/class-ip-geo-block-admin.php:706 admin/includes/tab-accesslog.php:37
286
  msgid "Live update"
287
  msgstr "ライブアップデート"
288
 
289
- #: admin/class-ip-geo-block-admin.php:710
290
  msgid "Open a new window on clicking the link in the chart."
291
  msgstr "チャート内のリンクをクリックすると、新しいウィンドウが開きます。"
292
 
293
- #: admin/class-ip-geo-block-admin.php:710
294
  msgid "Open a new window"
295
  msgstr "別窓で開く"
296
 
297
- #: admin/class-ip-geo-block-admin.php:733
298
  msgid "Thanks for providing these great services for free."
299
  msgstr "これらのすばらしいサービスの提供元に、敬意と感謝の意を表します!"
300
 
301
- #: admin/class-ip-geo-block-admin.php:734
302
  msgid ""
303
- "(Most browsers will redirect you to each site <a href=\"http://www.ipgeoblock."
304
- "com/etc/referer.html\" title=\"Referer Checker\">without referrer when you "
305
- "click the link</a>.)"
306
  msgstr ""
307
  "(ほとんどのブラウザでは、<a href=\"http://www.ipgeoblock.com/etc/referer.html"
308
  "\" title=\"Referer Checker\">参照元を残さずにリンク先にリダイレクトできます</"
309
  "a>。)"
310
 
311
- #: admin/class-ip-geo-block-admin.php:739
312
  msgid "Back to top"
313
  msgstr "トップに戻る"
314
 
315
- #: admin/class-ip-geo-block-admin.php:836
316
  msgid "Enable"
317
  msgstr "有効"
318
 
319
- #: admin/class-ip-geo-block-admin.php:851
320
  msgid "Select one"
321
  msgstr "何れかを選択"
322
 
323
- #: admin/class-ip-geo-block-admin.php:1240
324
  #: admin/includes/class-admin-rewrite.php:194
325
  #: classes/class-ip-geo-block-cron.php:228
326
  #: classes/class-ip-geo-block-cron.php:332
@@ -330,7 +336,7 @@ msgstr "何れかを選択"
330
  msgid "Unable to write <code>%s</code>. Please check the permission."
331
  msgstr "<code>%s</code> に書き込めません。パーミッションをチェックして下さい。"
332
 
333
- #: admin/class-ip-geo-block-admin.php:1270
334
  msgid "Settings saved."
335
  msgstr "設定を保存しました。"
336
 
@@ -338,8 +344,8 @@ msgstr "設定を保存しました。"
338
  msgid "n/a"
339
  msgstr "不明"
340
 
341
- #: admin/includes/class-admin-ajax.php:77 admin/includes/tab-settings.php:76
342
- #: admin/includes/tab-settings.php:96
343
  msgid "UNKNOWN"
344
  msgstr "不明"
345
 
@@ -371,101 +377,99 @@ msgstr "%s&thinsp;で既に「auto_prepend_file」が設定されています。
371
  msgid "Validation logs"
372
  msgstr "検証のログ"
373
 
374
- #: admin/includes/tab-accesslog.php:52 admin/includes/tab-settings.php:452
375
  msgid "Comment post"
376
  msgstr "コメント投稿"
377
 
378
- #: admin/includes/tab-accesslog.php:53 admin/includes/tab-settings.php:453
379
  msgid "XML-RPC"
380
  msgstr "XML-RPC"
381
 
382
- #: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:454
383
  msgid "Login form"
384
  msgstr "ログイン・フォーム"
385
 
386
- #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:455
387
  msgid "Admin area"
388
  msgstr "管理領域"
389
 
390
- #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:457
391
  msgid "Public facing pages"
392
  msgstr "一般公開ページ"
393
 
394
- #: admin/includes/tab-accesslog.php:59 admin/includes/tab-network.php:76
395
  msgid "All"
396
  msgstr "全て"
397
 
398
- #: admin/includes/tab-accesslog.php:69
399
  msgid "Select target"
400
  msgstr "対象を選択"
401
 
402
- #: admin/includes/tab-accesslog.php:85
403
  msgid "Search in logs"
404
  msgstr "ログを検索"
405
 
406
- #: admin/includes/tab-accesslog.php:94 admin/includes/tab-statistics.php:235
407
  msgid "Reset"
408
  msgstr "リセット"
409
 
410
- #: admin/includes/tab-accesslog.php:102 admin/includes/tab-statistics.php:242
411
  msgid "Bulk action"
412
  msgstr "選択して実行"
413
 
414
- #: admin/includes/tab-accesslog.php:113 admin/includes/tab-statistics.php:254
415
  msgid "Add IP address to &#8220;Whitelist&#8221;"
416
  msgstr "IPアドレスをホワイトリストへ追加"
417
 
418
- #: admin/includes/tab-accesslog.php:114 admin/includes/tab-statistics.php:255
419
  msgid "Add IP address to &#8220;Blacklist&#8221;"
420
  msgstr "IPアドレスをブラックリストへ追加"
421
 
422
- #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:256
423
  msgid "Add AS number to &#8220;Whitelist&#8221;"
424
  msgstr "AS番号をホワイトリストへ追加"
425
 
426
- #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:257
427
  msgid "Add AS number to &#8220;Blacklist&#8221;"
428
  msgstr "AS番号をブラックリストへ追加"
429
 
430
- #: admin/includes/tab-accesslog.php:118 admin/includes/tab-network.php:56
431
  #: admin/includes/tab-statistics.php:259
432
  msgid "Apply"
433
  msgstr "実行する"
434
 
435
- #: admin/includes/tab-accesslog.php:126 admin/includes/tab-statistics.php:198
436
  msgid "Clear logs"
437
  msgstr "ログをクリア"
438
 
439
- #: admin/includes/tab-accesslog.php:134 admin/includes/tab-statistics.php:173
440
  #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:274
441
  msgid "Clear all"
442
  msgstr "全てをクリア"
443
 
444
- #: admin/includes/tab-accesslog.php:144
445
  msgid "Export logs"
446
  msgstr "ログをエクスポート"
447
 
448
- #: admin/includes/tab-accesslog.php:150 admin/includes/tab-settings.php:1517
449
  msgid "Export to the local file"
450
  msgstr "ローカル・ファイルへエクスポートする"
451
 
452
- #: admin/includes/tab-accesslog.php:150
453
  msgid "Export csv"
454
  msgstr "CSVへエクスポート"
455
 
456
- #: admin/includes/tab-accesslog.php:167 admin/includes/tab-network.php:112
457
- #: admin/includes/tab-statistics.php:397
458
- msgid ""
459
- "[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab "
460
- "is [<strong>Disable</strong>]."
461
- msgstr ""
462
- "[<strong>設定</strong>]タブの[<strong>検証のログを記録</strong>]に"
463
- "[<strong>無効</strong>]が選択されています。"
464
 
465
- #: admin/includes/tab-accesslog.php:168 admin/includes/tab-network.php:113
 
466
  msgid ""
467
- "Please select the proper condition to record and analyze the validation logs."
468
- msgstr "検証のログを記録し分析するためには、適切な条件を選択して下さい。"
469
 
470
  #: admin/includes/tab-attribution.php:16
471
  msgid "Attribution links"
@@ -523,7 +527,7 @@ msgstr "取得する期間"
523
  msgid "Validation rule settings"
524
  msgstr "検証ルールの設定"
525
 
526
- #: admin/includes/tab-settings.php:68
527
  msgid ""
528
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
529
  "code by referring &#8220;Scan country code&#8221;.\">Your IP address / "
@@ -532,15 +536,15 @@ msgstr ""
532
  "<dfn title=\"[国コードを検索する]を参照し、適切な位置情報APIと国コードを設定"
533
  "して下さい。\">あなたのIPアドレス / 国コード</dfn>"
534
 
535
- #: admin/includes/tab-settings.php:77 admin/includes/tab-settings.php:97
536
  msgid "Scan all the APIs you selected at Geolocation API settings"
537
  msgstr "選択された位置情報APIを検索します"
538
 
539
- #: admin/includes/tab-settings.php:77 admin/includes/tab-settings.php:97
540
  msgid "Scan country code"
541
  msgstr "国コードを検索する"
542
 
543
- #: admin/includes/tab-settings.php:88
544
  msgid ""
545
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
546
  "code by referring &#8220;Scan country code&#8221;.\">Server IP address / "
@@ -549,26 +553,27 @@ msgstr ""
549
  "<dfn title=\"[国コードを検索する]を参照し、適切な位置情報APIと国コードを設定"
550
  "して下さい。\">サーバーのIPアドレス / 国コード</dfn>"
551
 
552
- #: admin/includes/tab-settings.php:105
553
  msgid "Whitelist"
554
  msgstr "ホワイトリスト"
555
 
556
- #: admin/includes/tab-settings.php:106
557
  msgid "Blacklist"
558
  msgstr "ブラックリスト"
559
 
560
- #: admin/includes/tab-settings.php:110
561
- msgid "Please select either &#8220;Whitelist&#8221; or &#8220;Blacklist&#8221;."
 
562
  msgstr "「ホワイトリスト」または「ブラックリスト」のいずれかを選択して下さい。"
563
 
564
- #: admin/includes/tab-settings.php:111
565
  msgid ""
566
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
567
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
568
- "including localhost. And &#8220;ZZ&#8221; is for unknown IP address (i.e. not "
569
- "in the geolocation databases). Please use &#8220;YY&#8221; if you need the "
570
- "code that does not correspond to any of the countries.\">Whitelist of country "
571
- "code</dfn>"
572
  msgstr ""
573
  "<dfn title=\"空欄の場合、「国コードで遮断」はバイパスされます。特別なコード"
574
  "「XX」は、localhost&thinsp;を含むプライベート・アドレスに割り当てられ、また"
@@ -576,14 +581,14 @@ msgstr ""
576
  "いことが必要な場合には、「YY」を指定してください。\">国コードのホワイトリスト"
577
  "</dfn>"
578
 
579
- #: admin/includes/tab-settings.php:112
580
  msgid ""
581
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
582
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
583
- "including localhost. And &#8220;ZZ&#8221; is for unknown IP address (i.e. not "
584
- "in the geolocation databases). Please use &#8220;YY&#8221; if you need the "
585
- "code that does not correspond to any of the countries.\">Blacklist of country "
586
- "code</dfn>"
587
  msgstr ""
588
  "<dfn title=\"空欄の場合、「国コードで遮断」はバイパスされます。特別なコード"
589
  "「XX」は、localhost&thinsp;を含むプライベート・アドレスに割り当てられ、また"
@@ -591,23 +596,23 @@ msgstr ""
591
  "いことが必要な場合には、「YY」を指定してください。\">国コードのブラックリスト"
592
  "</dfn>"
593
 
594
- #: admin/includes/tab-settings.php:116
595
  msgid "(comma separated)"
596
  msgstr "(カンマ区切り)"
597
 
598
- #: admin/includes/tab-settings.php:117
599
  msgid "(comma or RET separated)"
600
  msgstr "(カンマ、改行区切り)"
601
 
602
- #: admin/includes/tab-settings.php:118
603
  msgid "Toggle selection"
604
  msgstr "選択を切り替える"
605
 
606
- #: admin/includes/tab-settings.php:119
607
  msgid "Find blocked requests in &#8220;Logs&#8220;"
608
  msgstr "ログから遮断されたリクエストを検索する"
609
 
610
- #: admin/includes/tab-settings.php:120
611
  msgid ""
612
  "Before adding as &#8220;Exception&#8221;, please click on &#8220;<a class="
613
  "\"ip-geo-block-icon ip-geo-block-icon-alert\" title=\"This button is just a "
@@ -619,7 +624,11 @@ msgstr ""
619
  "す。\"><span></span></a>&#8221;(もしあれば)をクリックし、遮断されたリクエス"
620
  "トに悪意のないことを確認して下さい。"
621
 
622
- #: admin/includes/tab-settings.php:127 admin/includes/tab-settings.php:791
 
 
 
 
623
  msgid "Matching rule"
624
  msgstr "マッチング規則"
625
 
@@ -651,21 +660,20 @@ msgstr ""
651
 
652
  #: admin/includes/tab-settings.php:197
653
  #, php-format
654
- msgid ""
655
- "Some useful tools for investigating ASN are introduced in &#8220;%s&#8221;."
656
  msgstr "AS番号の検索に役立つツールを &#8220;%s&#8221; に紹介しています。"
657
 
658
  #: admin/includes/tab-settings.php:206
659
  msgid ""
660
  "<dfn title=\"e.g. &#8220;192.0.64.0/18&#8221; for Jetpack server, "
661
- "&#8220;69.46.36.0/27&#8221; for WordFence server or &#8220;AS32934&#8221; for "
662
- "Facebook.\">Whitelist of extra IP addresses prior to country code</dfn>"
663
  msgstr ""
664
  "<dfn title=\"例)192.0.64.0/18(Jetpackサーバー)、69.46.36.0/27(WordFence"
665
  "サーバー)、AS32934(Facebook)\">国コードに優先して検証するIPアドレスのホワイ"
666
  "トリスト</dfn>"
667
 
668
- #: admin/includes/tab-settings.php:226
669
  msgid ""
670
  "<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
671
  "\">Blacklist of extra IP addresses prior to country code</dfn>"
@@ -673,7 +681,7 @@ msgstr ""
673
  "<dfn title=\"サーバー・レベルのアクセス制御の使用をお勧めします(例:."
674
  "htaccess)。\">国コードに優先して検証するIPアドレスのブラックリスト</dfn>"
675
 
676
- #: admin/includes/tab-settings.php:247
677
  msgid ""
678
  "<dfn title=\"If your server is placed behind the proxy server or the load "
679
  "balancing server, you need to put the appropriate key such as &#8220;"
@@ -687,7 +695,7 @@ msgstr ""
687
  "を指定してください。\">IPアドレスを追加抽出する&thinsp;$_SERVER&thinsp;のキー"
688
  "</dfn>"
689
 
690
- #: admin/includes/tab-settings.php:266
691
  msgid ""
692
  "<dfn title=\"It validates malicious signatures independently of &#8220;Block "
693
  "by country&#8221; and &#8220;Prevent Zero-day Exploit&#8221; for the target "
@@ -704,14 +712,14 @@ msgstr ""
704
  "block-decode\" title=\"文字化けした場合、クリックして復元して下さ"
705
  "い。\"><span></span></a>)</nobr>"
706
 
707
- #: admin/includes/tab-settings.php:280
708
  msgid ""
709
  "<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
710
  msgstr ""
711
  "<dfn title=\"許可する&thinsp;MIME&thinsp;タイプを指定します。\">許可する"
712
  "&thinsp;MIME&thinsp;タイプのホワイトリスト</dfn>"
713
 
714
- #: admin/includes/tab-settings.php:291
715
  msgid ""
716
  "<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
717
  "extensions</dfn>"
@@ -719,7 +727,7 @@ msgstr ""
719
  "<dfn title=\"禁止するファイルの拡張子を設定します。\">禁止するファイル拡張子の"
720
  "ブラックリスト</dfn>"
721
 
722
- #: admin/includes/tab-settings.php:295
723
  msgid ""
724
  "<dfn title=\"Specify the capabilities to be verified. Depending on the "
725
  "particular type of uploader, certain capability may be required. Default is "
@@ -731,7 +739,7 @@ msgstr ""
731
  "(Editor)、投稿者(Author)向けの「upload_files」です。空欄の場合、この検証は"
732
  "スキップされます。\">検証する権限</dfn>"
733
 
734
- #: admin/includes/tab-settings.php:295
735
  msgid ""
736
  "(&thinsp;See &#8220;<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
737
  "Roles_and_Capabilities\" title=\"Roles and Capabilities &laquo; WordPress "
@@ -742,7 +750,7 @@ msgstr ""
742
  "title=\"ユーザーの種類と権限 - WordPress Codex 日本語版\">ユーザーの種類と権限"
743
  "</a>&#8220; を参照)"
744
 
745
- #: admin/includes/tab-settings.php:302
746
  msgid ""
747
  "<dfn title=\"It restricts the file types on upload in order to block malware "
748
  "and backdoor via both back-end and front-end. Please consider to select "
@@ -756,20 +764,20 @@ msgstr ""
756
  "plugins&#8221; (ip-geo-block-mu.php)」に設定することを検討してください。\">悪"
757
  "意のあるアップロード防止</dfn>"
758
 
759
- #: admin/includes/tab-settings.php:313 admin/includes/tab-settings.php:494
760
- #: admin/includes/tab-settings.php:618 admin/includes/tab-settings.php:1231
761
  msgid "Disable"
762
  msgstr "無効"
763
 
764
- #: admin/includes/tab-settings.php:314
765
  msgid "Verify file extension and MIME type"
766
  msgstr "拡張子と&thinsp;MIME&thinsp;タイプを検証"
767
 
768
- #: admin/includes/tab-settings.php:315
769
  msgid "Verify file extension only"
770
  msgstr "ファイル拡張子のみを検証"
771
 
772
- #: admin/includes/tab-settings.php:325
773
  #, php-format
774
  msgid ""
775
  "<dfn title=\"You can put your original 403.php and so on into your theme "
@@ -778,13 +786,13 @@ msgstr ""
778
  "<dfn title=\"テーマ・ディレクトリには&thinsp;403.php&thinsp;など、独自のファイ"
779
  "ルを設置する事が出来ます。\">レスポンス・コード</dfn> %s"
780
 
781
- #: admin/includes/tab-settings.php:355 admin/includes/tab-settings.php:878
782
  msgid ""
783
  "<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
784
- "to a public facing page, visitors would not be blocked on the page to prevent "
785
- "loop of redirection even when you enable [Block by country] in [Front-end "
786
- "target settings] section. Empty URL is altered to your home.\">Redirect URL</"
787
- "dfn>"
788
  msgstr ""
789
  "<dfn title=\"レスポンス・コード&thinsp;2xx&thinsp;、3xx&thinsp;用のリダイレク"
790
  "ト先&thinsp;URL&thinsp;を指定します。リダイレクトのループを避けるため、自サイ"
@@ -792,7 +800,7 @@ msgstr ""
792
  "ります。空欄の場合、サイトのホームが使用されます。\">リダイレクト先&thinsp;"
793
  "URL</dfn>"
794
 
795
- #: admin/includes/tab-settings.php:373 admin/includes/tab-settings.php:897
796
  msgid ""
797
  "<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
798
  "message</dfn>"
@@ -800,7 +808,7 @@ msgstr ""
800
  "<dfn title=\"レスポンス・コード&thinsp;4xx、5xx&thinsp;用のメッセージを指定し"
801
  "ます。\">レスポンス・メッセージ</dfn>"
802
 
803
- #: admin/includes/tab-settings.php:390
804
  msgid ""
805
  "<dfn title=\"This is applied to &#8220;XML-RPC&#8221; and &#8220;Login "
806
  "form&#8221;. Lockout period is defined as expiration time at &#8220;Cache "
@@ -810,23 +818,23 @@ msgstr ""
810
  "間は[キャッシュの設定]の[有効時間]で定義します。\">IPアドレス当たりのログ"
811
  "イン試行可能回数</dfn>"
812
 
813
- #: admin/includes/tab-settings.php:418
814
  msgid "Select when to run the validation."
815
  msgstr "検証を実行するタイミングを選択します。"
816
 
817
- #: admin/includes/tab-settings.php:418
818
  msgid "Validation timing"
819
  msgstr "検証のタイミング"
820
 
821
- #: admin/includes/tab-settings.php:429
822
  msgid "&#8220;init&#8221; action hook"
823
  msgstr "&#8220;init&#8221; アクション・フック"
824
 
825
- #: admin/includes/tab-settings.php:430
826
  msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
827
  msgstr "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
828
 
829
- #: admin/includes/tab-settings.php:433
830
  msgid ""
831
  "Validate at &#8220;init&#8221; action hook in the same manner as typical "
832
  "plugins."
@@ -834,7 +842,7 @@ msgstr ""
834
  "標準的な他のプラグインと同様、init アクション・フックのタイミングで検証を実行"
835
  "します。"
836
 
837
- #: admin/includes/tab-settings.php:434
838
  msgid ""
839
  "Validate at an earlier phase than other typical plugins. It can reduce load "
840
  "on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
@@ -846,52 +854,52 @@ msgstr ""
846
  "codex/validation-timing.html' title='Validation timing | IP Geo Block'>幾つか"
847
  "の制限事項</a>&thinsp;が生じます。"
848
 
849
- #: admin/includes/tab-settings.php:444
850
  msgid "Back-end target settings"
851
  msgstr "バックエンドの設定"
852
 
853
- #: admin/includes/tab-settings.php:450
854
  #, php-format
855
  msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
856
  msgstr "<dfn title=\"%s へのリクエストを検証する\">%s</dfn>"
857
 
858
- #: admin/includes/tab-settings.php:456
859
  msgid "Other areas"
860
  msgstr "その他の領域"
861
 
862
- #: admin/includes/tab-settings.php:457
863
  msgid "public facing pages"
864
  msgstr "一般公開ページ"
865
 
866
- #: admin/includes/tab-settings.php:475 admin/includes/tab-settings.php:495
867
- #: admin/includes/tab-settings.php:528 admin/includes/tab-settings.php:534
868
- #: admin/includes/tab-settings.php:779
869
  msgid "Block by country"
870
  msgstr "国コードで遮断"
871
 
872
- #: admin/includes/tab-settings.php:496
873
  msgid "Completely close"
874
  msgstr "完全に閉鎖"
875
 
876
- #: admin/includes/tab-settings.php:529
877
  msgid ""
878
  "<dfn title=\"Specify the individual action as a blocking target.\">Target "
879
  "actions</dfn>"
880
  msgstr ""
881
  "<dfn title=\"遮断対象とするアクションを指定します。\">対象アクション</dfn>"
882
 
883
- #: admin/includes/tab-settings.php:535
884
  msgid "Prevent Zero-day Exploit"
885
  msgstr "ゼロデイ攻撃を遮断"
886
 
887
- #: admin/includes/tab-settings.php:539
888
  msgid ""
889
  "It will block a request related to the services for both public facing pages "
890
  "and the dashboard."
891
  msgstr ""
892
  "一般公開ページとダッシュボード向けサービスに関連するリクエストを遮断します。"
893
 
894
- #: admin/includes/tab-settings.php:540
895
  msgid ""
896
  "Regardless of the country code, it will block a malicious request related to "
897
  "the services only for the dashboard."
@@ -899,24 +907,24 @@ msgstr ""
899
  "国コードに拘らず、ダッシュボード向けサービスだけに関連する悪意のあるリクエスト"
900
  "を遮断します。"
901
 
902
- #: admin/includes/tab-settings.php:563
903
  msgid "admin post for logged-in user"
904
  msgstr "認証済ユーザー用 admin post"
905
 
906
- #: admin/includes/tab-settings.php:564
907
  msgid "admin post for non logged-in user"
908
  msgstr "未認証ユーザー用 admin post"
909
 
910
- #: admin/includes/tab-settings.php:588
911
  msgid "Admin ajax/post"
912
  msgstr "管理領域&thinsp;ajax/post"
913
 
914
- #: admin/includes/tab-settings.php:602
915
  msgid ""
916
  "Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
917
- "(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by &#8220;"
918
- "Block by country&#8221; (for non logged-in user) and &#8220;Prevent Zero-day "
919
- "Exploit&#8221; (for logged-in user)."
920
  msgstr ""
921
  "「国コードで遮断」(未認証ユーザーの場合)および「ゼロデイ攻撃を遮断」(認証済"
922
  "みユーザーの場合)が、意図しない遮断の原因となる場合、アクション名(&#8220;"
@@ -924,20 +932,20 @@ msgstr ""
924
  "(&#8220;page=&hellip;&#8221; の &#8220;&hellip;&#8221; 部分)を指定し、検証対"
925
  "象から除外します。"
926
 
927
- #: admin/includes/tab-settings.php:602 admin/includes/tab-settings.php:680
928
- #: admin/includes/tab-settings.php:741
929
  msgid "Exceptions"
930
  msgstr "例外"
931
 
932
- #: admin/includes/tab-settings.php:603
933
  msgid "Toggle with non logged-in user"
934
  msgstr "未認証ユーザー用を含む項目に限定して表示する"
935
 
936
- #: admin/includes/tab-settings.php:606
937
  msgid "Candidate actions/pages"
938
  msgstr "候補&thinsp;アクション/ページ"
939
 
940
- #: admin/includes/tab-settings.php:620
941
  #, php-format
942
  msgid ""
943
  "Regardless of the country code, it will block a malicious request to <code>"
@@ -946,15 +954,15 @@ msgstr ""
946
  "国コードに拘らず、<code>%s&ctdot;/*.php</code>への悪意のあるリクエストを遮断し"
947
  "ます。"
948
 
949
- #: admin/includes/tab-settings.php:621
950
  msgid ""
951
- "Select the item which causes unintended blocking in order to exclude from the "
952
- "validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
953
  msgstr ""
954
  "意図しない遮断の原因となる項目を選択し、検証対象から除外します。灰色で表示され"
955
  "た項目は、「非アクティブ」であることを示しています。"
956
 
957
- #: admin/includes/tab-settings.php:622
958
  #, php-format
959
  msgid ""
960
  "It configures &#8220;%s&#8221; to validate a request to the PHP file which "
@@ -965,31 +973,31 @@ msgstr ""
965
  "に、%s を設定します。ドットで始まる隠しファイルへのアクセス拒否がサーバー側で"
966
  "設定されていることを確認して下さい。"
967
 
968
- #: admin/includes/tab-settings.php:623
969
  msgid "Sorry, but your server type is not supported."
970
  msgstr "このサーバーではサポートされません。"
971
 
972
- #: admin/includes/tab-settings.php:659 admin/includes/tab-settings.php:720
973
  msgid "Force to load WP core"
974
  msgstr "WPコアの読み込みを強制"
975
 
976
- #: admin/includes/tab-settings.php:664
977
  msgid "Plugins area"
978
  msgstr "プラグイン領域"
979
 
980
- #: admin/includes/tab-settings.php:725
981
  msgid "Themes area"
982
  msgstr "テーマ領域"
983
 
984
- #: admin/includes/tab-settings.php:760
985
  msgid "Front-end target settings"
986
  msgstr "フロントエンドの設定"
987
 
988
- #: admin/includes/tab-settings.php:784
989
  msgid "Follow &#8220;Validation rule settings&#8221;"
990
  msgstr "[検証ルールの設定]に従う"
991
 
992
- #: admin/includes/tab-settings.php:846
993
  #, php-format
994
  msgid ""
995
  "<dfn title=\"You can configure a different response code from the Back-end. "
@@ -1000,12 +1008,12 @@ msgstr ""
1000
  "フィリエイト・プログラムに対する違反を防止するのに役立つでしょう。\">レスポン"
1001
  "ス・コード</dfn> %s"
1002
 
1003
- #: admin/includes/tab-settings.php:912
1004
  msgid ""
1005
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
1006
  msgstr "<dfn title=\"特定のページを遮断対象に指定します。\">ページ</dfn>"
1007
 
1008
- #: admin/includes/tab-settings.php:924
1009
  msgid ""
1010
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
1011
  "target.\">Post type</dfn>"
@@ -1013,73 +1021,74 @@ msgstr ""
1013
  "<dfn title=\"特定の投稿タイプのシングルページを遮断対象に指定します。\">投稿タ"
1014
  "イプ</dfn>"
1015
 
1016
- #: admin/includes/tab-settings.php:936
1017
  msgid ""
1018
- "<dfn title=\"Specify the individual category on a single page or archive page "
1019
- "as a blocking target.\">Category</dfn>"
1020
  msgstr ""
1021
  "<dfn title=\"特定のカテゴリを含むシングルページかアーカイブページを遮断対象に"
1022
  "指定します。\">カテゴリ</dfn>"
1023
 
1024
- #: admin/includes/tab-settings.php:948
1025
  msgid ""
1026
- "<dfn title=\"Specify the individual tag on a single page or archive page as a "
1027
- "blocking target.\">Tag</dfn>"
1028
  msgstr ""
1029
  "<dfn title=\"特定のタグを含むシングルページかアーカイブページを遮断対象に指定"
1030
  "します。\">タグ</dfn>"
1031
 
1032
- #: admin/includes/tab-settings.php:963
1033
  msgid "Specify the validation target on front-end."
1034
  msgstr "フロントエンドの検証対象を設定します。"
1035
 
1036
- #: admin/includes/tab-settings.php:963
1037
  msgid "Validation target"
1038
  msgstr "検証対象"
1039
 
1040
- #: admin/includes/tab-settings.php:974
1041
  msgid "All requests"
1042
  msgstr "全てのリクエスト"
1043
 
1044
- #: admin/includes/tab-settings.php:975
1045
  msgid "Specify the targets"
1046
  msgstr "ターゲットを指定"
1047
 
1048
- #: admin/includes/tab-settings.php:978
1049
  msgid ""
1050
- "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;wp&#8221; "
1051
- "action hook. It means that this feature would not be compatible with any page "
1052
- "caching."
1053
  msgstr ""
1054
  "[検証のタイミング]が &#8220;wp&#8221; アクション・フックまで遅延されます。こ"
1055
  "れにより、ページ・キャッシュとの互換性がなくなることに注意してください。"
1056
 
1057
- #: admin/includes/tab-settings.php:988
1058
  msgid ""
1059
  "A part of user agent string and a qualification connected with a separator "
1060
- "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or &#8220;"
1061
- "#&#8221; (block). A &#8220;qualification&#8221; can be &#8220;DNS&#8221;, "
1062
- "&#8220;FEED&#8221;, country code or IP address with CIDR. A negative operator "
1063
- "&#8220;!&#8221; can be placed just before a &#8220;qualification&#8221;."
 
1064
  msgstr ""
1065
  "適用されるルールを表す記号(「:」は通過、「#」は遮断)で区切られたユーザーエー"
1066
  "ジェント文字列の一部と「条件」のペアです。「条件」には「DNS」、「FEED」、国"
1067
  "コード、または&nbsp;IPアドレス(CIDR記法)が使えます。また否定を表す記号「!」"
1068
  "を「条件」の直前に配置する事が出来ます。"
1069
 
1070
- #: admin/includes/tab-settings.php:988
1071
  msgid "UA string and qualification"
1072
  msgstr "ユーザーエージェント(UA)文字列と条件"
1073
 
1074
- #: admin/includes/tab-settings.php:1007
1075
  msgid "Specify the name of actions as exception that is invariably blocked."
1076
  msgstr "常に遮断されるアクション名を例外として指定します。"
1077
 
1078
- #: admin/includes/tab-settings.php:1007
1079
  msgid "Excluded actions"
1080
  msgstr "除外するアクション"
1081
 
1082
- #: admin/includes/tab-settings.php:1026
1083
  msgid ""
1084
  "It enables to verify the host by reverse DNS lookup which would spend some "
1085
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
@@ -1090,11 +1099,11 @@ msgstr ""
1090
  "ます)。無効にした場合、[ユーザーエージェント文字列と条件]中の「HOST」、"
1091
  "「HOST=&hellip;」は常に真となります。"
1092
 
1093
- #: admin/includes/tab-settings.php:1026
1094
  msgid "DNS reverse lookup"
1095
  msgstr "DNS&thinsp;逆引き"
1096
 
1097
- #: admin/includes/tab-settings.php:1043
1098
  msgid ""
1099
  "It enables to simulate validation without deployment. The results can be "
1100
  "found at &#8220;Public facing pages&#8221; in Logs."
@@ -1102,15 +1111,15 @@ msgstr ""
1102
  "機能を有効にする事なくリクエストの検証をシミュレートします。結果はログで確認す"
1103
  "る事が出来ます。"
1104
 
1105
- #: admin/includes/tab-settings.php:1043
1106
  msgid "Simulation mode"
1107
  msgstr "シミュレーション・モード"
1108
 
1109
- #: admin/includes/tab-settings.php:1061
1110
  msgid "Geolocation API settings"
1111
  msgstr "位置情報APIの設定"
1112
 
1113
- #: admin/includes/tab-settings.php:1070
1114
  msgid ""
1115
  "<dfn title=\"Cache and local database are scanned at the top priority.\">API "
1116
  "selection and key settings</dfn>"
@@ -1118,23 +1127,23 @@ msgstr ""
1118
  "<dfn title=\"キャッシュとローカルのデータベースが最優先で検索されます。\">API"
1119
  "の選択とキーの設定</dfn>"
1120
 
1121
- #: admin/includes/tab-settings.php:1089
1122
  msgid "Timeout for network API [sec]"
1123
  msgstr "ネットワークAPIのタイムアウト[秒]"
1124
 
1125
- #: admin/includes/tab-settings.php:1109
1126
  #, php-format
1127
  msgid ""
1128
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
1129
  "failed downloading <a rel=\"noreferrer\" href=\"https://github.com/"
1130
  "tokkonopapa/WordPress-IP-Geo-API/archive/master.zip\" title=\"Download the "
1131
  "contents of tokkonopapa/WordPress-IP-Geo-API as a zip file\">ZIP file</a> "
1132
- "from <a rel=\"noreferrer\" href=\"https://github.com/tokkonopapa/WordPress-IP-"
1133
- "Geo-API\" title=\"tokkonopapa/WordPress-IP-Geo-API - GitHub\">WordPress-IP-"
1134
- "Geo-API</a>. Please install <code>ip-geo-api</code> with write permission "
1135
- "according to <a rel=\"noreferrer\" href=\"http://www.ipgeoblock.com/codex/how-"
1136
- "to-fix-permission-troubles.html\" title=\"How can I fix permission troubles? "
1137
- "| IP Geo Block\">this instruction</a>."
1138
  msgstr ""
1139
  "<code>%s</code> に位置情報APIライブラリが見つかりません。<a rel=\"noreferrer"
1140
  "\" href=\"https://github.com/tokkonopapa/WordPress-IP-Geo-API\" title="
@@ -1147,76 +1156,76 @@ msgstr ""
1147
  "Geo Block\">FAQ</a> を参照し、適切な書き込み権限と共に <code>ip-geo-api</"
1148
  "code> をインストールしてください。"
1149
 
1150
- #: admin/includes/tab-settings.php:1116
1151
  msgid "Local database settings"
1152
  msgstr "ローカル・データベースの設定"
1153
 
1154
- #: admin/includes/tab-settings.php:1130
1155
  msgid "database"
1156
  msgstr "ファイル"
1157
 
1158
- #: admin/includes/tab-settings.php:1131 classes/class-ip-geo-block-cron.php:430
1159
  #, php-format
1160
  msgid "Last update: %s"
1161
  msgstr "最終更新:%s"
1162
 
1163
- #: admin/includes/tab-settings.php:1140
1164
  msgid "Auto updating (once a month)"
1165
  msgstr "自動更新(月1回)"
1166
 
1167
- #: admin/includes/tab-settings.php:1157
1168
  msgid "Download database"
1169
  msgstr "データベースのダウンロード"
1170
 
1171
- #: admin/includes/tab-settings.php:1165
1172
  msgid "Download now"
1173
  msgstr "今すぐダウンロード"
1174
 
1175
- #: admin/includes/tab-settings.php:1176
1176
  msgid "Statistics and Logs settings"
1177
  msgstr "統計とログの設定"
1178
 
1179
- #: admin/includes/tab-settings.php:1185
1180
  msgid "Record &#8220;Statistics&#8221;"
1181
  msgstr "検証の統計を記録"
1182
 
1183
- #: admin/includes/tab-settings.php:1202
1184
  msgid "Maximum period for &#8220;Statistics&#8221; (days)"
1185
  msgstr "記録する統計の最大期間(日)"
1186
 
1187
- #: admin/includes/tab-settings.php:1220
1188
  msgid "Record &#8220;Logs&#8221;"
1189
  msgstr "検証のログを記録"
1190
 
1191
- #: admin/includes/tab-settings.php:1232
1192
  msgid "When requests blocked"
1193
  msgstr "遮断時に記録"
1194
 
1195
- #: admin/includes/tab-settings.php:1233
1196
  msgid "When requests passed"
1197
  msgstr "通過時に記録"
1198
 
1199
- #: admin/includes/tab-settings.php:1234
1200
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1201
  msgstr "遮断時または遮断対象国の通過時に記録"
1202
 
1203
- #: admin/includes/tab-settings.php:1235
1204
  msgid "Unauthenticated visitor"
1205
  msgstr "未認証の訪問者を記録"
1206
 
1207
- #: admin/includes/tab-settings.php:1236
1208
  msgid "Authenticated user"
1209
  msgstr "認証済のユーザーを記録"
1210
 
1211
- #: admin/includes/tab-settings.php:1237
1212
  msgid "All the validation"
1213
  msgstr "すべての検証を記録"
1214
 
1215
- #: admin/includes/tab-settings.php:1246
1216
  msgid "Maximum entries of &#8220;Logs&#8221;"
1217
  msgstr "記録するログの最大エントリ数"
1218
 
1219
- #: admin/includes/tab-settings.php:1263
1220
  msgid ""
1221
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1222
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
@@ -1224,11 +1233,11 @@ msgstr ""
1224
  "<dfn title=\"例)action, comment, log, pwd, FILES\">ログに記録する際に内容を展"
1225
  "開する$_POSTのキー</dfn>"
1226
 
1227
- #: admin/includes/tab-settings.php:1281
1228
  msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
1229
  msgstr "<dfn title=\"例)123.456.789.***\">IPアドレスを匿名化する</dfn>"
1230
 
1231
- #: admin/includes/tab-settings.php:1298
1232
  msgid ""
1233
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1234
  "&#8220;Live update&#8221;</dfn>"
@@ -1236,19 +1245,19 @@ msgstr ""
1236
  "<dfn title=\"SQLiteデータベース・ソースを選択します。\">ライブアップデート用"
1237
  "SQLiteデータベース・ソースの選択</dfn>"
1238
 
1239
- #: admin/includes/tab-settings.php:1310
1240
  msgid "Ordinary file"
1241
  msgstr "通常のファイル"
1242
 
1243
- #: admin/includes/tab-settings.php:1311
1244
  msgid "In-Memory"
1245
  msgstr "イン・メモリ"
1246
 
1247
- #: admin/includes/tab-settings.php:1314
1248
  msgid "PDO_SQLITE driver not available"
1249
  msgstr "PDO_SQLITEドライバが利用出来ません。"
1250
 
1251
- #: admin/includes/tab-settings.php:1315
1252
  msgid ""
1253
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1254
  "without conflict with other plugins."
@@ -1256,7 +1265,7 @@ msgstr ""
1256
  "数十ミリ秒のオーバーヘッドが生じますが、他のプラグインと競合することなく、安全"
1257
  "に使用できます。"
1258
 
1259
- #: admin/includes/tab-settings.php:1316
1260
  msgid ""
1261
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1262
  "with other plugins using this method."
@@ -1264,19 +1273,19 @@ msgstr ""
1264
  "数ミリ秒のオーバーヘッドが生じます。同手法を用いている他のプラグインと競合する"
1265
  "可能性があります。"
1266
 
1267
- #: admin/includes/tab-settings.php:1325
1268
  msgid "Reset database source of &#8220;Live update&#8221;"
1269
  msgstr "ライブアップデートのデータソースをリセットする"
1270
 
1271
- #: admin/includes/tab-settings.php:1333
1272
  msgid "Reset now"
1273
  msgstr "今すぐリセット"
1274
 
1275
- #: admin/includes/tab-settings.php:1344
1276
  msgid "IP address cache settings"
1277
  msgstr "IPアドレスのキャッシュ設定"
1278
 
1279
- #: admin/includes/tab-settings.php:1353
1280
  #, php-format
1281
  msgid ""
1282
  "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
@@ -1286,55 +1295,55 @@ msgstr ""
1286
  "<dfn title=\"ユーザ認証が連続%d回失敗した場合も、以降のログインがこの期間だけ"
1287
  "(ガベージコレクション周期を含む)禁止されます。\">有効時間 [sec]</dfn>"
1288
 
1289
- #: admin/includes/tab-settings.php:1369
1290
  msgid "Garbage collection period [sec]"
1291
  msgstr "ガベージコレクション周期 [秒]"
1292
 
1293
- #: admin/includes/tab-settings.php:1386
1294
  msgid "Number of entries to be displayed in cache"
1295
  msgstr "[キャッシュ中のIPアドレス]に表示する最大数"
1296
 
1297
- #: admin/includes/tab-settings.php:1404
1298
  msgid "Submission settings"
1299
  msgstr "投稿時の設定"
1300
 
1301
- #: admin/includes/tab-settings.php:1416
1302
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1303
  msgstr "全体が&lt;p&gt;タグで囲われます。使用可能タグ:"
1304
 
1305
- #: admin/includes/tab-settings.php:1416
1306
  msgid "Message on comment form"
1307
  msgstr "投稿フォーム上のメッセージ"
1308
 
1309
- #: admin/includes/tab-settings.php:1428
1310
  msgid "None"
1311
  msgstr "なし"
1312
 
1313
- #: admin/includes/tab-settings.php:1429
1314
  msgid "Top"
1315
  msgstr "上部"
1316
 
1317
- #: admin/includes/tab-settings.php:1430
1318
  msgid "Bottom"
1319
  msgstr "下部"
1320
 
1321
- #: admin/includes/tab-settings.php:1441
1322
  msgid "Plugin settings"
1323
  msgstr "プラグインの設定"
1324
 
1325
- #: admin/includes/tab-settings.php:1454
1326
  msgid ""
1327
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1328
  "settings</dfn>"
1329
  msgstr ""
1330
- "<dfn title=\"全ての設定をネットワーク全体で同期させます。\">ネットワークの一括"
1331
- "設定</dfn>"
1332
 
1333
- #: admin/includes/tab-settings.php:1472
1334
  msgid "Remove all settings at uninstallation"
1335
  msgstr "アンインストール時に全設定を削除"
1336
 
1337
- #: admin/includes/tab-settings.php:1490
1338
  msgid ""
1339
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1340
  "dfn>"
@@ -1342,45 +1351,45 @@ msgstr ""
1342
  "<dfn title=\"Google Maps JavaScript API に有効なキー\">Google Maps API キー</"
1343
  "dfn>"
1344
 
1345
- #: admin/includes/tab-settings.php:1504
1346
  msgid ""
1347
- "You need to click the &#8220;Save Changes&#8221; button for imported settings "
1348
- "to take effect."
1349
  msgstr ""
1350
  "インポートされた設定を有効にするには、[変更を保存]ボタンをクリックする必要が"
1351
  "あります。"
1352
 
1353
- #: admin/includes/tab-settings.php:1510
1354
  msgid "Export / Import settings"
1355
  msgstr "設定のエクスポート、インポート"
1356
 
1357
- #: admin/includes/tab-settings.php:1517
1358
  msgid "Export settings"
1359
  msgstr "エクスポート"
1360
 
1361
- #: admin/includes/tab-settings.php:1518
1362
  msgid "Import from the local file"
1363
  msgstr "ローカル・ファイルからインポートします"
1364
 
1365
- #: admin/includes/tab-settings.php:1518
1366
  msgid "Import settings"
1367
  msgstr "インポート"
1368
 
1369
- #: admin/includes/tab-settings.php:1527
1370
  msgid "Import pre-defined settings"
1371
  msgstr "プリセットのインポート"
1372
 
1373
- #: admin/includes/tab-settings.php:1534
1374
  msgid ""
1375
  "Import the default settings to revert to the &#8220;Right after "
1376
  "installing&#8221; state"
1377
  msgstr "インストール直後の状態に戻すための設定値をインポートします"
1378
 
1379
- #: admin/includes/tab-settings.php:1534
1380
  msgid "Default settings"
1381
  msgstr "初期設定"
1382
 
1383
- #: admin/includes/tab-settings.php:1535
1384
  msgid ""
1385
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1386
  "for the &#8220;Back-end target settings&#8221;"
@@ -1388,27 +1397,27 @@ msgstr ""
1388
  "「ゼロデイ攻撃の遮断」など、主に[バックエンドの設定]の推奨設定をインポートし"
1389
  "ます。"
1390
 
1391
- #: admin/includes/tab-settings.php:1535
1392
  msgid "Best for Back-end"
1393
  msgstr "バックエンドの推奨設定"
1394
 
1395
- #: admin/includes/tab-settings.php:1545
1396
  msgid "Delete DB table for validation logs"
1397
  msgstr "検証のログ用データベース・テーブルの削除"
1398
 
1399
- #: admin/includes/tab-settings.php:1553
1400
  msgid "Delete now"
1401
  msgstr "今すぐ削除"
1402
 
1403
- #: admin/includes/tab-settings.php:1561
1404
  msgid "Create DB table for validation logs"
1405
  msgstr "検証のログ用データベース・テーブルの作成"
1406
 
1407
- #: admin/includes/tab-settings.php:1569
1408
  msgid "Create now"
1409
  msgstr "今すぐ作成"
1410
 
1411
- #: admin/includes/tab-settings.php:1579
1412
  msgid ""
1413
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1414
  "button to find the blocked request in the dumped information which may help "
@@ -1422,15 +1431,15 @@ msgstr ""
1422
  "ip-geo-block\" title=\"WordPress &#8250; Support &raquo; IP Geo Block\">サポー"
1423
  "ト・フォーラム</a> ]"
1424
 
1425
- #: admin/includes/tab-settings.php:1586
1426
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1427
  msgstr "フォーラムに問題を投稿する際、コピーして張り付けてください。"
1428
 
1429
- #: admin/includes/tab-settings.php:1586
1430
  msgid "Show information"
1431
  msgstr "情報を表示"
1432
 
1433
- #: admin/includes/tab-settings.php:1602
1434
  msgid ""
1435
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1436
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
@@ -1442,12 +1451,12 @@ msgstr ""
1442
  "\" title=\"The best practice for target settings | IP Geo Block\">The best "
1443
  "practice fortarget settings</a>&#8220;&thinsp;を参照してください。"
1444
 
1445
- #: admin/includes/tab-settings.php:1603
1446
  msgid ""
1447
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1448
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
1449
- "Block &mdash; WordPress Plugins\">WordPress.org</a> and <a rel=\"noreferrer\" "
1450
- "href=\"http://www.ipgeoblock.com/codex/#faq\" title=\"Codex | IP Geo Block"
1451
  "\">Codex</a>."
1452
  msgstr ""
1453
  "何か問題が発生した場合は、<a rel=\"noreferrer\" href=\"https://wordpress.org/"
@@ -1456,20 +1465,20 @@ msgstr ""
1456
  "com/codex/#faq\" title=\"Codex | IP Geo Block\">Codex</a> の FAQ を参照してく"
1457
  "ださい。"
1458
 
1459
- #: admin/includes/tab-settings.php:1610
1460
  msgid ""
1461
- "While Maxmind and IP2Location will fetch the local database, others will pass "
1462
- "an IP address to the APIs via HTTP."
1463
  msgstr ""
1464
  "MaxmindとIP2Locationはローカルのデータベースを検索しますが、他はHTTPを介して"
1465
  "APIにIPアドレスを渡します。"
1466
 
1467
- #: admin/includes/tab-settings.php:1611
1468
  msgid ""
1469
  "Please select the appropriate APIs to fit the privacy law in your country."
1470
  msgstr "自国のプライバシー関連法規に合わせ、適切なAPIを選択して下さい。"
1471
 
1472
- #: admin/includes/tab-settings.php:1620
1473
  #, php-format
1474
  msgid ""
1475
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
@@ -1479,7 +1488,7 @@ msgstr ""
1479
  "ジョン&thinsp;5.4.0&thinsp;以上と&thinsp;%sPECL phar 2.0.0&thinsp;以上%sが必要"
1480
  "です。"
1481
 
1482
- #: admin/includes/tab-settings.php:1628
1483
  msgid ""
1484
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1485
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
@@ -1491,11 +1500,11 @@ msgstr ""
1491
  "end\" title=\"Codex | IP Geo Block\">Blocking on front-end</a>&#8221; を参照し"
1492
  "てください。"
1493
 
1494
- #: admin/includes/tab-settings.php:1629
1495
  msgid ""
1496
- "If you find any issues or have something to suggest, please feel free to open "
1497
- "an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/plugin/"
1498
- "ip-geo-block\" title=\"WordPress &#8250; Support &raquo; IP Geo Block"
1499
  "\">support forum</a>."
1500
  msgstr ""
1501
  "問題を発見したり改善の提案がある場合は、お気軽に <a rel=\"noreferrer\" href="
@@ -1503,7 +1512,7 @@ msgstr ""
1503
  "&#8250; Support &raquo; IP Geo Block\">サポートフォーラム</a> に投稿をお願いし"
1504
  "ます。"
1505
 
1506
- #: admin/includes/tab-settings.php:1636
1507
  msgid ""
1508
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1509
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
@@ -1593,25 +1602,17 @@ msgstr "バックエンドのスラッグ"
1593
  msgid "Toggle sorting order"
1594
  msgstr "ソート順を切り替え"
1595
 
1596
- #: admin/includes/tab-statistics.php:392
1597
- msgid ""
1598
- "[<strong>Record validation statistics</strong>] on [<strong>Settings</"
1599
- "strong>] tab is not selected as [<strong>Enable</strong>]."
1600
- msgstr ""
1601
- "[<strong>設定</strong>]タブの[<strong>検証の統計を記録</strong>]に"
1602
- "[<strong>有効</strong>]が選択されていません。"
1603
 
1604
- #: admin/includes/tab-statistics.php:393
1605
  msgid ""
1606
  "Please set the proper condition to record and analyze the validation "
1607
  "statistics."
1608
  msgstr "検証の統計を記録し分析するためには、適切な条件を設定して下さい。"
1609
 
1610
- #: admin/includes/tab-statistics.php:398
1611
- msgid ""
1612
- "Please set the proper condition to record and analyze the validation logs."
1613
- msgstr "検証のログを記録し分析するためには、適切な条件を設定して下さい。"
1614
-
1615
  #: classes/class-ip-geo-block-apis.php:653
1616
  msgid ""
1617
  "You need to select at least one IP geolocation service. Otherwise "
@@ -1639,8 +1640,8 @@ msgstr "gz または zip がサポートされていません。"
1639
  msgid ""
1640
  "This plugin does not support method &#8220;%s&#8221; for FTP or SSH based "
1641
  "file operations. Please refer to <a href=\"https://codex.wordpress.org/"
1642
- "Editing_wp-config.php#WordPress_Upgrade_Constants\" title=\"Editing wp-config."
1643
- "php &laquo; WordPress Codex\">this document</a> for more details."
1644
  msgstr ""
1645
  "本プラグインは、メソッド「%s」による FTP あるいは SSH を使ったファイル操作をサ"
1646
  "ポートしていません。詳しくは、<a href=\"https://codex.wordpress.org/"
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: IP Geo Block 3.0.9\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
+ "POT-Creation-Date: 2018-03-04 16:21+0900\n"
8
+ "PO-Revision-Date: 2018-03-04 16:24+0900\n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
79
  msgstr "可視領域に選択された行が見つかりません。"
80
 
81
  #: admin/class-ip-geo-block-admin.php:278
82
+ #: admin/class-ip-geo-block-admin.php:1428
83
  #, php-format
84
  msgid "An error occurred while executing the ajax command `%s`."
85
  msgstr "Ajaxコマンド `%s` の実行中にエラーが発生しました。"
148
  msgid "Contribute on GitHub"
149
  msgstr "開発に参加"
150
 
151
+ #: admin/class-ip-geo-block-admin.php:336
152
+ #: admin/class-ip-geo-block-admin.php:444
153
+ #: admin/class-ip-geo-block-admin.php:663
154
+ #: admin/class-ip-geo-block-admin.php:682
155
  msgid "Settings"
156
  msgstr "設定"
157
 
158
+ #: admin/class-ip-geo-block-admin.php:424
159
+ #: admin/class-ip-geo-block-admin.php:425
160
+ #: admin/class-ip-geo-block-admin.php:435
161
+ #: admin/class-ip-geo-block-admin.php:436
162
+ #: admin/class-ip-geo-block-admin.php:443
163
+ #: admin/class-ip-geo-block-admin.php:451
164
  msgid "IP Geo Block"
165
  msgstr "IP Geo Block"
166
 
167
+ #: admin/class-ip-geo-block-admin.php:452
168
+ #: admin/class-ip-geo-block-admin.php:667
169
+ #: admin/class-ip-geo-block-admin.php:683
170
  msgid "Site List"
171
  msgstr "サイト一覧"
172
 
173
+ #: admin/class-ip-geo-block-admin.php:482
174
  msgid "You need WordPress 3.7+."
175
  msgstr "WordPress 3.7&thinsp;以上が必要です。"
176
 
177
+ #: admin/class-ip-geo-block-admin.php:488
178
  #, php-format
179
  msgid ""
180
  "Now downloading geolocation databases in background. After a little while, "
185
  "た後、あなたの国コードと[<strong>マッチング規則</strong>]を[<a href=\"%s\">"
186
  "検証ルールの設定</a>]で確認して下さい。"
187
 
188
+ #: admin/class-ip-geo-block-admin.php:494
189
  #, php-format
190
  msgid ""
191
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
194
  "[<strong>マッチング規則</strong>]が正しく設定されていません。[<a href=\"%s"
195
  "\">検証ルールの設定</a>]を確認して下さい。"
196
 
197
+ #: admin/class-ip-geo-block-admin.php:503
198
  msgid "Local database and matching rule have been updated."
199
  msgstr "ローカル・データベースとマッチング規則を更新しました。"
200
 
201
+ #: admin/class-ip-geo-block-admin.php:514
202
  msgid ""
203
  "Once you logout, you will be unable to login again because the number of "
204
  "login attempts reaches the limit."
206
  "あなたのIPアドレスのログイン試行可能回数がリミットに達したため、ログアウトする"
207
  "と再びログインする事が出来なくなります。"
208
 
209
+ #: admin/class-ip-geo-block-admin.php:516
210
  #, php-format
211
  msgid ""
212
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
215
  "<a href=\"%s\">[統計]タブ</a>の[<strong>キャッシュのクリア</strong>]を実行"
216
  "し、ロックアウトを回避してください。"
217
 
218
+ #: admin/class-ip-geo-block-admin.php:526
219
  msgid ""
220
  "Once you logout, you will be unable to login again because your country code "
221
  "or IP address is in the blacklist."
223
  "あなたの国コードまたはIPアドレスがブラックリストに含まれているため、ログアウト"
224
  "すると再びログインする事が出来なくなります。"
225
 
226
+ #: admin/class-ip-geo-block-admin.php:527
227
  msgid ""
228
  "Once you logout, you will be unable to login again because your country code "
229
  "or IP address is not in the whitelist."
231
  "あなたの国コードまたはIPアドレスがホワイトリストに含まれていないため、ログアウ"
232
  "トすると再びログインする事が出来なくなります。"
233
 
234
+ #: admin/class-ip-geo-block-admin.php:531
235
  #, php-format
236
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
237
  msgstr "[%s検証ルールの設定%s]を確認して下さい。"
238
 
239
+ #: admin/class-ip-geo-block-admin.php:535
240
  #, php-format
241
  msgid ""
242
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
246
  "[%sローカル・データベースの設定%s]で位置情報データベースを確認し、[%sキャッ"
247
  "シュの統計%s]でキャッシュされているあなたのIPアドレスを削除して下さい。"
248
 
249
+ #: admin/class-ip-geo-block-admin.php:548
250
  msgid ""
251
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
252
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
256
  "されていますが、<strong>IP Geo Allow</strong> と互換性がありません。「&#8220;"
257
  "init&#8221; アクション・フック」を選択してください。"
258
 
259
+ #: admin/class-ip-geo-block-admin.php:664
260
  msgid "Statistics"
261
  msgstr "統計"
262
 
263
+ #: admin/class-ip-geo-block-admin.php:665
264
  msgid "Logs"
265
  msgstr "ログ"
266
 
267
+ #: admin/class-ip-geo-block-admin.php:666
268
  msgid "Search"
269
  msgstr "検索"
270
 
271
+ #: admin/class-ip-geo-block-admin.php:668
272
  msgid "Attribution"
273
  msgstr "リンク"
274
 
275
+ #: admin/class-ip-geo-block-admin.php:694
276
  msgid "Network wide"
277
  msgstr "ネットワーク一括管理"
278
 
279
+ #: admin/class-ip-geo-block-admin.php:707
280
  msgid "Toggle all"
281
  msgstr "全てを開閉"
282
 
283
+ #: admin/class-ip-geo-block-admin.php:710
284
  msgid ""
285
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
286
  "the requests validated by this plugin in almost real time."
288
  "[統計とログの設定]にかかわらず、このプラグインによる検証結果のすべてを、ほぼ"
289
  "リアルタイムに表示します。"
290
 
291
+ #: admin/class-ip-geo-block-admin.php:710 admin/includes/tab-accesslog.php:39
292
  msgid "Live update"
293
  msgstr "ライブアップデート"
294
 
295
+ #: admin/class-ip-geo-block-admin.php:714
296
  msgid "Open a new window on clicking the link in the chart."
297
  msgstr "チャート内のリンクをクリックすると、新しいウィンドウが開きます。"
298
 
299
+ #: admin/class-ip-geo-block-admin.php:714
300
  msgid "Open a new window"
301
  msgstr "別窓で開く"
302
 
303
+ #: admin/class-ip-geo-block-admin.php:737
304
  msgid "Thanks for providing these great services for free."
305
  msgstr "これらのすばらしいサービスの提供元に、敬意と感謝の意を表します!"
306
 
307
+ #: admin/class-ip-geo-block-admin.php:738
308
  msgid ""
309
+ "(Most browsers will redirect you to each site <a href=\"http://www."
310
+ "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
311
+ "when you click the link</a>.)"
312
  msgstr ""
313
  "(ほとんどのブラウザでは、<a href=\"http://www.ipgeoblock.com/etc/referer.html"
314
  "\" title=\"Referer Checker\">参照元を残さずにリンク先にリダイレクトできます</"
315
  "a>。)"
316
 
317
+ #: admin/class-ip-geo-block-admin.php:743
318
  msgid "Back to top"
319
  msgstr "トップに戻る"
320
 
321
+ #: admin/class-ip-geo-block-admin.php:840
322
  msgid "Enable"
323
  msgstr "有効"
324
 
325
+ #: admin/class-ip-geo-block-admin.php:855
326
  msgid "Select one"
327
  msgstr "何れかを選択"
328
 
329
+ #: admin/class-ip-geo-block-admin.php:1251
330
  #: admin/includes/class-admin-rewrite.php:194
331
  #: classes/class-ip-geo-block-cron.php:228
332
  #: classes/class-ip-geo-block-cron.php:332
336
  msgid "Unable to write <code>%s</code>. Please check the permission."
337
  msgstr "<code>%s</code> に書き込めません。パーミッションをチェックして下さい。"
338
 
339
+ #: admin/class-ip-geo-block-admin.php:1281
340
  msgid "Settings saved."
341
  msgstr "設定を保存しました。"
342
 
344
  msgid "n/a"
345
  msgstr "不明"
346
 
347
+ #: admin/includes/class-admin-ajax.php:77 admin/includes/tab-settings.php:75
348
+ #: admin/includes/tab-settings.php:95
349
  msgid "UNKNOWN"
350
  msgstr "不明"
351
 
377
  msgid "Validation logs"
378
  msgstr "検証のログ"
379
 
380
+ #: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:454
381
  msgid "Comment post"
382
  msgstr "コメント投稿"
383
 
384
+ #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:455
385
  msgid "XML-RPC"
386
  msgstr "XML-RPC"
387
 
388
+ #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:456
389
  msgid "Login form"
390
  msgstr "ログイン・フォーム"
391
 
392
+ #: admin/includes/tab-accesslog.php:57 admin/includes/tab-settings.php:457
393
  msgid "Admin area"
394
  msgstr "管理領域"
395
 
396
+ #: admin/includes/tab-accesslog.php:58 admin/includes/tab-settings.php:459
397
  msgid "Public facing pages"
398
  msgstr "一般公開ページ"
399
 
400
+ #: admin/includes/tab-accesslog.php:61 admin/includes/tab-network.php:76
401
  msgid "All"
402
  msgstr "全て"
403
 
404
+ #: admin/includes/tab-accesslog.php:71
405
  msgid "Select target"
406
  msgstr "対象を選択"
407
 
408
+ #: admin/includes/tab-accesslog.php:87
409
  msgid "Search in logs"
410
  msgstr "ログを検索"
411
 
412
+ #: admin/includes/tab-accesslog.php:96 admin/includes/tab-statistics.php:235
413
  msgid "Reset"
414
  msgstr "リセット"
415
 
416
+ #: admin/includes/tab-accesslog.php:104 admin/includes/tab-statistics.php:242
417
  msgid "Bulk action"
418
  msgstr "選択して実行"
419
 
420
+ #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:254
421
  msgid "Add IP address to &#8220;Whitelist&#8221;"
422
  msgstr "IPアドレスをホワイトリストへ追加"
423
 
424
+ #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:255
425
  msgid "Add IP address to &#8220;Blacklist&#8221;"
426
  msgstr "IPアドレスをブラックリストへ追加"
427
 
428
+ #: admin/includes/tab-accesslog.php:117 admin/includes/tab-statistics.php:256
429
  msgid "Add AS number to &#8220;Whitelist&#8221;"
430
  msgstr "AS番号をホワイトリストへ追加"
431
 
432
+ #: admin/includes/tab-accesslog.php:118 admin/includes/tab-statistics.php:257
433
  msgid "Add AS number to &#8220;Blacklist&#8221;"
434
  msgstr "AS番号をブラックリストへ追加"
435
 
436
+ #: admin/includes/tab-accesslog.php:120 admin/includes/tab-network.php:56
437
  #: admin/includes/tab-statistics.php:259
438
  msgid "Apply"
439
  msgstr "実行する"
440
 
441
+ #: admin/includes/tab-accesslog.php:128 admin/includes/tab-statistics.php:198
442
  msgid "Clear logs"
443
  msgstr "ログをクリア"
444
 
445
+ #: admin/includes/tab-accesslog.php:136 admin/includes/tab-statistics.php:173
446
  #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:274
447
  msgid "Clear all"
448
  msgstr "全てをクリア"
449
 
450
+ #: admin/includes/tab-accesslog.php:146
451
  msgid "Export logs"
452
  msgstr "ログをエクスポート"
453
 
454
+ #: admin/includes/tab-accesslog.php:152 admin/includes/tab-settings.php:1519
455
  msgid "Export to the local file"
456
  msgstr "ローカル・ファイルへエクスポートする"
457
 
458
+ #: admin/includes/tab-accesslog.php:152
459
  msgid "Export csv"
460
  msgstr "CSVへエクスポート"
461
 
462
+ #: admin/includes/tab-accesslog.php:173 admin/includes/tab-network.php:114
463
+ #: admin/includes/tab-statistics.php:401
464
+ #, php-format
465
+ msgid "[ %sRecord &#8220;Logs&#8221;%s ] is desabled."
466
+ msgstr "[%s検証のログを記録%s]が無効です。"
 
 
 
467
 
468
+ #: admin/includes/tab-accesslog.php:174 admin/includes/tab-network.php:115
469
+ #: admin/includes/tab-statistics.php:402
470
  msgid ""
471
+ "Please set the proper condition to record and analyze the validation logs."
472
+ msgstr "検証のログを記録し分析するためには、適切な条件を設定して下さい。"
473
 
474
  #: admin/includes/tab-attribution.php:16
475
  msgid "Attribution links"
527
  msgid "Validation rule settings"
528
  msgstr "検証ルールの設定"
529
 
530
+ #: admin/includes/tab-settings.php:67
531
  msgid ""
532
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
533
  "code by referring &#8220;Scan country code&#8221;.\">Your IP address / "
536
  "<dfn title=\"[国コードを検索する]を参照し、適切な位置情報APIと国コードを設定"
537
  "して下さい。\">あなたのIPアドレス / 国コード</dfn>"
538
 
539
+ #: admin/includes/tab-settings.php:76 admin/includes/tab-settings.php:96
540
  msgid "Scan all the APIs you selected at Geolocation API settings"
541
  msgstr "選択された位置情報APIを検索します"
542
 
543
+ #: admin/includes/tab-settings.php:76 admin/includes/tab-settings.php:96
544
  msgid "Scan country code"
545
  msgstr "国コードを検索する"
546
 
547
+ #: admin/includes/tab-settings.php:87
548
  msgid ""
549
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
550
  "code by referring &#8220;Scan country code&#8221;.\">Server IP address / "
553
  "<dfn title=\"[国コードを検索する]を参照し、適切な位置情報APIと国コードを設定"
554
  "して下さい。\">サーバーのIPアドレス / 国コード</dfn>"
555
 
556
+ #: admin/includes/tab-settings.php:104
557
  msgid "Whitelist"
558
  msgstr "ホワイトリスト"
559
 
560
+ #: admin/includes/tab-settings.php:105
561
  msgid "Blacklist"
562
  msgstr "ブラックリスト"
563
 
564
+ #: admin/includes/tab-settings.php:109
565
+ msgid ""
566
+ "Please select either &#8220;Whitelist&#8221; or &#8220;Blacklist&#8221;."
567
  msgstr "「ホワイトリスト」または「ブラックリスト」のいずれかを選択して下さい。"
568
 
569
+ #: admin/includes/tab-settings.php:110
570
  msgid ""
571
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
572
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
573
+ "including localhost. And &#8220;ZZ&#8221; is for unknown IP address (i.e. "
574
+ "not in the geolocation databases). Please use &#8220;YY&#8221; if you need "
575
+ "the code that does not correspond to any of the countries.\">Whitelist of "
576
+ "country code</dfn>"
577
  msgstr ""
578
  "<dfn title=\"空欄の場合、「国コードで遮断」はバイパスされます。特別なコード"
579
  "「XX」は、localhost&thinsp;を含むプライベート・アドレスに割り当てられ、また"
581
  "いことが必要な場合には、「YY」を指定してください。\">国コードのホワイトリスト"
582
  "</dfn>"
583
 
584
+ #: admin/includes/tab-settings.php:111
585
  msgid ""
586
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
587
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
588
+ "including localhost. And &#8220;ZZ&#8221; is for unknown IP address (i.e. "
589
+ "not in the geolocation databases). Please use &#8220;YY&#8221; if you need "
590
+ "the code that does not correspond to any of the countries.\">Blacklist of "
591
+ "country code</dfn>"
592
  msgstr ""
593
  "<dfn title=\"空欄の場合、「国コードで遮断」はバイパスされます。特別なコード"
594
  "「XX」は、localhost&thinsp;を含むプライベート・アドレスに割り当てられ、また"
596
  "いことが必要な場合には、「YY」を指定してください。\">国コードのブラックリスト"
597
  "</dfn>"
598
 
599
+ #: admin/includes/tab-settings.php:115
600
  msgid "(comma separated)"
601
  msgstr "(カンマ区切り)"
602
 
603
+ #: admin/includes/tab-settings.php:116
604
  msgid "(comma or RET separated)"
605
  msgstr "(カンマ、改行区切り)"
606
 
607
+ #: admin/includes/tab-settings.php:117
608
  msgid "Toggle selection"
609
  msgstr "選択を切り替える"
610
 
611
+ #: admin/includes/tab-settings.php:118
612
  msgid "Find blocked requests in &#8220;Logs&#8220;"
613
  msgstr "ログから遮断されたリクエストを検索する"
614
 
615
+ #: admin/includes/tab-settings.php:119
616
  msgid ""
617
  "Before adding as &#8220;Exception&#8221;, please click on &#8220;<a class="
618
  "\"ip-geo-block-icon ip-geo-block-icon-alert\" title=\"This button is just a "
624
  "す。\"><span></span></a>&#8221;(もしあれば)をクリックし、遮断されたリクエス"
625
  "トに悪意のないことを確認して下さい。"
626
 
627
+ #: admin/includes/tab-settings.php:120
628
+ msgid "Open CIDR calculator for IPv4 / IPv6"
629
+ msgstr "IPv4/IPv6用CIDR変換プログラムを開きます"
630
+
631
+ #: admin/includes/tab-settings.php:127 admin/includes/tab-settings.php:793
632
  msgid "Matching rule"
633
  msgstr "マッチング規則"
634
 
660
 
661
  #: admin/includes/tab-settings.php:197
662
  #, php-format
663
+ msgid "Some useful tools to find ASN are introduced in &#8220;%s&#8221;."
 
664
  msgstr "AS番号の検索に役立つツールを &#8220;%s&#8221; に紹介しています。"
665
 
666
  #: admin/includes/tab-settings.php:206
667
  msgid ""
668
  "<dfn title=\"e.g. &#8220;192.0.64.0/18&#8221; for Jetpack server, "
669
+ "&#8220;69.46.36.0/27&#8221; for WordFence server or &#8220;AS32934&#8221; "
670
+ "for Facebook.\">Whitelist of extra IP addresses prior to country code</dfn>"
671
  msgstr ""
672
  "<dfn title=\"例)192.0.64.0/18(Jetpackサーバー)、69.46.36.0/27(WordFence"
673
  "サーバー)、AS32934(Facebook)\">国コードに優先して検証するIPアドレスのホワイ"
674
  "トリスト</dfn>"
675
 
676
+ #: admin/includes/tab-settings.php:227
677
  msgid ""
678
  "<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
679
  "\">Blacklist of extra IP addresses prior to country code</dfn>"
681
  "<dfn title=\"サーバー・レベルのアクセス制御の使用をお勧めします(例:."
682
  "htaccess)。\">国コードに優先して検証するIPアドレスのブラックリスト</dfn>"
683
 
684
+ #: admin/includes/tab-settings.php:249
685
  msgid ""
686
  "<dfn title=\"If your server is placed behind the proxy server or the load "
687
  "balancing server, you need to put the appropriate key such as &#8220;"
695
  "を指定してください。\">IPアドレスを追加抽出する&thinsp;$_SERVER&thinsp;のキー"
696
  "</dfn>"
697
 
698
+ #: admin/includes/tab-settings.php:268
699
  msgid ""
700
  "<dfn title=\"It validates malicious signatures independently of &#8220;Block "
701
  "by country&#8221; and &#8220;Prevent Zero-day Exploit&#8221; for the target "
712
  "block-decode\" title=\"文字化けした場合、クリックして復元して下さ"
713
  "い。\"><span></span></a>)</nobr>"
714
 
715
+ #: admin/includes/tab-settings.php:282
716
  msgid ""
717
  "<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
718
  msgstr ""
719
  "<dfn title=\"許可する&thinsp;MIME&thinsp;タイプを指定します。\">許可する"
720
  "&thinsp;MIME&thinsp;タイプのホワイトリスト</dfn>"
721
 
722
+ #: admin/includes/tab-settings.php:293
723
  msgid ""
724
  "<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
725
  "extensions</dfn>"
727
  "<dfn title=\"禁止するファイルの拡張子を設定します。\">禁止するファイル拡張子の"
728
  "ブラックリスト</dfn>"
729
 
730
+ #: admin/includes/tab-settings.php:297
731
  msgid ""
732
  "<dfn title=\"Specify the capabilities to be verified. Depending on the "
733
  "particular type of uploader, certain capability may be required. Default is "
739
  "(Editor)、投稿者(Author)向けの「upload_files」です。空欄の場合、この検証は"
740
  "スキップされます。\">検証する権限</dfn>"
741
 
742
+ #: admin/includes/tab-settings.php:297
743
  msgid ""
744
  "(&thinsp;See &#8220;<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
745
  "Roles_and_Capabilities\" title=\"Roles and Capabilities &laquo; WordPress "
750
  "title=\"ユーザーの種類と権限 - WordPress Codex 日本語版\">ユーザーの種類と権限"
751
  "</a>&#8220; を参照)"
752
 
753
+ #: admin/includes/tab-settings.php:304
754
  msgid ""
755
  "<dfn title=\"It restricts the file types on upload in order to block malware "
756
  "and backdoor via both back-end and front-end. Please consider to select "
764
  "plugins&#8221; (ip-geo-block-mu.php)」に設定することを検討してください。\">悪"
765
  "意のあるアップロード防止</dfn>"
766
 
767
+ #: admin/includes/tab-settings.php:315 admin/includes/tab-settings.php:496
768
+ #: admin/includes/tab-settings.php:620 admin/includes/tab-settings.php:1233
769
  msgid "Disable"
770
  msgstr "無効"
771
 
772
+ #: admin/includes/tab-settings.php:316
773
  msgid "Verify file extension and MIME type"
774
  msgstr "拡張子と&thinsp;MIME&thinsp;タイプを検証"
775
 
776
+ #: admin/includes/tab-settings.php:317
777
  msgid "Verify file extension only"
778
  msgstr "ファイル拡張子のみを検証"
779
 
780
+ #: admin/includes/tab-settings.php:327
781
  #, php-format
782
  msgid ""
783
  "<dfn title=\"You can put your original 403.php and so on into your theme "
786
  "<dfn title=\"テーマ・ディレクトリには&thinsp;403.php&thinsp;など、独自のファイ"
787
  "ルを設置する事が出来ます。\">レスポンス・コード</dfn> %s"
788
 
789
+ #: admin/includes/tab-settings.php:357 admin/includes/tab-settings.php:880
790
  msgid ""
791
  "<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
792
+ "to a public facing page, visitors would not be blocked on the page to "
793
+ "prevent loop of redirection even when you enable [Block by country] in "
794
+ "[Front-end target settings] section. Empty URL is altered to your home."
795
+ "\">Redirect URL</dfn>"
796
  msgstr ""
797
  "<dfn title=\"レスポンス・コード&thinsp;2xx&thinsp;、3xx&thinsp;用のリダイレク"
798
  "ト先&thinsp;URL&thinsp;を指定します。リダイレクトのループを避けるため、自サイ"
800
  "ります。空欄の場合、サイトのホームが使用されます。\">リダイレクト先&thinsp;"
801
  "URL</dfn>"
802
 
803
+ #: admin/includes/tab-settings.php:375 admin/includes/tab-settings.php:899
804
  msgid ""
805
  "<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
806
  "message</dfn>"
808
  "<dfn title=\"レスポンス・コード&thinsp;4xx、5xx&thinsp;用のメッセージを指定し"
809
  "ます。\">レスポンス・メッセージ</dfn>"
810
 
811
+ #: admin/includes/tab-settings.php:392
812
  msgid ""
813
  "<dfn title=\"This is applied to &#8220;XML-RPC&#8221; and &#8220;Login "
814
  "form&#8221;. Lockout period is defined as expiration time at &#8220;Cache "
818
  "間は[キャッシュの設定]の[有効時間]で定義します。\">IPアドレス当たりのログ"
819
  "イン試行可能回数</dfn>"
820
 
821
+ #: admin/includes/tab-settings.php:420
822
  msgid "Select when to run the validation."
823
  msgstr "検証を実行するタイミングを選択します。"
824
 
825
+ #: admin/includes/tab-settings.php:420
826
  msgid "Validation timing"
827
  msgstr "検証のタイミング"
828
 
829
+ #: admin/includes/tab-settings.php:431
830
  msgid "&#8220;init&#8221; action hook"
831
  msgstr "&#8220;init&#8221; アクション・フック"
832
 
833
+ #: admin/includes/tab-settings.php:432
834
  msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
835
  msgstr "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
836
 
837
+ #: admin/includes/tab-settings.php:435
838
  msgid ""
839
  "Validate at &#8220;init&#8221; action hook in the same manner as typical "
840
  "plugins."
842
  "標準的な他のプラグインと同様、init アクション・フックのタイミングで検証を実行"
843
  "します。"
844
 
845
+ #: admin/includes/tab-settings.php:436
846
  msgid ""
847
  "Validate at an earlier phase than other typical plugins. It can reduce load "
848
  "on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
854
  "codex/validation-timing.html' title='Validation timing | IP Geo Block'>幾つか"
855
  "の制限事項</a>&thinsp;が生じます。"
856
 
857
+ #: admin/includes/tab-settings.php:446
858
  msgid "Back-end target settings"
859
  msgstr "バックエンドの設定"
860
 
861
+ #: admin/includes/tab-settings.php:452
862
  #, php-format
863
  msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
864
  msgstr "<dfn title=\"%s へのリクエストを検証する\">%s</dfn>"
865
 
866
+ #: admin/includes/tab-settings.php:458
867
  msgid "Other areas"
868
  msgstr "その他の領域"
869
 
870
+ #: admin/includes/tab-settings.php:459
871
  msgid "public facing pages"
872
  msgstr "一般公開ページ"
873
 
874
+ #: admin/includes/tab-settings.php:477 admin/includes/tab-settings.php:497
875
+ #: admin/includes/tab-settings.php:530 admin/includes/tab-settings.php:536
876
+ #: admin/includes/tab-settings.php:781
877
  msgid "Block by country"
878
  msgstr "国コードで遮断"
879
 
880
+ #: admin/includes/tab-settings.php:498
881
  msgid "Completely close"
882
  msgstr "完全に閉鎖"
883
 
884
+ #: admin/includes/tab-settings.php:531
885
  msgid ""
886
  "<dfn title=\"Specify the individual action as a blocking target.\">Target "
887
  "actions</dfn>"
888
  msgstr ""
889
  "<dfn title=\"遮断対象とするアクションを指定します。\">対象アクション</dfn>"
890
 
891
+ #: admin/includes/tab-settings.php:537
892
  msgid "Prevent Zero-day Exploit"
893
  msgstr "ゼロデイ攻撃を遮断"
894
 
895
+ #: admin/includes/tab-settings.php:541
896
  msgid ""
897
  "It will block a request related to the services for both public facing pages "
898
  "and the dashboard."
899
  msgstr ""
900
  "一般公開ページとダッシュボード向けサービスに関連するリクエストを遮断します。"
901
 
902
+ #: admin/includes/tab-settings.php:542
903
  msgid ""
904
  "Regardless of the country code, it will block a malicious request related to "
905
  "the services only for the dashboard."
907
  "国コードに拘らず、ダッシュボード向けサービスだけに関連する悪意のあるリクエスト"
908
  "を遮断します。"
909
 
910
+ #: admin/includes/tab-settings.php:565
911
  msgid "admin post for logged-in user"
912
  msgstr "認証済ユーザー用 admin post"
913
 
914
+ #: admin/includes/tab-settings.php:566
915
  msgid "admin post for non logged-in user"
916
  msgstr "未認証ユーザー用 admin post"
917
 
918
+ #: admin/includes/tab-settings.php:590
919
  msgid "Admin ajax/post"
920
  msgstr "管理領域&thinsp;ajax/post"
921
 
922
+ #: admin/includes/tab-settings.php:604
923
  msgid ""
924
  "Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
925
+ "(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
926
+ "&#8220;Block by country&#8221; (for non logged-in user) and &#8220;Prevent "
927
+ "Zero-day Exploit&#8221; (for logged-in user)."
928
  msgstr ""
929
  "「国コードで遮断」(未認証ユーザーの場合)および「ゼロデイ攻撃を遮断」(認証済"
930
  "みユーザーの場合)が、意図しない遮断の原因となる場合、アクション名(&#8220;"
932
  "(&#8220;page=&hellip;&#8221; の &#8220;&hellip;&#8221; 部分)を指定し、検証対"
933
  "象から除外します。"
934
 
935
+ #: admin/includes/tab-settings.php:604 admin/includes/tab-settings.php:682
936
+ #: admin/includes/tab-settings.php:743
937
  msgid "Exceptions"
938
  msgstr "例外"
939
 
940
+ #: admin/includes/tab-settings.php:605
941
  msgid "Toggle with non logged-in user"
942
  msgstr "未認証ユーザー用を含む項目に限定して表示する"
943
 
944
+ #: admin/includes/tab-settings.php:608
945
  msgid "Candidate actions/pages"
946
  msgstr "候補&thinsp;アクション/ページ"
947
 
948
+ #: admin/includes/tab-settings.php:622
949
  #, php-format
950
  msgid ""
951
  "Regardless of the country code, it will block a malicious request to <code>"
954
  "国コードに拘らず、<code>%s&ctdot;/*.php</code>への悪意のあるリクエストを遮断し"
955
  "ます。"
956
 
957
+ #: admin/includes/tab-settings.php:623
958
  msgid ""
959
+ "Select the item which causes unintended blocking in order to exclude from "
960
+ "the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
961
  msgstr ""
962
  "意図しない遮断の原因となる項目を選択し、検証対象から除外します。灰色で表示され"
963
  "た項目は、「非アクティブ」であることを示しています。"
964
 
965
+ #: admin/includes/tab-settings.php:624
966
  #, php-format
967
  msgid ""
968
  "It configures &#8220;%s&#8221; to validate a request to the PHP file which "
973
  "に、%s を設定します。ドットで始まる隠しファイルへのアクセス拒否がサーバー側で"
974
  "設定されていることを確認して下さい。"
975
 
976
+ #: admin/includes/tab-settings.php:625
977
  msgid "Sorry, but your server type is not supported."
978
  msgstr "このサーバーではサポートされません。"
979
 
980
+ #: admin/includes/tab-settings.php:661 admin/includes/tab-settings.php:722
981
  msgid "Force to load WP core"
982
  msgstr "WPコアの読み込みを強制"
983
 
984
+ #: admin/includes/tab-settings.php:666
985
  msgid "Plugins area"
986
  msgstr "プラグイン領域"
987
 
988
+ #: admin/includes/tab-settings.php:727
989
  msgid "Themes area"
990
  msgstr "テーマ領域"
991
 
992
+ #: admin/includes/tab-settings.php:762
993
  msgid "Front-end target settings"
994
  msgstr "フロントエンドの設定"
995
 
996
+ #: admin/includes/tab-settings.php:786
997
  msgid "Follow &#8220;Validation rule settings&#8221;"
998
  msgstr "[検証ルールの設定]に従う"
999
 
1000
+ #: admin/includes/tab-settings.php:848
1001
  #, php-format
1002
  msgid ""
1003
  "<dfn title=\"You can configure a different response code from the Back-end. "
1008
  "フィリエイト・プログラムに対する違反を防止するのに役立つでしょう。\">レスポン"
1009
  "ス・コード</dfn> %s"
1010
 
1011
+ #: admin/includes/tab-settings.php:914
1012
  msgid ""
1013
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
1014
  msgstr "<dfn title=\"特定のページを遮断対象に指定します。\">ページ</dfn>"
1015
 
1016
+ #: admin/includes/tab-settings.php:926
1017
  msgid ""
1018
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
1019
  "target.\">Post type</dfn>"
1021
  "<dfn title=\"特定の投稿タイプのシングルページを遮断対象に指定します。\">投稿タ"
1022
  "イプ</dfn>"
1023
 
1024
+ #: admin/includes/tab-settings.php:938
1025
  msgid ""
1026
+ "<dfn title=\"Specify the individual category on a single page or archive "
1027
+ "page as a blocking target.\">Category</dfn>"
1028
  msgstr ""
1029
  "<dfn title=\"特定のカテゴリを含むシングルページかアーカイブページを遮断対象に"
1030
  "指定します。\">カテゴリ</dfn>"
1031
 
1032
+ #: admin/includes/tab-settings.php:950
1033
  msgid ""
1034
+ "<dfn title=\"Specify the individual tag on a single page or archive page as "
1035
+ "a blocking target.\">Tag</dfn>"
1036
  msgstr ""
1037
  "<dfn title=\"特定のタグを含むシングルページかアーカイブページを遮断対象に指定"
1038
  "します。\">タグ</dfn>"
1039
 
1040
+ #: admin/includes/tab-settings.php:965
1041
  msgid "Specify the validation target on front-end."
1042
  msgstr "フロントエンドの検証対象を設定します。"
1043
 
1044
+ #: admin/includes/tab-settings.php:965
1045
  msgid "Validation target"
1046
  msgstr "検証対象"
1047
 
1048
+ #: admin/includes/tab-settings.php:976
1049
  msgid "All requests"
1050
  msgstr "全てのリクエスト"
1051
 
1052
+ #: admin/includes/tab-settings.php:977
1053
  msgid "Specify the targets"
1054
  msgstr "ターゲットを指定"
1055
 
1056
+ #: admin/includes/tab-settings.php:980
1057
  msgid ""
1058
+ "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
1059
+ "wp&#8221; action hook. It means that this feature would not be compatible "
1060
+ "with any page caching."
1061
  msgstr ""
1062
  "[検証のタイミング]が &#8220;wp&#8221; アクション・フックまで遅延されます。こ"
1063
  "れにより、ページ・キャッシュとの互換性がなくなることに注意してください。"
1064
 
1065
+ #: admin/includes/tab-settings.php:990
1066
  msgid ""
1067
  "A part of user agent string and a qualification connected with a separator "
1068
+ "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
1069
+ "&#8220;#&#8221; (block). A &#8220;qualification&#8221; can be &#8220;"
1070
+ "DNS&#8221;, &#8220;FEED&#8221;, country code or IP address with CIDR. A "
1071
+ "negative operator &#8220;!&#8221; can be placed just before a &#8220;"
1072
+ "qualification&#8221;."
1073
  msgstr ""
1074
  "適用されるルールを表す記号(「:」は通過、「#」は遮断)で区切られたユーザーエー"
1075
  "ジェント文字列の一部と「条件」のペアです。「条件」には「DNS」、「FEED」、国"
1076
  "コード、または&nbsp;IPアドレス(CIDR記法)が使えます。また否定を表す記号「!」"
1077
  "を「条件」の直前に配置する事が出来ます。"
1078
 
1079
+ #: admin/includes/tab-settings.php:990
1080
  msgid "UA string and qualification"
1081
  msgstr "ユーザーエージェント(UA)文字列と条件"
1082
 
1083
+ #: admin/includes/tab-settings.php:1009
1084
  msgid "Specify the name of actions as exception that is invariably blocked."
1085
  msgstr "常に遮断されるアクション名を例外として指定します。"
1086
 
1087
+ #: admin/includes/tab-settings.php:1009
1088
  msgid "Excluded actions"
1089
  msgstr "除外するアクション"
1090
 
1091
+ #: admin/includes/tab-settings.php:1028
1092
  msgid ""
1093
  "It enables to verify the host by reverse DNS lookup which would spend some "
1094
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
1099
  "ます)。無効にした場合、[ユーザーエージェント文字列と条件]中の「HOST」、"
1100
  "「HOST=&hellip;」は常に真となります。"
1101
 
1102
+ #: admin/includes/tab-settings.php:1028
1103
  msgid "DNS reverse lookup"
1104
  msgstr "DNS&thinsp;逆引き"
1105
 
1106
+ #: admin/includes/tab-settings.php:1045
1107
  msgid ""
1108
  "It enables to simulate validation without deployment. The results can be "
1109
  "found at &#8220;Public facing pages&#8221; in Logs."
1111
  "機能を有効にする事なくリクエストの検証をシミュレートします。結果はログで確認す"
1112
  "る事が出来ます。"
1113
 
1114
+ #: admin/includes/tab-settings.php:1045
1115
  msgid "Simulation mode"
1116
  msgstr "シミュレーション・モード"
1117
 
1118
+ #: admin/includes/tab-settings.php:1063
1119
  msgid "Geolocation API settings"
1120
  msgstr "位置情報APIの設定"
1121
 
1122
+ #: admin/includes/tab-settings.php:1072
1123
  msgid ""
1124
  "<dfn title=\"Cache and local database are scanned at the top priority.\">API "
1125
  "selection and key settings</dfn>"
1127
  "<dfn title=\"キャッシュとローカルのデータベースが最優先で検索されます。\">API"
1128
  "の選択とキーの設定</dfn>"
1129
 
1130
+ #: admin/includes/tab-settings.php:1091
1131
  msgid "Timeout for network API [sec]"
1132
  msgstr "ネットワークAPIのタイムアウト[秒]"
1133
 
1134
+ #: admin/includes/tab-settings.php:1111
1135
  #, php-format
1136
  msgid ""
1137
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
1138
  "failed downloading <a rel=\"noreferrer\" href=\"https://github.com/"
1139
  "tokkonopapa/WordPress-IP-Geo-API/archive/master.zip\" title=\"Download the "
1140
  "contents of tokkonopapa/WordPress-IP-Geo-API as a zip file\">ZIP file</a> "
1141
+ "from <a rel=\"noreferrer\" href=\"https://github.com/tokkonopapa/WordPress-"
1142
+ "IP-Geo-API\" title=\"tokkonopapa/WordPress-IP-Geo-API - GitHub\">WordPress-"
1143
+ "IP-Geo-API</a>. Please install <code>ip-geo-api</code> with write permission "
1144
+ "according to <a rel=\"noreferrer\" href=\"http://www.ipgeoblock.com/codex/"
1145
+ "how-to-fix-permission-troubles.html\" title=\"How can I fix permission "
1146
+ "troubles? | IP Geo Block\">this instruction</a>."
1147
  msgstr ""
1148
  "<code>%s</code> に位置情報APIライブラリが見つかりません。<a rel=\"noreferrer"
1149
  "\" href=\"https://github.com/tokkonopapa/WordPress-IP-Geo-API\" title="
1156
  "Geo Block\">FAQ</a> を参照し、適切な書き込み権限と共に <code>ip-geo-api</"
1157
  "code> をインストールしてください。"
1158
 
1159
+ #: admin/includes/tab-settings.php:1118
1160
  msgid "Local database settings"
1161
  msgstr "ローカル・データベースの設定"
1162
 
1163
+ #: admin/includes/tab-settings.php:1132
1164
  msgid "database"
1165
  msgstr "ファイル"
1166
 
1167
+ #: admin/includes/tab-settings.php:1133 classes/class-ip-geo-block-cron.php:430
1168
  #, php-format
1169
  msgid "Last update: %s"
1170
  msgstr "最終更新:%s"
1171
 
1172
+ #: admin/includes/tab-settings.php:1142
1173
  msgid "Auto updating (once a month)"
1174
  msgstr "自動更新(月1回)"
1175
 
1176
+ #: admin/includes/tab-settings.php:1159
1177
  msgid "Download database"
1178
  msgstr "データベースのダウンロード"
1179
 
1180
+ #: admin/includes/tab-settings.php:1167
1181
  msgid "Download now"
1182
  msgstr "今すぐダウンロード"
1183
 
1184
+ #: admin/includes/tab-settings.php:1178
1185
  msgid "Statistics and Logs settings"
1186
  msgstr "統計とログの設定"
1187
 
1188
+ #: admin/includes/tab-settings.php:1187
1189
  msgid "Record &#8220;Statistics&#8221;"
1190
  msgstr "検証の統計を記録"
1191
 
1192
+ #: admin/includes/tab-settings.php:1204
1193
  msgid "Maximum period for &#8220;Statistics&#8221; (days)"
1194
  msgstr "記録する統計の最大期間(日)"
1195
 
1196
+ #: admin/includes/tab-settings.php:1222
1197
  msgid "Record &#8220;Logs&#8221;"
1198
  msgstr "検証のログを記録"
1199
 
1200
+ #: admin/includes/tab-settings.php:1234
1201
  msgid "When requests blocked"
1202
  msgstr "遮断時に記録"
1203
 
1204
+ #: admin/includes/tab-settings.php:1235
1205
  msgid "When requests passed"
1206
  msgstr "通過時に記録"
1207
 
1208
+ #: admin/includes/tab-settings.php:1236
1209
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1210
  msgstr "遮断時または遮断対象国の通過時に記録"
1211
 
1212
+ #: admin/includes/tab-settings.php:1237
1213
  msgid "Unauthenticated visitor"
1214
  msgstr "未認証の訪問者を記録"
1215
 
1216
+ #: admin/includes/tab-settings.php:1238
1217
  msgid "Authenticated user"
1218
  msgstr "認証済のユーザーを記録"
1219
 
1220
+ #: admin/includes/tab-settings.php:1239
1221
  msgid "All the validation"
1222
  msgstr "すべての検証を記録"
1223
 
1224
+ #: admin/includes/tab-settings.php:1248
1225
  msgid "Maximum entries of &#8220;Logs&#8221;"
1226
  msgstr "記録するログの最大エントリ数"
1227
 
1228
+ #: admin/includes/tab-settings.php:1265
1229
  msgid ""
1230
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1231
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
1233
  "<dfn title=\"例)action, comment, log, pwd, FILES\">ログに記録する際に内容を展"
1234
  "開する$_POSTのキー</dfn>"
1235
 
1236
+ #: admin/includes/tab-settings.php:1283
1237
  msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
1238
  msgstr "<dfn title=\"例)123.456.789.***\">IPアドレスを匿名化する</dfn>"
1239
 
1240
+ #: admin/includes/tab-settings.php:1300
1241
  msgid ""
1242
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1243
  "&#8220;Live update&#8221;</dfn>"
1245
  "<dfn title=\"SQLiteデータベース・ソースを選択します。\">ライブアップデート用"
1246
  "SQLiteデータベース・ソースの選択</dfn>"
1247
 
1248
+ #: admin/includes/tab-settings.php:1312
1249
  msgid "Ordinary file"
1250
  msgstr "通常のファイル"
1251
 
1252
+ #: admin/includes/tab-settings.php:1313
1253
  msgid "In-Memory"
1254
  msgstr "イン・メモリ"
1255
 
1256
+ #: admin/includes/tab-settings.php:1316
1257
  msgid "PDO_SQLITE driver not available"
1258
  msgstr "PDO_SQLITEドライバが利用出来ません。"
1259
 
1260
+ #: admin/includes/tab-settings.php:1317
1261
  msgid ""
1262
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1263
  "without conflict with other plugins."
1265
  "数十ミリ秒のオーバーヘッドが生じますが、他のプラグインと競合することなく、安全"
1266
  "に使用できます。"
1267
 
1268
+ #: admin/includes/tab-settings.php:1318
1269
  msgid ""
1270
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1271
  "with other plugins using this method."
1273
  "数ミリ秒のオーバーヘッドが生じます。同手法を用いている他のプラグインと競合する"
1274
  "可能性があります。"
1275
 
1276
+ #: admin/includes/tab-settings.php:1327
1277
  msgid "Reset database source of &#8220;Live update&#8221;"
1278
  msgstr "ライブアップデートのデータソースをリセットする"
1279
 
1280
+ #: admin/includes/tab-settings.php:1335
1281
  msgid "Reset now"
1282
  msgstr "今すぐリセット"
1283
 
1284
+ #: admin/includes/tab-settings.php:1346
1285
  msgid "IP address cache settings"
1286
  msgstr "IPアドレスのキャッシュ設定"
1287
 
1288
+ #: admin/includes/tab-settings.php:1355
1289
  #, php-format
1290
  msgid ""
1291
  "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
1295
  "<dfn title=\"ユーザ認証が連続%d回失敗した場合も、以降のログインがこの期間だけ"
1296
  "(ガベージコレクション周期を含む)禁止されます。\">有効時間 [sec]</dfn>"
1297
 
1298
+ #: admin/includes/tab-settings.php:1371
1299
  msgid "Garbage collection period [sec]"
1300
  msgstr "ガベージコレクション周期 [秒]"
1301
 
1302
+ #: admin/includes/tab-settings.php:1388
1303
  msgid "Number of entries to be displayed in cache"
1304
  msgstr "[キャッシュ中のIPアドレス]に表示する最大数"
1305
 
1306
+ #: admin/includes/tab-settings.php:1406
1307
  msgid "Submission settings"
1308
  msgstr "投稿時の設定"
1309
 
1310
+ #: admin/includes/tab-settings.php:1418
1311
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1312
  msgstr "全体が&lt;p&gt;タグで囲われます。使用可能タグ:"
1313
 
1314
+ #: admin/includes/tab-settings.php:1418
1315
  msgid "Message on comment form"
1316
  msgstr "投稿フォーム上のメッセージ"
1317
 
1318
+ #: admin/includes/tab-settings.php:1430
1319
  msgid "None"
1320
  msgstr "なし"
1321
 
1322
+ #: admin/includes/tab-settings.php:1431
1323
  msgid "Top"
1324
  msgstr "上部"
1325
 
1326
+ #: admin/includes/tab-settings.php:1432
1327
  msgid "Bottom"
1328
  msgstr "下部"
1329
 
1330
+ #: admin/includes/tab-settings.php:1443
1331
  msgid "Plugin settings"
1332
  msgstr "プラグインの設定"
1333
 
1334
+ #: admin/includes/tab-settings.php:1456
1335
  msgid ""
1336
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1337
  "settings</dfn>"
1338
  msgstr ""
1339
+ "<dfn title=\"全ての設定をネットワーク全体で同期させます。\">ネットワーク一括管"
1340
+ "理</dfn>"
1341
 
1342
+ #: admin/includes/tab-settings.php:1474
1343
  msgid "Remove all settings at uninstallation"
1344
  msgstr "アンインストール時に全設定を削除"
1345
 
1346
+ #: admin/includes/tab-settings.php:1492
1347
  msgid ""
1348
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1349
  "dfn>"
1351
  "<dfn title=\"Google Maps JavaScript API に有効なキー\">Google Maps API キー</"
1352
  "dfn>"
1353
 
1354
+ #: admin/includes/tab-settings.php:1506
1355
  msgid ""
1356
+ "You need to click the &#8220;Save Changes&#8221; button for imported "
1357
+ "settings to take effect."
1358
  msgstr ""
1359
  "インポートされた設定を有効にするには、[変更を保存]ボタンをクリックする必要が"
1360
  "あります。"
1361
 
1362
+ #: admin/includes/tab-settings.php:1512
1363
  msgid "Export / Import settings"
1364
  msgstr "設定のエクスポート、インポート"
1365
 
1366
+ #: admin/includes/tab-settings.php:1519
1367
  msgid "Export settings"
1368
  msgstr "エクスポート"
1369
 
1370
+ #: admin/includes/tab-settings.php:1520
1371
  msgid "Import from the local file"
1372
  msgstr "ローカル・ファイルからインポートします"
1373
 
1374
+ #: admin/includes/tab-settings.php:1520
1375
  msgid "Import settings"
1376
  msgstr "インポート"
1377
 
1378
+ #: admin/includes/tab-settings.php:1529
1379
  msgid "Import pre-defined settings"
1380
  msgstr "プリセットのインポート"
1381
 
1382
+ #: admin/includes/tab-settings.php:1536
1383
  msgid ""
1384
  "Import the default settings to revert to the &#8220;Right after "
1385
  "installing&#8221; state"
1386
  msgstr "インストール直後の状態に戻すための設定値をインポートします"
1387
 
1388
+ #: admin/includes/tab-settings.php:1536
1389
  msgid "Default settings"
1390
  msgstr "初期設定"
1391
 
1392
+ #: admin/includes/tab-settings.php:1537
1393
  msgid ""
1394
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1395
  "for the &#8220;Back-end target settings&#8221;"
1397
  "「ゼロデイ攻撃の遮断」など、主に[バックエンドの設定]の推奨設定をインポートし"
1398
  "ます。"
1399
 
1400
+ #: admin/includes/tab-settings.php:1537
1401
  msgid "Best for Back-end"
1402
  msgstr "バックエンドの推奨設定"
1403
 
1404
+ #: admin/includes/tab-settings.php:1547
1405
  msgid "Delete DB table for validation logs"
1406
  msgstr "検証のログ用データベース・テーブルの削除"
1407
 
1408
+ #: admin/includes/tab-settings.php:1555
1409
  msgid "Delete now"
1410
  msgstr "今すぐ削除"
1411
 
1412
+ #: admin/includes/tab-settings.php:1563
1413
  msgid "Create DB table for validation logs"
1414
  msgstr "検証のログ用データベース・テーブルの作成"
1415
 
1416
+ #: admin/includes/tab-settings.php:1571
1417
  msgid "Create now"
1418
  msgstr "今すぐ作成"
1419
 
1420
+ #: admin/includes/tab-settings.php:1581
1421
  msgid ""
1422
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1423
  "button to find the blocked request in the dumped information which may help "
1431
  "ip-geo-block\" title=\"WordPress &#8250; Support &raquo; IP Geo Block\">サポー"
1432
  "ト・フォーラム</a> ]"
1433
 
1434
+ #: admin/includes/tab-settings.php:1588
1435
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1436
  msgstr "フォーラムに問題を投稿する際、コピーして張り付けてください。"
1437
 
1438
+ #: admin/includes/tab-settings.php:1588
1439
  msgid "Show information"
1440
  msgstr "情報を表示"
1441
 
1442
+ #: admin/includes/tab-settings.php:1604
1443
  msgid ""
1444
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1445
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
1451
  "\" title=\"The best practice for target settings | IP Geo Block\">The best "
1452
  "practice fortarget settings</a>&#8220;&thinsp;を参照してください。"
1453
 
1454
+ #: admin/includes/tab-settings.php:1605
1455
  msgid ""
1456
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1457
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
1458
+ "Block &mdash; WordPress Plugins\">WordPress.org</a> and <a rel=\"noreferrer"
1459
+ "\" href=\"http://www.ipgeoblock.com/codex/#faq\" title=\"Codex | IP Geo Block"
1460
  "\">Codex</a>."
1461
  msgstr ""
1462
  "何か問題が発生した場合は、<a rel=\"noreferrer\" href=\"https://wordpress.org/"
1465
  "com/codex/#faq\" title=\"Codex | IP Geo Block\">Codex</a> の FAQ を参照してく"
1466
  "ださい。"
1467
 
1468
+ #: admin/includes/tab-settings.php:1612
1469
  msgid ""
1470
+ "While Maxmind and IP2Location will fetch the local database, others will "
1471
+ "pass an IP address to the APIs via HTTP."
1472
  msgstr ""
1473
  "MaxmindとIP2Locationはローカルのデータベースを検索しますが、他はHTTPを介して"
1474
  "APIにIPアドレスを渡します。"
1475
 
1476
+ #: admin/includes/tab-settings.php:1613
1477
  msgid ""
1478
  "Please select the appropriate APIs to fit the privacy law in your country."
1479
  msgstr "自国のプライバシー関連法規に合わせ、適切なAPIを選択して下さい。"
1480
 
1481
+ #: admin/includes/tab-settings.php:1622
1482
  #, php-format
1483
  msgid ""
1484
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1488
  "ジョン&thinsp;5.4.0&thinsp;以上と&thinsp;%sPECL phar 2.0.0&thinsp;以上%sが必要"
1489
  "です。"
1490
 
1491
+ #: admin/includes/tab-settings.php:1630
1492
  msgid ""
1493
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1494
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
1500
  "end\" title=\"Codex | IP Geo Block\">Blocking on front-end</a>&#8221; を参照し"
1501
  "てください。"
1502
 
1503
+ #: admin/includes/tab-settings.php:1631
1504
  msgid ""
1505
+ "If you find any issues or have something to suggest, please feel free to "
1506
+ "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
1507
+ "plugin/ip-geo-block\" title=\"WordPress &#8250; Support &raquo; IP Geo Block"
1508
  "\">support forum</a>."
1509
  msgstr ""
1510
  "問題を発見したり改善の提案がある場合は、お気軽に <a rel=\"noreferrer\" href="
1512
  "&#8250; Support &raquo; IP Geo Block\">サポートフォーラム</a> に投稿をお願いし"
1513
  "ます。"
1514
 
1515
+ #: admin/includes/tab-settings.php:1638
1516
  msgid ""
1517
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1518
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
1602
  msgid "Toggle sorting order"
1603
  msgstr "ソート順を切り替え"
1604
 
1605
+ #: admin/includes/tab-statistics.php:394
1606
+ #, php-format
1607
+ msgid "[ %sRecord &#8220;Statistics&#8221;%s ] is desabled."
1608
+ msgstr "[%s検証の統計を記録%s]が無効です。"
 
 
 
1609
 
1610
+ #: admin/includes/tab-statistics.php:395
1611
  msgid ""
1612
  "Please set the proper condition to record and analyze the validation "
1613
  "statistics."
1614
  msgstr "検証の統計を記録し分析するためには、適切な条件を設定して下さい。"
1615
 
 
 
 
 
 
1616
  #: classes/class-ip-geo-block-apis.php:653
1617
  msgid ""
1618
  "You need to select at least one IP geolocation service. Otherwise "
1640
  msgid ""
1641
  "This plugin does not support method &#8220;%s&#8221; for FTP or SSH based "
1642
  "file operations. Please refer to <a href=\"https://codex.wordpress.org/"
1643
+ "Editing_wp-config.php#WordPress_Upgrade_Constants\" title=\"Editing wp-"
1644
+ "config.php &laquo; WordPress Codex\">this document</a> for more details."
1645
  msgstr ""
1646
  "本プラグインは、メソッド「%s」による FTP あるいは SSH を使ったファイル操作をサ"
1647
  "ポートしていません。詳しくは、<a href=\"https://codex.wordpress.org/"
languages/ip-geo-block.mo CHANGED
Binary file
languages/ip-geo-block.po CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: IP Geo Block 3.0.8\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
- "POT-Creation-Date: 2018-02-04 12:53+0900\n"
8
- "PO-Revision-Date: 2018-02-04 14:53+0900\n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -77,7 +77,7 @@ msgid "The selected row cannot be found in the visible area."
77
  msgstr ""
78
 
79
  #: admin/class-ip-geo-block-admin.php:278
80
- #: admin/class-ip-geo-block-admin.php:1417
81
  #, php-format
82
  msgid "An error occurred while executing the ajax command `%s`."
83
  msgstr ""
@@ -148,8 +148,8 @@ msgstr ""
148
 
149
  #: admin/class-ip-geo-block-admin.php:336
150
  #: admin/class-ip-geo-block-admin.php:444
151
- #: admin/class-ip-geo-block-admin.php:659
152
- #: admin/class-ip-geo-block-admin.php:678
153
  msgid "Settings"
154
  msgstr ""
155
 
@@ -163,16 +163,16 @@ msgid "IP Geo Block"
163
  msgstr ""
164
 
165
  #: admin/class-ip-geo-block-admin.php:452
166
- #: admin/class-ip-geo-block-admin.php:663
167
- #: admin/class-ip-geo-block-admin.php:679
168
  msgid "Site List"
169
  msgstr ""
170
 
171
- #: admin/class-ip-geo-block-admin.php:481
172
  msgid "You need WordPress 3.7+."
173
  msgstr ""
174
 
175
- #: admin/class-ip-geo-block-admin.php:487
176
  #, php-format
177
  msgid ""
178
  "Now downloading geolocation databases in background. After a little while, "
@@ -180,48 +180,48 @@ msgid ""
180
  "strong>&#8221; at <a href=\"%s\">Validation rule settings</a>."
181
  msgstr ""
182
 
183
- #: admin/class-ip-geo-block-admin.php:493
184
  #, php-format
185
  msgid ""
186
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
187
  "confirm it at <a href=\"%s\">Validation rule settings</a>."
188
  msgstr ""
189
 
190
- #: admin/class-ip-geo-block-admin.php:502
191
  msgid "Local database and matching rule have been updated."
192
  msgstr ""
193
 
194
- #: admin/class-ip-geo-block-admin.php:513
195
  msgid ""
196
  "Once you logout, you will be unable to login again because the number of "
197
  "login attempts reaches the limit."
198
  msgstr ""
199
 
200
- #: admin/class-ip-geo-block-admin.php:515
201
  #, php-format
202
  msgid ""
203
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
204
  "tab</a> to prevent locking yourself out."
205
  msgstr ""
206
 
207
- #: admin/class-ip-geo-block-admin.php:525
208
  msgid ""
209
  "Once you logout, you will be unable to login again because your country code "
210
  "or IP address is in the blacklist."
211
  msgstr ""
212
 
213
- #: admin/class-ip-geo-block-admin.php:526
214
  msgid ""
215
  "Once you logout, you will be unable to login again because your country code "
216
  "or IP address is not in the whitelist."
217
  msgstr ""
218
 
219
- #: admin/class-ip-geo-block-admin.php:530
220
  #, php-format
221
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
222
  msgstr ""
223
 
224
- #: admin/class-ip-geo-block-admin.php:534
225
  #, php-format
226
  msgid ""
227
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
@@ -229,79 +229,79 @@ msgid ""
229
  "%sStatistics in cache%s&#8221; section."
230
  msgstr ""
231
 
232
- #: admin/class-ip-geo-block-admin.php:547
233
  msgid ""
234
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
235
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
236
  "select &#8220;init&#8221; action hook."
237
  msgstr ""
238
 
239
- #: admin/class-ip-geo-block-admin.php:660
240
  msgid "Statistics"
241
  msgstr ""
242
 
243
- #: admin/class-ip-geo-block-admin.php:661
244
  msgid "Logs"
245
  msgstr ""
246
 
247
- #: admin/class-ip-geo-block-admin.php:662
248
  msgid "Search"
249
  msgstr ""
250
 
251
- #: admin/class-ip-geo-block-admin.php:664
252
  msgid "Attribution"
253
  msgstr ""
254
 
255
- #: admin/class-ip-geo-block-admin.php:690
256
  msgid "Network wide"
257
  msgstr ""
258
 
259
- #: admin/class-ip-geo-block-admin.php:703
260
  msgid "Toggle all"
261
  msgstr ""
262
 
263
- #: admin/class-ip-geo-block-admin.php:706
264
  msgid ""
265
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
266
  "the requests validated by this plugin in almost real time."
267
  msgstr ""
268
 
269
- #: admin/class-ip-geo-block-admin.php:706 admin/includes/tab-accesslog.php:37
270
  msgid "Live update"
271
  msgstr ""
272
 
273
- #: admin/class-ip-geo-block-admin.php:710
274
  msgid "Open a new window on clicking the link in the chart."
275
  msgstr ""
276
 
277
- #: admin/class-ip-geo-block-admin.php:710
278
  msgid "Open a new window"
279
  msgstr ""
280
 
281
- #: admin/class-ip-geo-block-admin.php:733
282
  msgid "Thanks for providing these great services for free."
283
  msgstr ""
284
 
285
- #: admin/class-ip-geo-block-admin.php:734
286
  msgid ""
287
  "(Most browsers will redirect you to each site <a href=\"http://www."
288
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
289
  "when you click the link</a>.)"
290
  msgstr ""
291
 
292
- #: admin/class-ip-geo-block-admin.php:739
293
  msgid "Back to top"
294
  msgstr ""
295
 
296
- #: admin/class-ip-geo-block-admin.php:836
297
  msgid "Enable"
298
  msgstr ""
299
 
300
- #: admin/class-ip-geo-block-admin.php:851
301
  msgid "Select one"
302
  msgstr ""
303
 
304
- #: admin/class-ip-geo-block-admin.php:1240
305
  #: admin/includes/class-admin-rewrite.php:194
306
  #: classes/class-ip-geo-block-cron.php:228
307
  #: classes/class-ip-geo-block-cron.php:332
@@ -311,7 +311,7 @@ msgstr ""
311
  msgid "Unable to write <code>%s</code>. Please check the permission."
312
  msgstr ""
313
 
314
- #: admin/class-ip-geo-block-admin.php:1270
315
  msgid "Settings saved."
316
  msgstr ""
317
 
@@ -319,8 +319,8 @@ msgstr ""
319
  msgid "n/a"
320
  msgstr ""
321
 
322
- #: admin/includes/class-admin-ajax.php:77 admin/includes/tab-settings.php:76
323
- #: admin/includes/tab-settings.php:96
324
  msgid "UNKNOWN"
325
  msgstr ""
326
 
@@ -352,98 +352,98 @@ msgstr ""
352
  msgid "Validation logs"
353
  msgstr ""
354
 
355
- #: admin/includes/tab-accesslog.php:52 admin/includes/tab-settings.php:452
356
  msgid "Comment post"
357
  msgstr ""
358
 
359
- #: admin/includes/tab-accesslog.php:53 admin/includes/tab-settings.php:453
360
  msgid "XML-RPC"
361
  msgstr ""
362
 
363
- #: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:454
364
  msgid "Login form"
365
  msgstr ""
366
 
367
- #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:455
368
  msgid "Admin area"
369
  msgstr ""
370
 
371
- #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:457
372
  msgid "Public facing pages"
373
  msgstr ""
374
 
375
- #: admin/includes/tab-accesslog.php:59 admin/includes/tab-network.php:76
376
  msgid "All"
377
  msgstr ""
378
 
379
- #: admin/includes/tab-accesslog.php:69
380
  msgid "Select target"
381
  msgstr ""
382
 
383
- #: admin/includes/tab-accesslog.php:85
384
  msgid "Search in logs"
385
  msgstr ""
386
 
387
- #: admin/includes/tab-accesslog.php:94 admin/includes/tab-statistics.php:235
388
  msgid "Reset"
389
  msgstr ""
390
 
391
- #: admin/includes/tab-accesslog.php:102 admin/includes/tab-statistics.php:242
392
  msgid "Bulk action"
393
  msgstr ""
394
 
395
- #: admin/includes/tab-accesslog.php:113 admin/includes/tab-statistics.php:254
396
  msgid "Add IP address to &#8220;Whitelist&#8221;"
397
  msgstr ""
398
 
399
- #: admin/includes/tab-accesslog.php:114 admin/includes/tab-statistics.php:255
400
  msgid "Add IP address to &#8220;Blacklist&#8221;"
401
  msgstr ""
402
 
403
- #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:256
404
  msgid "Add AS number to &#8220;Whitelist&#8221;"
405
  msgstr ""
406
 
407
- #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:257
408
  msgid "Add AS number to &#8220;Blacklist&#8221;"
409
  msgstr ""
410
 
411
- #: admin/includes/tab-accesslog.php:118 admin/includes/tab-network.php:56
412
  #: admin/includes/tab-statistics.php:259
413
  msgid "Apply"
414
  msgstr ""
415
 
416
- #: admin/includes/tab-accesslog.php:126 admin/includes/tab-statistics.php:198
417
  msgid "Clear logs"
418
  msgstr ""
419
 
420
- #: admin/includes/tab-accesslog.php:134 admin/includes/tab-statistics.php:173
421
  #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:274
422
  msgid "Clear all"
423
  msgstr ""
424
 
425
- #: admin/includes/tab-accesslog.php:144
426
  msgid "Export logs"
427
  msgstr ""
428
 
429
- #: admin/includes/tab-accesslog.php:150 admin/includes/tab-settings.php:1517
430
  msgid "Export to the local file"
431
  msgstr ""
432
 
433
- #: admin/includes/tab-accesslog.php:150
434
  msgid "Export csv"
435
  msgstr ""
436
 
437
- #: admin/includes/tab-accesslog.php:167 admin/includes/tab-network.php:112
438
- #: admin/includes/tab-statistics.php:397
439
- msgid ""
440
- "[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab "
441
- "is [<strong>Disable</strong>]."
442
  msgstr ""
443
 
444
- #: admin/includes/tab-accesslog.php:168 admin/includes/tab-network.php:113
 
445
  msgid ""
446
- "Please select the proper condition to record and analyze the validation logs."
447
  msgstr ""
448
 
449
  #: admin/includes/tab-attribution.php:16
@@ -502,42 +502,42 @@ msgstr ""
502
  msgid "Validation rule settings"
503
  msgstr ""
504
 
505
- #: admin/includes/tab-settings.php:68
506
  msgid ""
507
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
508
  "code by referring &#8220;Scan country code&#8221;.\">Your IP address / "
509
  "Country</dfn>"
510
  msgstr ""
511
 
512
- #: admin/includes/tab-settings.php:77 admin/includes/tab-settings.php:97
513
  msgid "Scan all the APIs you selected at Geolocation API settings"
514
  msgstr ""
515
 
516
- #: admin/includes/tab-settings.php:77 admin/includes/tab-settings.php:97
517
  msgid "Scan country code"
518
  msgstr ""
519
 
520
- #: admin/includes/tab-settings.php:88
521
  msgid ""
522
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
523
  "code by referring &#8220;Scan country code&#8221;.\">Server IP address / "
524
  "Country</dfn>"
525
  msgstr ""
526
 
527
- #: admin/includes/tab-settings.php:105
528
  msgid "Whitelist"
529
  msgstr ""
530
 
531
- #: admin/includes/tab-settings.php:106
532
  msgid "Blacklist"
533
  msgstr ""
534
 
535
- #: admin/includes/tab-settings.php:110
536
  msgid ""
537
  "Please select either &#8220;Whitelist&#8221; or &#8220;Blacklist&#8221;."
538
  msgstr ""
539
 
540
- #: admin/includes/tab-settings.php:111
541
  msgid ""
542
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
543
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
@@ -547,7 +547,7 @@ msgid ""
547
  "country code</dfn>"
548
  msgstr ""
549
 
550
- #: admin/includes/tab-settings.php:112
551
  msgid ""
552
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
553
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
@@ -557,23 +557,23 @@ msgid ""
557
  "country code</dfn>"
558
  msgstr ""
559
 
560
- #: admin/includes/tab-settings.php:116
561
  msgid "(comma separated)"
562
  msgstr ""
563
 
564
- #: admin/includes/tab-settings.php:117
565
  msgid "(comma or RET separated)"
566
  msgstr ""
567
 
568
- #: admin/includes/tab-settings.php:118
569
  msgid "Toggle selection"
570
  msgstr ""
571
 
572
- #: admin/includes/tab-settings.php:119
573
  msgid "Find blocked requests in &#8220;Logs&#8220;"
574
  msgstr ""
575
 
576
- #: admin/includes/tab-settings.php:120
577
  msgid ""
578
  "Before adding as &#8220;Exception&#8221;, please click on &#8220;<a class="
579
  "\"ip-geo-block-icon ip-geo-block-icon-alert\" title=\"This button is just a "
@@ -581,7 +581,11 @@ msgid ""
581
  "following list to confirm that the blocked request is not malicious."
582
  msgstr ""
583
 
584
- #: admin/includes/tab-settings.php:127 admin/includes/tab-settings.php:791
 
 
 
 
585
  msgid "Matching rule"
586
  msgstr ""
587
 
@@ -606,8 +610,7 @@ msgstr ""
606
 
607
  #: admin/includes/tab-settings.php:197
608
  #, php-format
609
- msgid ""
610
- "Some useful tools for investigating ASN are introduced in &#8220;%s&#8221;."
611
  msgstr ""
612
 
613
  #: admin/includes/tab-settings.php:206
@@ -617,13 +620,13 @@ msgid ""
617
  "for Facebook.\">Whitelist of extra IP addresses prior to country code</dfn>"
618
  msgstr ""
619
 
620
- #: admin/includes/tab-settings.php:226
621
  msgid ""
622
  "<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
623
  "\">Blacklist of extra IP addresses prior to country code</dfn>"
624
  msgstr ""
625
 
626
- #: admin/includes/tab-settings.php:247
627
  msgid ""
628
  "<dfn title=\"If your server is placed behind the proxy server or the load "
629
  "balancing server, you need to put the appropriate key such as &#8220;"
@@ -632,7 +635,7 @@ msgid ""
632
  "addresses</dfn>"
633
  msgstr ""
634
 
635
- #: admin/includes/tab-settings.php:266
636
  msgid ""
637
  "<dfn title=\"It validates malicious signatures independently of &#8220;Block "
638
  "by country&#8221; and &#8220;Prevent Zero-day Exploit&#8221; for the target "
@@ -643,18 +646,18 @@ msgid ""
643
  "please click to restore.\"><span></span></a>)</nobr>"
644
  msgstr ""
645
 
646
- #: admin/includes/tab-settings.php:280
647
  msgid ""
648
  "<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
649
  msgstr ""
650
 
651
- #: admin/includes/tab-settings.php:291
652
  msgid ""
653
  "<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
654
  "extensions</dfn>"
655
  msgstr ""
656
 
657
- #: admin/includes/tab-settings.php:295
658
  msgid ""
659
  "<dfn title=\"Specify the capabilities to be verified. Depending on the "
660
  "particular type of uploader, certain capability may be required. Default is "
@@ -662,14 +665,14 @@ msgid ""
662
  "verification will be skipped if empty.\">Capabilities to be verified</dfn>"
663
  msgstr ""
664
 
665
- #: admin/includes/tab-settings.php:295
666
  msgid ""
667
  "(&thinsp;See &#8220;<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
668
  "Roles_and_Capabilities\" title=\"Roles and Capabilities &laquo; WordPress "
669
  "Codex\">Roles and Capabilities</a>&#8221;&thinsp;)"
670
  msgstr ""
671
 
672
- #: admin/includes/tab-settings.php:302
673
  msgid ""
674
  "<dfn title=\"It restricts the file types on upload in order to block malware "
675
  "and backdoor via both back-end and front-end. Please consider to select "
@@ -678,27 +681,27 @@ msgid ""
678
  "this validation.\">Prevent malicious file uploading</dfn>"
679
  msgstr ""
680
 
681
- #: admin/includes/tab-settings.php:313 admin/includes/tab-settings.php:494
682
- #: admin/includes/tab-settings.php:618 admin/includes/tab-settings.php:1231
683
  msgid "Disable"
684
  msgstr ""
685
 
686
- #: admin/includes/tab-settings.php:314
687
  msgid "Verify file extension and MIME type"
688
  msgstr ""
689
 
690
- #: admin/includes/tab-settings.php:315
691
  msgid "Verify file extension only"
692
  msgstr ""
693
 
694
- #: admin/includes/tab-settings.php:325
695
  #, php-format
696
  msgid ""
697
  "<dfn title=\"You can put your original 403.php and so on into your theme "
698
  "directory.\">Response code</dfn> %s"
699
  msgstr ""
700
 
701
- #: admin/includes/tab-settings.php:355 admin/includes/tab-settings.php:878
702
  msgid ""
703
  "<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
704
  "to a public facing page, visitors would not be blocked on the page to "
@@ -707,42 +710,42 @@ msgid ""
707
  "\">Redirect URL</dfn>"
708
  msgstr ""
709
 
710
- #: admin/includes/tab-settings.php:373 admin/includes/tab-settings.php:897
711
  msgid ""
712
  "<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
713
  "message</dfn>"
714
  msgstr ""
715
 
716
- #: admin/includes/tab-settings.php:390
717
  msgid ""
718
  "<dfn title=\"This is applied to &#8220;XML-RPC&#8221; and &#8220;Login "
719
  "form&#8221;. Lockout period is defined as expiration time at &#8220;Cache "
720
  "settings&#8221;.\">Max number of failed login attempts per IP address</dfn>"
721
  msgstr ""
722
 
723
- #: admin/includes/tab-settings.php:418
724
  msgid "Select when to run the validation."
725
  msgstr ""
726
 
727
- #: admin/includes/tab-settings.php:418
728
  msgid "Validation timing"
729
  msgstr ""
730
 
731
- #: admin/includes/tab-settings.php:429
732
  msgid "&#8220;init&#8221; action hook"
733
  msgstr ""
734
 
735
- #: admin/includes/tab-settings.php:430
736
  msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
737
  msgstr ""
738
 
739
- #: admin/includes/tab-settings.php:433
740
  msgid ""
741
  "Validate at &#8220;init&#8221; action hook in the same manner as typical "
742
  "plugins."
743
  msgstr ""
744
 
745
- #: admin/includes/tab-settings.php:434
746
  msgid ""
747
  "Validate at an earlier phase than other typical plugins. It can reduce load "
748
  "on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
@@ -750,68 +753,68 @@ msgid ""
750
  "restrictions</a>."
751
  msgstr ""
752
 
753
- #: admin/includes/tab-settings.php:444
754
  msgid "Back-end target settings"
755
  msgstr ""
756
 
757
- #: admin/includes/tab-settings.php:450
758
  #, php-format
759
  msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
760
  msgstr ""
761
 
762
- #: admin/includes/tab-settings.php:456
763
  msgid "Other areas"
764
  msgstr ""
765
 
766
- #: admin/includes/tab-settings.php:457
767
  msgid "public facing pages"
768
  msgstr ""
769
 
770
- #: admin/includes/tab-settings.php:475 admin/includes/tab-settings.php:495
771
- #: admin/includes/tab-settings.php:528 admin/includes/tab-settings.php:534
772
- #: admin/includes/tab-settings.php:779
773
  msgid "Block by country"
774
  msgstr ""
775
 
776
- #: admin/includes/tab-settings.php:496
777
  msgid "Completely close"
778
  msgstr ""
779
 
780
- #: admin/includes/tab-settings.php:529
781
  msgid ""
782
  "<dfn title=\"Specify the individual action as a blocking target.\">Target "
783
  "actions</dfn>"
784
  msgstr ""
785
 
786
- #: admin/includes/tab-settings.php:535
787
  msgid "Prevent Zero-day Exploit"
788
  msgstr ""
789
 
790
- #: admin/includes/tab-settings.php:539
791
  msgid ""
792
  "It will block a request related to the services for both public facing pages "
793
  "and the dashboard."
794
  msgstr ""
795
 
796
- #: admin/includes/tab-settings.php:540
797
  msgid ""
798
  "Regardless of the country code, it will block a malicious request related to "
799
  "the services only for the dashboard."
800
  msgstr ""
801
 
802
- #: admin/includes/tab-settings.php:563
803
  msgid "admin post for logged-in user"
804
  msgstr ""
805
 
806
- #: admin/includes/tab-settings.php:564
807
  msgid "admin post for non logged-in user"
808
  msgstr ""
809
 
810
- #: admin/includes/tab-settings.php:588
811
  msgid "Admin ajax/post"
812
  msgstr ""
813
 
814
- #: admin/includes/tab-settings.php:602
815
  msgid ""
816
  "Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
817
  "(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
@@ -819,33 +822,33 @@ msgid ""
819
  "Zero-day Exploit&#8221; (for logged-in user)."
820
  msgstr ""
821
 
822
- #: admin/includes/tab-settings.php:602 admin/includes/tab-settings.php:680
823
- #: admin/includes/tab-settings.php:741
824
  msgid "Exceptions"
825
  msgstr ""
826
 
827
- #: admin/includes/tab-settings.php:603
828
  msgid "Toggle with non logged-in user"
829
  msgstr ""
830
 
831
- #: admin/includes/tab-settings.php:606
832
  msgid "Candidate actions/pages"
833
  msgstr ""
834
 
835
- #: admin/includes/tab-settings.php:620
836
  #, php-format
837
  msgid ""
838
  "Regardless of the country code, it will block a malicious request to <code>"
839
  "%s&ctdot;/*.php</code>."
840
  msgstr ""
841
 
842
- #: admin/includes/tab-settings.php:621
843
  msgid ""
844
  "Select the item which causes unintended blocking in order to exclude from "
845
  "the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
846
  msgstr ""
847
 
848
- #: admin/includes/tab-settings.php:622
849
  #, php-format
850
  msgid ""
851
  "It configures &#8220;%s&#8221; to validate a request to the PHP file which "
@@ -853,31 +856,31 @@ msgid ""
853
  "files beginning with a dot by the server's configuration."
854
  msgstr ""
855
 
856
- #: admin/includes/tab-settings.php:623
857
  msgid "Sorry, but your server type is not supported."
858
  msgstr ""
859
 
860
- #: admin/includes/tab-settings.php:659 admin/includes/tab-settings.php:720
861
  msgid "Force to load WP core"
862
  msgstr ""
863
 
864
- #: admin/includes/tab-settings.php:664
865
  msgid "Plugins area"
866
  msgstr ""
867
 
868
- #: admin/includes/tab-settings.php:725
869
  msgid "Themes area"
870
  msgstr ""
871
 
872
- #: admin/includes/tab-settings.php:760
873
  msgid "Front-end target settings"
874
  msgstr ""
875
 
876
- #: admin/includes/tab-settings.php:784
877
  msgid "Follow &#8220;Validation rule settings&#8221;"
878
  msgstr ""
879
 
880
- #: admin/includes/tab-settings.php:846
881
  #, php-format
882
  msgid ""
883
  "<dfn title=\"You can configure a different response code from the Back-end. "
@@ -885,53 +888,53 @@ msgid ""
885
  "\">Response code</dfn> %s"
886
  msgstr ""
887
 
888
- #: admin/includes/tab-settings.php:912
889
  msgid ""
890
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
891
  msgstr ""
892
 
893
- #: admin/includes/tab-settings.php:924
894
  msgid ""
895
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
896
  "target.\">Post type</dfn>"
897
  msgstr ""
898
 
899
- #: admin/includes/tab-settings.php:936
900
  msgid ""
901
  "<dfn title=\"Specify the individual category on a single page or archive "
902
  "page as a blocking target.\">Category</dfn>"
903
  msgstr ""
904
 
905
- #: admin/includes/tab-settings.php:948
906
  msgid ""
907
  "<dfn title=\"Specify the individual tag on a single page or archive page as "
908
  "a blocking target.\">Tag</dfn>"
909
  msgstr ""
910
 
911
- #: admin/includes/tab-settings.php:963
912
  msgid "Specify the validation target on front-end."
913
  msgstr ""
914
 
915
- #: admin/includes/tab-settings.php:963
916
  msgid "Validation target"
917
  msgstr ""
918
 
919
- #: admin/includes/tab-settings.php:974
920
  msgid "All requests"
921
  msgstr ""
922
 
923
- #: admin/includes/tab-settings.php:975
924
  msgid "Specify the targets"
925
  msgstr ""
926
 
927
- #: admin/includes/tab-settings.php:978
928
  msgid ""
929
  "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
930
  "wp&#8221; action hook. It means that this feature would not be compatible "
931
  "with any page caching."
932
  msgstr ""
933
 
934
- #: admin/includes/tab-settings.php:988
935
  msgid ""
936
  "A part of user agent string and a qualification connected with a separator "
937
  "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
@@ -941,19 +944,19 @@ msgid ""
941
  "qualification&#8221;."
942
  msgstr ""
943
 
944
- #: admin/includes/tab-settings.php:988
945
  msgid "UA string and qualification"
946
  msgstr ""
947
 
948
- #: admin/includes/tab-settings.php:1007
949
  msgid "Specify the name of actions as exception that is invariably blocked."
950
  msgstr ""
951
 
952
- #: admin/includes/tab-settings.php:1007
953
  msgid "Excluded actions"
954
  msgstr ""
955
 
956
- #: admin/includes/tab-settings.php:1026
957
  msgid ""
958
  "It enables to verify the host by reverse DNS lookup which would spend some "
959
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
@@ -961,35 +964,35 @@ msgid ""
961
  "return &#8220;true&#8221;."
962
  msgstr ""
963
 
964
- #: admin/includes/tab-settings.php:1026
965
  msgid "DNS reverse lookup"
966
  msgstr ""
967
 
968
- #: admin/includes/tab-settings.php:1043
969
  msgid ""
970
  "It enables to simulate validation without deployment. The results can be "
971
  "found at &#8220;Public facing pages&#8221; in Logs."
972
  msgstr ""
973
 
974
- #: admin/includes/tab-settings.php:1043
975
  msgid "Simulation mode"
976
  msgstr ""
977
 
978
- #: admin/includes/tab-settings.php:1061
979
  msgid "Geolocation API settings"
980
  msgstr ""
981
 
982
- #: admin/includes/tab-settings.php:1070
983
  msgid ""
984
  "<dfn title=\"Cache and local database are scanned at the top priority.\">API "
985
  "selection and key settings</dfn>"
986
  msgstr ""
987
 
988
- #: admin/includes/tab-settings.php:1089
989
  msgid "Timeout for network API [sec]"
990
  msgstr ""
991
 
992
- #: admin/includes/tab-settings.php:1109
993
  #, php-format
994
  msgid ""
995
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
@@ -1004,128 +1007,128 @@ msgid ""
1004
  "troubles? | IP Geo Block\">this instruction</a>."
1005
  msgstr ""
1006
 
1007
- #: admin/includes/tab-settings.php:1116
1008
  msgid "Local database settings"
1009
  msgstr ""
1010
 
1011
- #: admin/includes/tab-settings.php:1130
1012
  msgid "database"
1013
  msgstr ""
1014
 
1015
- #: admin/includes/tab-settings.php:1131 classes/class-ip-geo-block-cron.php:430
1016
  #, php-format
1017
  msgid "Last update: %s"
1018
  msgstr ""
1019
 
1020
- #: admin/includes/tab-settings.php:1140
1021
  msgid "Auto updating (once a month)"
1022
  msgstr ""
1023
 
1024
- #: admin/includes/tab-settings.php:1157
1025
  msgid "Download database"
1026
  msgstr ""
1027
 
1028
- #: admin/includes/tab-settings.php:1165
1029
  msgid "Download now"
1030
  msgstr ""
1031
 
1032
- #: admin/includes/tab-settings.php:1176
1033
  msgid "Statistics and Logs settings"
1034
  msgstr ""
1035
 
1036
- #: admin/includes/tab-settings.php:1185
1037
  msgid "Record &#8220;Statistics&#8221;"
1038
  msgstr ""
1039
 
1040
- #: admin/includes/tab-settings.php:1202
1041
  msgid "Maximum period for &#8220;Statistics&#8221; (days)"
1042
  msgstr ""
1043
 
1044
- #: admin/includes/tab-settings.php:1220
1045
  msgid "Record &#8220;Logs&#8221;"
1046
  msgstr ""
1047
 
1048
- #: admin/includes/tab-settings.php:1232
1049
  msgid "When requests blocked"
1050
  msgstr ""
1051
 
1052
- #: admin/includes/tab-settings.php:1233
1053
  msgid "When requests passed"
1054
  msgstr ""
1055
 
1056
- #: admin/includes/tab-settings.php:1234
1057
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1058
  msgstr ""
1059
 
1060
- #: admin/includes/tab-settings.php:1235
1061
  msgid "Unauthenticated visitor"
1062
  msgstr ""
1063
 
1064
- #: admin/includes/tab-settings.php:1236
1065
  msgid "Authenticated user"
1066
  msgstr ""
1067
 
1068
- #: admin/includes/tab-settings.php:1237
1069
  msgid "All the validation"
1070
  msgstr ""
1071
 
1072
- #: admin/includes/tab-settings.php:1246
1073
  msgid "Maximum entries of &#8220;Logs&#8221;"
1074
  msgstr ""
1075
 
1076
- #: admin/includes/tab-settings.php:1263
1077
  msgid ""
1078
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1079
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
1080
  msgstr ""
1081
 
1082
- #: admin/includes/tab-settings.php:1281
1083
  msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
1084
  msgstr ""
1085
 
1086
- #: admin/includes/tab-settings.php:1298
1087
  msgid ""
1088
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1089
  "&#8220;Live update&#8221;</dfn>"
1090
  msgstr ""
1091
 
1092
- #: admin/includes/tab-settings.php:1310
1093
  msgid "Ordinary file"
1094
  msgstr ""
1095
 
1096
- #: admin/includes/tab-settings.php:1311
1097
  msgid "In-Memory"
1098
  msgstr ""
1099
 
1100
- #: admin/includes/tab-settings.php:1314
1101
  msgid "PDO_SQLITE driver not available"
1102
  msgstr ""
1103
 
1104
- #: admin/includes/tab-settings.php:1315
1105
  msgid ""
1106
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1107
  "without conflict with other plugins."
1108
  msgstr ""
1109
 
1110
- #: admin/includes/tab-settings.php:1316
1111
  msgid ""
1112
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1113
  "with other plugins using this method."
1114
  msgstr ""
1115
 
1116
- #: admin/includes/tab-settings.php:1325
1117
  msgid "Reset database source of &#8220;Live update&#8221;"
1118
  msgstr ""
1119
 
1120
- #: admin/includes/tab-settings.php:1333
1121
  msgid "Reset now"
1122
  msgstr ""
1123
 
1124
- #: admin/includes/tab-settings.php:1344
1125
  msgid "IP address cache settings"
1126
  msgstr ""
1127
 
1128
- #: admin/includes/tab-settings.php:1353
1129
  #, php-format
1130
  msgid ""
1131
  "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
@@ -1133,121 +1136,121 @@ msgid ""
1133
  "\">Expiration time [sec]</dfn>"
1134
  msgstr ""
1135
 
1136
- #: admin/includes/tab-settings.php:1369
1137
  msgid "Garbage collection period [sec]"
1138
  msgstr ""
1139
 
1140
- #: admin/includes/tab-settings.php:1386
1141
  msgid "Number of entries to be displayed in cache"
1142
  msgstr ""
1143
 
1144
- #: admin/includes/tab-settings.php:1404
1145
  msgid "Submission settings"
1146
  msgstr ""
1147
 
1148
- #: admin/includes/tab-settings.php:1416
1149
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1150
  msgstr ""
1151
 
1152
- #: admin/includes/tab-settings.php:1416
1153
  msgid "Message on comment form"
1154
  msgstr ""
1155
 
1156
- #: admin/includes/tab-settings.php:1428
1157
  msgid "None"
1158
  msgstr ""
1159
 
1160
- #: admin/includes/tab-settings.php:1429
1161
  msgid "Top"
1162
  msgstr ""
1163
 
1164
- #: admin/includes/tab-settings.php:1430
1165
  msgid "Bottom"
1166
  msgstr ""
1167
 
1168
- #: admin/includes/tab-settings.php:1441
1169
  msgid "Plugin settings"
1170
  msgstr ""
1171
 
1172
- #: admin/includes/tab-settings.php:1454
1173
  msgid ""
1174
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1175
  "settings</dfn>"
1176
  msgstr ""
1177
 
1178
- #: admin/includes/tab-settings.php:1472
1179
  msgid "Remove all settings at uninstallation"
1180
  msgstr ""
1181
 
1182
- #: admin/includes/tab-settings.php:1490
1183
  msgid ""
1184
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1185
  "dfn>"
1186
  msgstr ""
1187
 
1188
- #: admin/includes/tab-settings.php:1504
1189
  msgid ""
1190
  "You need to click the &#8220;Save Changes&#8221; button for imported "
1191
  "settings to take effect."
1192
  msgstr ""
1193
 
1194
- #: admin/includes/tab-settings.php:1510
1195
  msgid "Export / Import settings"
1196
  msgstr ""
1197
 
1198
- #: admin/includes/tab-settings.php:1517
1199
  msgid "Export settings"
1200
  msgstr ""
1201
 
1202
- #: admin/includes/tab-settings.php:1518
1203
  msgid "Import from the local file"
1204
  msgstr ""
1205
 
1206
- #: admin/includes/tab-settings.php:1518
1207
  msgid "Import settings"
1208
  msgstr ""
1209
 
1210
- #: admin/includes/tab-settings.php:1527
1211
  msgid "Import pre-defined settings"
1212
  msgstr ""
1213
 
1214
- #: admin/includes/tab-settings.php:1534
1215
  msgid ""
1216
  "Import the default settings to revert to the &#8220;Right after "
1217
  "installing&#8221; state"
1218
  msgstr ""
1219
 
1220
- #: admin/includes/tab-settings.php:1534
1221
  msgid "Default settings"
1222
  msgstr ""
1223
 
1224
- #: admin/includes/tab-settings.php:1535
1225
  msgid ""
1226
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1227
  "for the &#8220;Back-end target settings&#8221;"
1228
  msgstr ""
1229
 
1230
- #: admin/includes/tab-settings.php:1535
1231
  msgid "Best for Back-end"
1232
  msgstr ""
1233
 
1234
- #: admin/includes/tab-settings.php:1545
1235
  msgid "Delete DB table for validation logs"
1236
  msgstr ""
1237
 
1238
- #: admin/includes/tab-settings.php:1553
1239
  msgid "Delete now"
1240
  msgstr ""
1241
 
1242
- #: admin/includes/tab-settings.php:1561
1243
  msgid "Create DB table for validation logs"
1244
  msgstr ""
1245
 
1246
- #: admin/includes/tab-settings.php:1569
1247
  msgid "Create now"
1248
  msgstr ""
1249
 
1250
- #: admin/includes/tab-settings.php:1579
1251
  msgid ""
1252
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1253
  "button to find the blocked request in the dumped information which may help "
@@ -1256,15 +1259,15 @@ msgid ""
1256
  "&#8250; Support &raquo; IP Geo Block\">support forum</a> ]"
1257
  msgstr ""
1258
 
1259
- #: admin/includes/tab-settings.php:1586
1260
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1261
  msgstr ""
1262
 
1263
- #: admin/includes/tab-settings.php:1586
1264
  msgid "Show information"
1265
  msgstr ""
1266
 
1267
- #: admin/includes/tab-settings.php:1602
1268
  msgid ""
1269
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1270
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
@@ -1272,7 +1275,7 @@ msgid ""
1272
  "\">The best practice for target settings</a>&#8221;."
1273
  msgstr ""
1274
 
1275
- #: admin/includes/tab-settings.php:1603
1276
  msgid ""
1277
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1278
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
@@ -1281,25 +1284,25 @@ msgid ""
1281
  "\">Codex</a>."
1282
  msgstr ""
1283
 
1284
- #: admin/includes/tab-settings.php:1610
1285
  msgid ""
1286
  "While Maxmind and IP2Location will fetch the local database, others will "
1287
  "pass an IP address to the APIs via HTTP."
1288
  msgstr ""
1289
 
1290
- #: admin/includes/tab-settings.php:1611
1291
  msgid ""
1292
  "Please select the appropriate APIs to fit the privacy law in your country."
1293
  msgstr ""
1294
 
1295
- #: admin/includes/tab-settings.php:1620
1296
  #, php-format
1297
  msgid ""
1298
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1299
  "2.0.0+%s."
1300
  msgstr ""
1301
 
1302
- #: admin/includes/tab-settings.php:1628
1303
  msgid ""
1304
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1305
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
@@ -1307,7 +1310,7 @@ msgid ""
1307
  "cache plugin."
1308
  msgstr ""
1309
 
1310
- #: admin/includes/tab-settings.php:1629
1311
  msgid ""
1312
  "If you find any issues or have something to suggest, please feel free to "
1313
  "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
@@ -1315,7 +1318,7 @@ msgid ""
1315
  "\">support forum</a>."
1316
  msgstr ""
1317
 
1318
- #: admin/includes/tab-settings.php:1636
1319
  msgid ""
1320
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1321
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
@@ -1402,23 +1405,17 @@ msgstr ""
1402
  msgid "Toggle sorting order"
1403
  msgstr ""
1404
 
1405
- #: admin/includes/tab-statistics.php:392
1406
- msgid ""
1407
- "[<strong>Record validation statistics</strong>] on [<strong>Settings</"
1408
- "strong>] tab is not selected as [<strong>Enable</strong>]."
1409
  msgstr ""
1410
 
1411
- #: admin/includes/tab-statistics.php:393
1412
  msgid ""
1413
  "Please set the proper condition to record and analyze the validation "
1414
  "statistics."
1415
  msgstr ""
1416
 
1417
- #: admin/includes/tab-statistics.php:398
1418
- msgid ""
1419
- "Please set the proper condition to record and analyze the validation logs."
1420
- msgstr ""
1421
-
1422
  #: classes/class-ip-geo-block-apis.php:653
1423
  msgid ""
1424
  "You need to select at least one IP geolocation service. Otherwise "
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: IP Geo Block 3.0.9\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
+ "POT-Creation-Date: 2018-03-04 16:21+0900\n"
8
+ "PO-Revision-Date: 2018-03-04 16:24+0900\n"
9
  "Language-Team: \n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
77
  msgstr ""
78
 
79
  #: admin/class-ip-geo-block-admin.php:278
80
+ #: admin/class-ip-geo-block-admin.php:1428
81
  #, php-format
82
  msgid "An error occurred while executing the ajax command `%s`."
83
  msgstr ""
148
 
149
  #: admin/class-ip-geo-block-admin.php:336
150
  #: admin/class-ip-geo-block-admin.php:444
151
+ #: admin/class-ip-geo-block-admin.php:663
152
+ #: admin/class-ip-geo-block-admin.php:682
153
  msgid "Settings"
154
  msgstr ""
155
 
163
  msgstr ""
164
 
165
  #: admin/class-ip-geo-block-admin.php:452
166
+ #: admin/class-ip-geo-block-admin.php:667
167
+ #: admin/class-ip-geo-block-admin.php:683
168
  msgid "Site List"
169
  msgstr ""
170
 
171
+ #: admin/class-ip-geo-block-admin.php:482
172
  msgid "You need WordPress 3.7+."
173
  msgstr ""
174
 
175
+ #: admin/class-ip-geo-block-admin.php:488
176
  #, php-format
177
  msgid ""
178
  "Now downloading geolocation databases in background. After a little while, "
180
  "strong>&#8221; at <a href=\"%s\">Validation rule settings</a>."
181
  msgstr ""
182
 
183
+ #: admin/class-ip-geo-block-admin.php:494
184
  #, php-format
185
  msgid ""
186
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
187
  "confirm it at <a href=\"%s\">Validation rule settings</a>."
188
  msgstr ""
189
 
190
+ #: admin/class-ip-geo-block-admin.php:503
191
  msgid "Local database and matching rule have been updated."
192
  msgstr ""
193
 
194
+ #: admin/class-ip-geo-block-admin.php:514
195
  msgid ""
196
  "Once you logout, you will be unable to login again because the number of "
197
  "login attempts reaches the limit."
198
  msgstr ""
199
 
200
+ #: admin/class-ip-geo-block-admin.php:516
201
  #, php-format
202
  msgid ""
203
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
204
  "tab</a> to prevent locking yourself out."
205
  msgstr ""
206
 
207
+ #: admin/class-ip-geo-block-admin.php:526
208
  msgid ""
209
  "Once you logout, you will be unable to login again because your country code "
210
  "or IP address is in the blacklist."
211
  msgstr ""
212
 
213
+ #: admin/class-ip-geo-block-admin.php:527
214
  msgid ""
215
  "Once you logout, you will be unable to login again because your country code "
216
  "or IP address is not in the whitelist."
217
  msgstr ""
218
 
219
+ #: admin/class-ip-geo-block-admin.php:531
220
  #, php-format
221
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
222
  msgstr ""
223
 
224
+ #: admin/class-ip-geo-block-admin.php:535
225
  #, php-format
226
  msgid ""
227
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
229
  "%sStatistics in cache%s&#8221; section."
230
  msgstr ""
231
 
232
+ #: admin/class-ip-geo-block-admin.php:548
233
  msgid ""
234
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
235
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
236
  "select &#8220;init&#8221; action hook."
237
  msgstr ""
238
 
239
+ #: admin/class-ip-geo-block-admin.php:664
240
  msgid "Statistics"
241
  msgstr ""
242
 
243
+ #: admin/class-ip-geo-block-admin.php:665
244
  msgid "Logs"
245
  msgstr ""
246
 
247
+ #: admin/class-ip-geo-block-admin.php:666
248
  msgid "Search"
249
  msgstr ""
250
 
251
+ #: admin/class-ip-geo-block-admin.php:668
252
  msgid "Attribution"
253
  msgstr ""
254
 
255
+ #: admin/class-ip-geo-block-admin.php:694
256
  msgid "Network wide"
257
  msgstr ""
258
 
259
+ #: admin/class-ip-geo-block-admin.php:707
260
  msgid "Toggle all"
261
  msgstr ""
262
 
263
+ #: admin/class-ip-geo-block-admin.php:710
264
  msgid ""
265
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
266
  "the requests validated by this plugin in almost real time."
267
  msgstr ""
268
 
269
+ #: admin/class-ip-geo-block-admin.php:710 admin/includes/tab-accesslog.php:39
270
  msgid "Live update"
271
  msgstr ""
272
 
273
+ #: admin/class-ip-geo-block-admin.php:714
274
  msgid "Open a new window on clicking the link in the chart."
275
  msgstr ""
276
 
277
+ #: admin/class-ip-geo-block-admin.php:714
278
  msgid "Open a new window"
279
  msgstr ""
280
 
281
+ #: admin/class-ip-geo-block-admin.php:737
282
  msgid "Thanks for providing these great services for free."
283
  msgstr ""
284
 
285
+ #: admin/class-ip-geo-block-admin.php:738
286
  msgid ""
287
  "(Most browsers will redirect you to each site <a href=\"http://www."
288
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
289
  "when you click the link</a>.)"
290
  msgstr ""
291
 
292
+ #: admin/class-ip-geo-block-admin.php:743
293
  msgid "Back to top"
294
  msgstr ""
295
 
296
+ #: admin/class-ip-geo-block-admin.php:840
297
  msgid "Enable"
298
  msgstr ""
299
 
300
+ #: admin/class-ip-geo-block-admin.php:855
301
  msgid "Select one"
302
  msgstr ""
303
 
304
+ #: admin/class-ip-geo-block-admin.php:1251
305
  #: admin/includes/class-admin-rewrite.php:194
306
  #: classes/class-ip-geo-block-cron.php:228
307
  #: classes/class-ip-geo-block-cron.php:332
311
  msgid "Unable to write <code>%s</code>. Please check the permission."
312
  msgstr ""
313
 
314
+ #: admin/class-ip-geo-block-admin.php:1281
315
  msgid "Settings saved."
316
  msgstr ""
317
 
319
  msgid "n/a"
320
  msgstr ""
321
 
322
+ #: admin/includes/class-admin-ajax.php:77 admin/includes/tab-settings.php:75
323
+ #: admin/includes/tab-settings.php:95
324
  msgid "UNKNOWN"
325
  msgstr ""
326
 
352
  msgid "Validation logs"
353
  msgstr ""
354
 
355
+ #: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:454
356
  msgid "Comment post"
357
  msgstr ""
358
 
359
+ #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:455
360
  msgid "XML-RPC"
361
  msgstr ""
362
 
363
+ #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:456
364
  msgid "Login form"
365
  msgstr ""
366
 
367
+ #: admin/includes/tab-accesslog.php:57 admin/includes/tab-settings.php:457
368
  msgid "Admin area"
369
  msgstr ""
370
 
371
+ #: admin/includes/tab-accesslog.php:58 admin/includes/tab-settings.php:459
372
  msgid "Public facing pages"
373
  msgstr ""
374
 
375
+ #: admin/includes/tab-accesslog.php:61 admin/includes/tab-network.php:76
376
  msgid "All"
377
  msgstr ""
378
 
379
+ #: admin/includes/tab-accesslog.php:71
380
  msgid "Select target"
381
  msgstr ""
382
 
383
+ #: admin/includes/tab-accesslog.php:87
384
  msgid "Search in logs"
385
  msgstr ""
386
 
387
+ #: admin/includes/tab-accesslog.php:96 admin/includes/tab-statistics.php:235
388
  msgid "Reset"
389
  msgstr ""
390
 
391
+ #: admin/includes/tab-accesslog.php:104 admin/includes/tab-statistics.php:242
392
  msgid "Bulk action"
393
  msgstr ""
394
 
395
+ #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:254
396
  msgid "Add IP address to &#8220;Whitelist&#8221;"
397
  msgstr ""
398
 
399
+ #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:255
400
  msgid "Add IP address to &#8220;Blacklist&#8221;"
401
  msgstr ""
402
 
403
+ #: admin/includes/tab-accesslog.php:117 admin/includes/tab-statistics.php:256
404
  msgid "Add AS number to &#8220;Whitelist&#8221;"
405
  msgstr ""
406
 
407
+ #: admin/includes/tab-accesslog.php:118 admin/includes/tab-statistics.php:257
408
  msgid "Add AS number to &#8220;Blacklist&#8221;"
409
  msgstr ""
410
 
411
+ #: admin/includes/tab-accesslog.php:120 admin/includes/tab-network.php:56
412
  #: admin/includes/tab-statistics.php:259
413
  msgid "Apply"
414
  msgstr ""
415
 
416
+ #: admin/includes/tab-accesslog.php:128 admin/includes/tab-statistics.php:198
417
  msgid "Clear logs"
418
  msgstr ""
419
 
420
+ #: admin/includes/tab-accesslog.php:136 admin/includes/tab-statistics.php:173
421
  #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:274
422
  msgid "Clear all"
423
  msgstr ""
424
 
425
+ #: admin/includes/tab-accesslog.php:146
426
  msgid "Export logs"
427
  msgstr ""
428
 
429
+ #: admin/includes/tab-accesslog.php:152 admin/includes/tab-settings.php:1519
430
  msgid "Export to the local file"
431
  msgstr ""
432
 
433
+ #: admin/includes/tab-accesslog.php:152
434
  msgid "Export csv"
435
  msgstr ""
436
 
437
+ #: admin/includes/tab-accesslog.php:173 admin/includes/tab-network.php:114
438
+ #: admin/includes/tab-statistics.php:401
439
+ #, php-format
440
+ msgid "[ %sRecord &#8220;Logs&#8221;%s ] is desabled."
 
441
  msgstr ""
442
 
443
+ #: admin/includes/tab-accesslog.php:174 admin/includes/tab-network.php:115
444
+ #: admin/includes/tab-statistics.php:402
445
  msgid ""
446
+ "Please set the proper condition to record and analyze the validation logs."
447
  msgstr ""
448
 
449
  #: admin/includes/tab-attribution.php:16
502
  msgid "Validation rule settings"
503
  msgstr ""
504
 
505
+ #: admin/includes/tab-settings.php:67
506
  msgid ""
507
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
508
  "code by referring &#8220;Scan country code&#8221;.\">Your IP address / "
509
  "Country</dfn>"
510
  msgstr ""
511
 
512
+ #: admin/includes/tab-settings.php:76 admin/includes/tab-settings.php:96
513
  msgid "Scan all the APIs you selected at Geolocation API settings"
514
  msgstr ""
515
 
516
+ #: admin/includes/tab-settings.php:76 admin/includes/tab-settings.php:96
517
  msgid "Scan country code"
518
  msgstr ""
519
 
520
+ #: admin/includes/tab-settings.php:87
521
  msgid ""
522
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
523
  "code by referring &#8220;Scan country code&#8221;.\">Server IP address / "
524
  "Country</dfn>"
525
  msgstr ""
526
 
527
+ #: admin/includes/tab-settings.php:104
528
  msgid "Whitelist"
529
  msgstr ""
530
 
531
+ #: admin/includes/tab-settings.php:105
532
  msgid "Blacklist"
533
  msgstr ""
534
 
535
+ #: admin/includes/tab-settings.php:109
536
  msgid ""
537
  "Please select either &#8220;Whitelist&#8221; or &#8220;Blacklist&#8221;."
538
  msgstr ""
539
 
540
+ #: admin/includes/tab-settings.php:110
541
  msgid ""
542
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
543
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
547
  "country code</dfn>"
548
  msgstr ""
549
 
550
+ #: admin/includes/tab-settings.php:111
551
  msgid ""
552
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
553
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
557
  "country code</dfn>"
558
  msgstr ""
559
 
560
+ #: admin/includes/tab-settings.php:115
561
  msgid "(comma separated)"
562
  msgstr ""
563
 
564
+ #: admin/includes/tab-settings.php:116
565
  msgid "(comma or RET separated)"
566
  msgstr ""
567
 
568
+ #: admin/includes/tab-settings.php:117
569
  msgid "Toggle selection"
570
  msgstr ""
571
 
572
+ #: admin/includes/tab-settings.php:118
573
  msgid "Find blocked requests in &#8220;Logs&#8220;"
574
  msgstr ""
575
 
576
+ #: admin/includes/tab-settings.php:119
577
  msgid ""
578
  "Before adding as &#8220;Exception&#8221;, please click on &#8220;<a class="
579
  "\"ip-geo-block-icon ip-geo-block-icon-alert\" title=\"This button is just a "
581
  "following list to confirm that the blocked request is not malicious."
582
  msgstr ""
583
 
584
+ #: admin/includes/tab-settings.php:120
585
+ msgid "Open CIDR calculator for IPv4 / IPv6"
586
+ msgstr ""
587
+
588
+ #: admin/includes/tab-settings.php:127 admin/includes/tab-settings.php:793
589
  msgid "Matching rule"
590
  msgstr ""
591
 
610
 
611
  #: admin/includes/tab-settings.php:197
612
  #, php-format
613
+ msgid "Some useful tools to find ASN are introduced in &#8220;%s&#8221;."
 
614
  msgstr ""
615
 
616
  #: admin/includes/tab-settings.php:206
620
  "for Facebook.\">Whitelist of extra IP addresses prior to country code</dfn>"
621
  msgstr ""
622
 
623
+ #: admin/includes/tab-settings.php:227
624
  msgid ""
625
  "<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
626
  "\">Blacklist of extra IP addresses prior to country code</dfn>"
627
  msgstr ""
628
 
629
+ #: admin/includes/tab-settings.php:249
630
  msgid ""
631
  "<dfn title=\"If your server is placed behind the proxy server or the load "
632
  "balancing server, you need to put the appropriate key such as &#8220;"
635
  "addresses</dfn>"
636
  msgstr ""
637
 
638
+ #: admin/includes/tab-settings.php:268
639
  msgid ""
640
  "<dfn title=\"It validates malicious signatures independently of &#8220;Block "
641
  "by country&#8221; and &#8220;Prevent Zero-day Exploit&#8221; for the target "
646
  "please click to restore.\"><span></span></a>)</nobr>"
647
  msgstr ""
648
 
649
+ #: admin/includes/tab-settings.php:282
650
  msgid ""
651
  "<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
652
  msgstr ""
653
 
654
+ #: admin/includes/tab-settings.php:293
655
  msgid ""
656
  "<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
657
  "extensions</dfn>"
658
  msgstr ""
659
 
660
+ #: admin/includes/tab-settings.php:297
661
  msgid ""
662
  "<dfn title=\"Specify the capabilities to be verified. Depending on the "
663
  "particular type of uploader, certain capability may be required. Default is "
665
  "verification will be skipped if empty.\">Capabilities to be verified</dfn>"
666
  msgstr ""
667
 
668
+ #: admin/includes/tab-settings.php:297
669
  msgid ""
670
  "(&thinsp;See &#8220;<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
671
  "Roles_and_Capabilities\" title=\"Roles and Capabilities &laquo; WordPress "
672
  "Codex\">Roles and Capabilities</a>&#8221;&thinsp;)"
673
  msgstr ""
674
 
675
+ #: admin/includes/tab-settings.php:304
676
  msgid ""
677
  "<dfn title=\"It restricts the file types on upload in order to block malware "
678
  "and backdoor via both back-end and front-end. Please consider to select "
681
  "this validation.\">Prevent malicious file uploading</dfn>"
682
  msgstr ""
683
 
684
+ #: admin/includes/tab-settings.php:315 admin/includes/tab-settings.php:496
685
+ #: admin/includes/tab-settings.php:620 admin/includes/tab-settings.php:1233
686
  msgid "Disable"
687
  msgstr ""
688
 
689
+ #: admin/includes/tab-settings.php:316
690
  msgid "Verify file extension and MIME type"
691
  msgstr ""
692
 
693
+ #: admin/includes/tab-settings.php:317
694
  msgid "Verify file extension only"
695
  msgstr ""
696
 
697
+ #: admin/includes/tab-settings.php:327
698
  #, php-format
699
  msgid ""
700
  "<dfn title=\"You can put your original 403.php and so on into your theme "
701
  "directory.\">Response code</dfn> %s"
702
  msgstr ""
703
 
704
+ #: admin/includes/tab-settings.php:357 admin/includes/tab-settings.php:880
705
  msgid ""
706
  "<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
707
  "to a public facing page, visitors would not be blocked on the page to "
710
  "\">Redirect URL</dfn>"
711
  msgstr ""
712
 
713
+ #: admin/includes/tab-settings.php:375 admin/includes/tab-settings.php:899
714
  msgid ""
715
  "<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
716
  "message</dfn>"
717
  msgstr ""
718
 
719
+ #: admin/includes/tab-settings.php:392
720
  msgid ""
721
  "<dfn title=\"This is applied to &#8220;XML-RPC&#8221; and &#8220;Login "
722
  "form&#8221;. Lockout period is defined as expiration time at &#8220;Cache "
723
  "settings&#8221;.\">Max number of failed login attempts per IP address</dfn>"
724
  msgstr ""
725
 
726
+ #: admin/includes/tab-settings.php:420
727
  msgid "Select when to run the validation."
728
  msgstr ""
729
 
730
+ #: admin/includes/tab-settings.php:420
731
  msgid "Validation timing"
732
  msgstr ""
733
 
734
+ #: admin/includes/tab-settings.php:431
735
  msgid "&#8220;init&#8221; action hook"
736
  msgstr ""
737
 
738
+ #: admin/includes/tab-settings.php:432
739
  msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
740
  msgstr ""
741
 
742
+ #: admin/includes/tab-settings.php:435
743
  msgid ""
744
  "Validate at &#8220;init&#8221; action hook in the same manner as typical "
745
  "plugins."
746
  msgstr ""
747
 
748
+ #: admin/includes/tab-settings.php:436
749
  msgid ""
750
  "Validate at an earlier phase than other typical plugins. It can reduce load "
751
  "on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
753
  "restrictions</a>."
754
  msgstr ""
755
 
756
+ #: admin/includes/tab-settings.php:446
757
  msgid "Back-end target settings"
758
  msgstr ""
759
 
760
+ #: admin/includes/tab-settings.php:452
761
  #, php-format
762
  msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
763
  msgstr ""
764
 
765
+ #: admin/includes/tab-settings.php:458
766
  msgid "Other areas"
767
  msgstr ""
768
 
769
+ #: admin/includes/tab-settings.php:459
770
  msgid "public facing pages"
771
  msgstr ""
772
 
773
+ #: admin/includes/tab-settings.php:477 admin/includes/tab-settings.php:497
774
+ #: admin/includes/tab-settings.php:530 admin/includes/tab-settings.php:536
775
+ #: admin/includes/tab-settings.php:781
776
  msgid "Block by country"
777
  msgstr ""
778
 
779
+ #: admin/includes/tab-settings.php:498
780
  msgid "Completely close"
781
  msgstr ""
782
 
783
+ #: admin/includes/tab-settings.php:531
784
  msgid ""
785
  "<dfn title=\"Specify the individual action as a blocking target.\">Target "
786
  "actions</dfn>"
787
  msgstr ""
788
 
789
+ #: admin/includes/tab-settings.php:537
790
  msgid "Prevent Zero-day Exploit"
791
  msgstr ""
792
 
793
+ #: admin/includes/tab-settings.php:541
794
  msgid ""
795
  "It will block a request related to the services for both public facing pages "
796
  "and the dashboard."
797
  msgstr ""
798
 
799
+ #: admin/includes/tab-settings.php:542
800
  msgid ""
801
  "Regardless of the country code, it will block a malicious request related to "
802
  "the services only for the dashboard."
803
  msgstr ""
804
 
805
+ #: admin/includes/tab-settings.php:565
806
  msgid "admin post for logged-in user"
807
  msgstr ""
808
 
809
+ #: admin/includes/tab-settings.php:566
810
  msgid "admin post for non logged-in user"
811
  msgstr ""
812
 
813
+ #: admin/includes/tab-settings.php:590
814
  msgid "Admin ajax/post"
815
  msgstr ""
816
 
817
+ #: admin/includes/tab-settings.php:604
818
  msgid ""
819
  "Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
820
  "(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
822
  "Zero-day Exploit&#8221; (for logged-in user)."
823
  msgstr ""
824
 
825
+ #: admin/includes/tab-settings.php:604 admin/includes/tab-settings.php:682
826
+ #: admin/includes/tab-settings.php:743
827
  msgid "Exceptions"
828
  msgstr ""
829
 
830
+ #: admin/includes/tab-settings.php:605
831
  msgid "Toggle with non logged-in user"
832
  msgstr ""
833
 
834
+ #: admin/includes/tab-settings.php:608
835
  msgid "Candidate actions/pages"
836
  msgstr ""
837
 
838
+ #: admin/includes/tab-settings.php:622
839
  #, php-format
840
  msgid ""
841
  "Regardless of the country code, it will block a malicious request to <code>"
842
  "%s&ctdot;/*.php</code>."
843
  msgstr ""
844
 
845
+ #: admin/includes/tab-settings.php:623
846
  msgid ""
847
  "Select the item which causes unintended blocking in order to exclude from "
848
  "the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
849
  msgstr ""
850
 
851
+ #: admin/includes/tab-settings.php:624
852
  #, php-format
853
  msgid ""
854
  "It configures &#8220;%s&#8221; to validate a request to the PHP file which "
856
  "files beginning with a dot by the server's configuration."
857
  msgstr ""
858
 
859
+ #: admin/includes/tab-settings.php:625
860
  msgid "Sorry, but your server type is not supported."
861
  msgstr ""
862
 
863
+ #: admin/includes/tab-settings.php:661 admin/includes/tab-settings.php:722
864
  msgid "Force to load WP core"
865
  msgstr ""
866
 
867
+ #: admin/includes/tab-settings.php:666
868
  msgid "Plugins area"
869
  msgstr ""
870
 
871
+ #: admin/includes/tab-settings.php:727
872
  msgid "Themes area"
873
  msgstr ""
874
 
875
+ #: admin/includes/tab-settings.php:762
876
  msgid "Front-end target settings"
877
  msgstr ""
878
 
879
+ #: admin/includes/tab-settings.php:786
880
  msgid "Follow &#8220;Validation rule settings&#8221;"
881
  msgstr ""
882
 
883
+ #: admin/includes/tab-settings.php:848
884
  #, php-format
885
  msgid ""
886
  "<dfn title=\"You can configure a different response code from the Back-end. "
888
  "\">Response code</dfn> %s"
889
  msgstr ""
890
 
891
+ #: admin/includes/tab-settings.php:914
892
  msgid ""
893
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
894
  msgstr ""
895
 
896
+ #: admin/includes/tab-settings.php:926
897
  msgid ""
898
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
899
  "target.\">Post type</dfn>"
900
  msgstr ""
901
 
902
+ #: admin/includes/tab-settings.php:938
903
  msgid ""
904
  "<dfn title=\"Specify the individual category on a single page or archive "
905
  "page as a blocking target.\">Category</dfn>"
906
  msgstr ""
907
 
908
+ #: admin/includes/tab-settings.php:950
909
  msgid ""
910
  "<dfn title=\"Specify the individual tag on a single page or archive page as "
911
  "a blocking target.\">Tag</dfn>"
912
  msgstr ""
913
 
914
+ #: admin/includes/tab-settings.php:965
915
  msgid "Specify the validation target on front-end."
916
  msgstr ""
917
 
918
+ #: admin/includes/tab-settings.php:965
919
  msgid "Validation target"
920
  msgstr ""
921
 
922
+ #: admin/includes/tab-settings.php:976
923
  msgid "All requests"
924
  msgstr ""
925
 
926
+ #: admin/includes/tab-settings.php:977
927
  msgid "Specify the targets"
928
  msgstr ""
929
 
930
+ #: admin/includes/tab-settings.php:980
931
  msgid ""
932
  "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
933
  "wp&#8221; action hook. It means that this feature would not be compatible "
934
  "with any page caching."
935
  msgstr ""
936
 
937
+ #: admin/includes/tab-settings.php:990
938
  msgid ""
939
  "A part of user agent string and a qualification connected with a separator "
940
  "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
944
  "qualification&#8221;."
945
  msgstr ""
946
 
947
+ #: admin/includes/tab-settings.php:990
948
  msgid "UA string and qualification"
949
  msgstr ""
950
 
951
+ #: admin/includes/tab-settings.php:1009
952
  msgid "Specify the name of actions as exception that is invariably blocked."
953
  msgstr ""
954
 
955
+ #: admin/includes/tab-settings.php:1009
956
  msgid "Excluded actions"
957
  msgstr ""
958
 
959
+ #: admin/includes/tab-settings.php:1028
960
  msgid ""
961
  "It enables to verify the host by reverse DNS lookup which would spend some "
962
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
964
  "return &#8220;true&#8221;."
965
  msgstr ""
966
 
967
+ #: admin/includes/tab-settings.php:1028
968
  msgid "DNS reverse lookup"
969
  msgstr ""
970
 
971
+ #: admin/includes/tab-settings.php:1045
972
  msgid ""
973
  "It enables to simulate validation without deployment. The results can be "
974
  "found at &#8220;Public facing pages&#8221; in Logs."
975
  msgstr ""
976
 
977
+ #: admin/includes/tab-settings.php:1045
978
  msgid "Simulation mode"
979
  msgstr ""
980
 
981
+ #: admin/includes/tab-settings.php:1063
982
  msgid "Geolocation API settings"
983
  msgstr ""
984
 
985
+ #: admin/includes/tab-settings.php:1072
986
  msgid ""
987
  "<dfn title=\"Cache and local database are scanned at the top priority.\">API "
988
  "selection and key settings</dfn>"
989
  msgstr ""
990
 
991
+ #: admin/includes/tab-settings.php:1091
992
  msgid "Timeout for network API [sec]"
993
  msgstr ""
994
 
995
+ #: admin/includes/tab-settings.php:1111
996
  #, php-format
997
  msgid ""
998
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
1007
  "troubles? | IP Geo Block\">this instruction</a>."
1008
  msgstr ""
1009
 
1010
+ #: admin/includes/tab-settings.php:1118
1011
  msgid "Local database settings"
1012
  msgstr ""
1013
 
1014
+ #: admin/includes/tab-settings.php:1132
1015
  msgid "database"
1016
  msgstr ""
1017
 
1018
+ #: admin/includes/tab-settings.php:1133 classes/class-ip-geo-block-cron.php:430
1019
  #, php-format
1020
  msgid "Last update: %s"
1021
  msgstr ""
1022
 
1023
+ #: admin/includes/tab-settings.php:1142
1024
  msgid "Auto updating (once a month)"
1025
  msgstr ""
1026
 
1027
+ #: admin/includes/tab-settings.php:1159
1028
  msgid "Download database"
1029
  msgstr ""
1030
 
1031
+ #: admin/includes/tab-settings.php:1167
1032
  msgid "Download now"
1033
  msgstr ""
1034
 
1035
+ #: admin/includes/tab-settings.php:1178
1036
  msgid "Statistics and Logs settings"
1037
  msgstr ""
1038
 
1039
+ #: admin/includes/tab-settings.php:1187
1040
  msgid "Record &#8220;Statistics&#8221;"
1041
  msgstr ""
1042
 
1043
+ #: admin/includes/tab-settings.php:1204
1044
  msgid "Maximum period for &#8220;Statistics&#8221; (days)"
1045
  msgstr ""
1046
 
1047
+ #: admin/includes/tab-settings.php:1222
1048
  msgid "Record &#8220;Logs&#8221;"
1049
  msgstr ""
1050
 
1051
+ #: admin/includes/tab-settings.php:1234
1052
  msgid "When requests blocked"
1053
  msgstr ""
1054
 
1055
+ #: admin/includes/tab-settings.php:1235
1056
  msgid "When requests passed"
1057
  msgstr ""
1058
 
1059
+ #: admin/includes/tab-settings.php:1236
1060
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1061
  msgstr ""
1062
 
1063
+ #: admin/includes/tab-settings.php:1237
1064
  msgid "Unauthenticated visitor"
1065
  msgstr ""
1066
 
1067
+ #: admin/includes/tab-settings.php:1238
1068
  msgid "Authenticated user"
1069
  msgstr ""
1070
 
1071
+ #: admin/includes/tab-settings.php:1239
1072
  msgid "All the validation"
1073
  msgstr ""
1074
 
1075
+ #: admin/includes/tab-settings.php:1248
1076
  msgid "Maximum entries of &#8220;Logs&#8221;"
1077
  msgstr ""
1078
 
1079
+ #: admin/includes/tab-settings.php:1265
1080
  msgid ""
1081
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1082
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
1083
  msgstr ""
1084
 
1085
+ #: admin/includes/tab-settings.php:1283
1086
  msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
1087
  msgstr ""
1088
 
1089
+ #: admin/includes/tab-settings.php:1300
1090
  msgid ""
1091
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1092
  "&#8220;Live update&#8221;</dfn>"
1093
  msgstr ""
1094
 
1095
+ #: admin/includes/tab-settings.php:1312
1096
  msgid "Ordinary file"
1097
  msgstr ""
1098
 
1099
+ #: admin/includes/tab-settings.php:1313
1100
  msgid "In-Memory"
1101
  msgstr ""
1102
 
1103
+ #: admin/includes/tab-settings.php:1316
1104
  msgid "PDO_SQLITE driver not available"
1105
  msgstr ""
1106
 
1107
+ #: admin/includes/tab-settings.php:1317
1108
  msgid ""
1109
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1110
  "without conflict with other plugins."
1111
  msgstr ""
1112
 
1113
+ #: admin/includes/tab-settings.php:1318
1114
  msgid ""
1115
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1116
  "with other plugins using this method."
1117
  msgstr ""
1118
 
1119
+ #: admin/includes/tab-settings.php:1327
1120
  msgid "Reset database source of &#8220;Live update&#8221;"
1121
  msgstr ""
1122
 
1123
+ #: admin/includes/tab-settings.php:1335
1124
  msgid "Reset now"
1125
  msgstr ""
1126
 
1127
+ #: admin/includes/tab-settings.php:1346
1128
  msgid "IP address cache settings"
1129
  msgstr ""
1130
 
1131
+ #: admin/includes/tab-settings.php:1355
1132
  #, php-format
1133
  msgid ""
1134
  "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
1136
  "\">Expiration time [sec]</dfn>"
1137
  msgstr ""
1138
 
1139
+ #: admin/includes/tab-settings.php:1371
1140
  msgid "Garbage collection period [sec]"
1141
  msgstr ""
1142
 
1143
+ #: admin/includes/tab-settings.php:1388
1144
  msgid "Number of entries to be displayed in cache"
1145
  msgstr ""
1146
 
1147
+ #: admin/includes/tab-settings.php:1406
1148
  msgid "Submission settings"
1149
  msgstr ""
1150
 
1151
+ #: admin/includes/tab-settings.php:1418
1152
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1153
  msgstr ""
1154
 
1155
+ #: admin/includes/tab-settings.php:1418
1156
  msgid "Message on comment form"
1157
  msgstr ""
1158
 
1159
+ #: admin/includes/tab-settings.php:1430
1160
  msgid "None"
1161
  msgstr ""
1162
 
1163
+ #: admin/includes/tab-settings.php:1431
1164
  msgid "Top"
1165
  msgstr ""
1166
 
1167
+ #: admin/includes/tab-settings.php:1432
1168
  msgid "Bottom"
1169
  msgstr ""
1170
 
1171
+ #: admin/includes/tab-settings.php:1443
1172
  msgid "Plugin settings"
1173
  msgstr ""
1174
 
1175
+ #: admin/includes/tab-settings.php:1456
1176
  msgid ""
1177
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1178
  "settings</dfn>"
1179
  msgstr ""
1180
 
1181
+ #: admin/includes/tab-settings.php:1474
1182
  msgid "Remove all settings at uninstallation"
1183
  msgstr ""
1184
 
1185
+ #: admin/includes/tab-settings.php:1492
1186
  msgid ""
1187
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1188
  "dfn>"
1189
  msgstr ""
1190
 
1191
+ #: admin/includes/tab-settings.php:1506
1192
  msgid ""
1193
  "You need to click the &#8220;Save Changes&#8221; button for imported "
1194
  "settings to take effect."
1195
  msgstr ""
1196
 
1197
+ #: admin/includes/tab-settings.php:1512
1198
  msgid "Export / Import settings"
1199
  msgstr ""
1200
 
1201
+ #: admin/includes/tab-settings.php:1519
1202
  msgid "Export settings"
1203
  msgstr ""
1204
 
1205
+ #: admin/includes/tab-settings.php:1520
1206
  msgid "Import from the local file"
1207
  msgstr ""
1208
 
1209
+ #: admin/includes/tab-settings.php:1520
1210
  msgid "Import settings"
1211
  msgstr ""
1212
 
1213
+ #: admin/includes/tab-settings.php:1529
1214
  msgid "Import pre-defined settings"
1215
  msgstr ""
1216
 
1217
+ #: admin/includes/tab-settings.php:1536
1218
  msgid ""
1219
  "Import the default settings to revert to the &#8220;Right after "
1220
  "installing&#8221; state"
1221
  msgstr ""
1222
 
1223
+ #: admin/includes/tab-settings.php:1536
1224
  msgid "Default settings"
1225
  msgstr ""
1226
 
1227
+ #: admin/includes/tab-settings.php:1537
1228
  msgid ""
1229
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1230
  "for the &#8220;Back-end target settings&#8221;"
1231
  msgstr ""
1232
 
1233
+ #: admin/includes/tab-settings.php:1537
1234
  msgid "Best for Back-end"
1235
  msgstr ""
1236
 
1237
+ #: admin/includes/tab-settings.php:1547
1238
  msgid "Delete DB table for validation logs"
1239
  msgstr ""
1240
 
1241
+ #: admin/includes/tab-settings.php:1555
1242
  msgid "Delete now"
1243
  msgstr ""
1244
 
1245
+ #: admin/includes/tab-settings.php:1563
1246
  msgid "Create DB table for validation logs"
1247
  msgstr ""
1248
 
1249
+ #: admin/includes/tab-settings.php:1571
1250
  msgid "Create now"
1251
  msgstr ""
1252
 
1253
+ #: admin/includes/tab-settings.php:1581
1254
  msgid ""
1255
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1256
  "button to find the blocked request in the dumped information which may help "
1259
  "&#8250; Support &raquo; IP Geo Block\">support forum</a> ]"
1260
  msgstr ""
1261
 
1262
+ #: admin/includes/tab-settings.php:1588
1263
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1264
  msgstr ""
1265
 
1266
+ #: admin/includes/tab-settings.php:1588
1267
  msgid "Show information"
1268
  msgstr ""
1269
 
1270
+ #: admin/includes/tab-settings.php:1604
1271
  msgid ""
1272
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1273
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
1275
  "\">The best practice for target settings</a>&#8221;."
1276
  msgstr ""
1277
 
1278
+ #: admin/includes/tab-settings.php:1605
1279
  msgid ""
1280
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1281
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
1284
  "\">Codex</a>."
1285
  msgstr ""
1286
 
1287
+ #: admin/includes/tab-settings.php:1612
1288
  msgid ""
1289
  "While Maxmind and IP2Location will fetch the local database, others will "
1290
  "pass an IP address to the APIs via HTTP."
1291
  msgstr ""
1292
 
1293
+ #: admin/includes/tab-settings.php:1613
1294
  msgid ""
1295
  "Please select the appropriate APIs to fit the privacy law in your country."
1296
  msgstr ""
1297
 
1298
+ #: admin/includes/tab-settings.php:1622
1299
  #, php-format
1300
  msgid ""
1301
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1302
  "2.0.0+%s."
1303
  msgstr ""
1304
 
1305
+ #: admin/includes/tab-settings.php:1630
1306
  msgid ""
1307
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1308
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
1310
  "cache plugin."
1311
  msgstr ""
1312
 
1313
+ #: admin/includes/tab-settings.php:1631
1314
  msgid ""
1315
  "If you find any issues or have something to suggest, please feel free to "
1316
  "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
1318
  "\">support forum</a>."
1319
  msgstr ""
1320
 
1321
+ #: admin/includes/tab-settings.php:1638
1322
  msgid ""
1323
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1324
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
1405
  msgid "Toggle sorting order"
1406
  msgstr ""
1407
 
1408
+ #: admin/includes/tab-statistics.php:394
1409
+ #, php-format
1410
+ msgid "[ %sRecord &#8220;Statistics&#8221;%s ] is desabled."
 
1411
  msgstr ""
1412
 
1413
+ #: admin/includes/tab-statistics.php:395
1414
  msgid ""
1415
  "Please set the proper condition to record and analyze the validation "
1416
  "statistics."
1417
  msgstr ""
1418
 
 
 
 
 
 
1419
  #: classes/class-ip-geo-block-apis.php:653
1420
  msgid ""
1421
  "You need to select at least one IP geolocation service. Otherwise "
languages/ip-geo-block.pot CHANGED
@@ -2,11 +2,13 @@
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: IP Geo Block 3.0.8\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
- "POT-Creation-Date: 2018-02-04 12:53+0900\n"
8
- "PO-Revision-Date: 2018-02-04 14:53+0900\n"
 
9
  "Language-Team: \n"
 
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
@@ -16,8 +18,6 @@ msgstr ""
16
  "X-Poedit-Basepath: ..\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
  "X-Poedit-SourceCharset: UTF-8\n"
19
- "Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
20
- "Language: en_001\n"
21
  "X-Poedit-SearchPath-0: .\n"
22
 
23
  #. Description of the plugin/theme
@@ -77,7 +77,7 @@ msgid "The selected row cannot be found in the visible area."
77
  msgstr ""
78
 
79
  #: admin/class-ip-geo-block-admin.php:278
80
- #: admin/class-ip-geo-block-admin.php:1417
81
  #, php-format
82
  msgid "An error occurred while executing the ajax command `%s`."
83
  msgstr ""
@@ -148,8 +148,8 @@ msgstr ""
148
 
149
  #: admin/class-ip-geo-block-admin.php:336
150
  #: admin/class-ip-geo-block-admin.php:444
151
- #: admin/class-ip-geo-block-admin.php:659
152
- #: admin/class-ip-geo-block-admin.php:678
153
  msgid "Settings"
154
  msgstr ""
155
 
@@ -163,16 +163,16 @@ msgid "IP Geo Block"
163
  msgstr ""
164
 
165
  #: admin/class-ip-geo-block-admin.php:452
166
- #: admin/class-ip-geo-block-admin.php:663
167
- #: admin/class-ip-geo-block-admin.php:679
168
  msgid "Site List"
169
  msgstr ""
170
 
171
- #: admin/class-ip-geo-block-admin.php:481
172
  msgid "You need WordPress 3.7+."
173
  msgstr ""
174
 
175
- #: admin/class-ip-geo-block-admin.php:487
176
  #, php-format
177
  msgid ""
178
  "Now downloading geolocation databases in background. After a little while, "
@@ -180,48 +180,48 @@ msgid ""
180
  "strong>&#8221; at <a href=\"%s\">Validation rule settings</a>."
181
  msgstr ""
182
 
183
- #: admin/class-ip-geo-block-admin.php:493
184
  #, php-format
185
  msgid ""
186
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
187
  "confirm it at <a href=\"%s\">Validation rule settings</a>."
188
  msgstr ""
189
 
190
- #: admin/class-ip-geo-block-admin.php:502
191
  msgid "Local database and matching rule have been updated."
192
  msgstr ""
193
 
194
- #: admin/class-ip-geo-block-admin.php:513
195
  msgid ""
196
  "Once you logout, you will be unable to login again because the number of "
197
  "login attempts reaches the limit."
198
  msgstr ""
199
 
200
- #: admin/class-ip-geo-block-admin.php:515
201
  #, php-format
202
  msgid ""
203
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
204
  "tab</a> to prevent locking yourself out."
205
  msgstr ""
206
 
207
- #: admin/class-ip-geo-block-admin.php:525
208
  msgid ""
209
  "Once you logout, you will be unable to login again because your country code "
210
  "or IP address is in the blacklist."
211
  msgstr ""
212
 
213
- #: admin/class-ip-geo-block-admin.php:526
214
  msgid ""
215
  "Once you logout, you will be unable to login again because your country code "
216
  "or IP address is not in the whitelist."
217
  msgstr ""
218
 
219
- #: admin/class-ip-geo-block-admin.php:530
220
  #, php-format
221
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
222
  msgstr ""
223
 
224
- #: admin/class-ip-geo-block-admin.php:534
225
  #, php-format
226
  msgid ""
227
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
@@ -229,79 +229,79 @@ msgid ""
229
  "%sStatistics in cache%s&#8221; section."
230
  msgstr ""
231
 
232
- #: admin/class-ip-geo-block-admin.php:547
233
  msgid ""
234
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
235
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
236
  "select &#8220;init&#8221; action hook."
237
  msgstr ""
238
 
239
- #: admin/class-ip-geo-block-admin.php:660
240
  msgid "Statistics"
241
  msgstr ""
242
 
243
- #: admin/class-ip-geo-block-admin.php:661
244
  msgid "Logs"
245
  msgstr ""
246
 
247
- #: admin/class-ip-geo-block-admin.php:662
248
  msgid "Search"
249
  msgstr ""
250
 
251
- #: admin/class-ip-geo-block-admin.php:664
252
  msgid "Attribution"
253
  msgstr ""
254
 
255
- #: admin/class-ip-geo-block-admin.php:690
256
  msgid "Network wide"
257
  msgstr ""
258
 
259
- #: admin/class-ip-geo-block-admin.php:703
260
  msgid "Toggle all"
261
  msgstr ""
262
 
263
- #: admin/class-ip-geo-block-admin.php:706
264
  msgid ""
265
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
266
  "the requests validated by this plugin in almost real time."
267
  msgstr ""
268
 
269
- #: admin/class-ip-geo-block-admin.php:706 admin/includes/tab-accesslog.php:37
270
  msgid "Live update"
271
  msgstr ""
272
 
273
- #: admin/class-ip-geo-block-admin.php:710
274
  msgid "Open a new window on clicking the link in the chart."
275
  msgstr ""
276
 
277
- #: admin/class-ip-geo-block-admin.php:710
278
  msgid "Open a new window"
279
  msgstr ""
280
 
281
- #: admin/class-ip-geo-block-admin.php:733
282
  msgid "Thanks for providing these great services for free."
283
  msgstr ""
284
 
285
- #: admin/class-ip-geo-block-admin.php:734
286
  msgid ""
287
  "(Most browsers will redirect you to each site <a href=\"http://www."
288
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
289
  "when you click the link</a>.)"
290
  msgstr ""
291
 
292
- #: admin/class-ip-geo-block-admin.php:739
293
  msgid "Back to top"
294
  msgstr ""
295
 
296
- #: admin/class-ip-geo-block-admin.php:836
297
  msgid "Enable"
298
  msgstr ""
299
 
300
- #: admin/class-ip-geo-block-admin.php:851
301
  msgid "Select one"
302
  msgstr ""
303
 
304
- #: admin/class-ip-geo-block-admin.php:1240
305
  #: admin/includes/class-admin-rewrite.php:194
306
  #: classes/class-ip-geo-block-cron.php:228
307
  #: classes/class-ip-geo-block-cron.php:332
@@ -311,7 +311,7 @@ msgstr ""
311
  msgid "Unable to write <code>%s</code>. Please check the permission."
312
  msgstr ""
313
 
314
- #: admin/class-ip-geo-block-admin.php:1270
315
  msgid "Settings saved."
316
  msgstr ""
317
 
@@ -319,8 +319,8 @@ msgstr ""
319
  msgid "n/a"
320
  msgstr ""
321
 
322
- #: admin/includes/class-admin-ajax.php:77 admin/includes/tab-settings.php:76
323
- #: admin/includes/tab-settings.php:96
324
  msgid "UNKNOWN"
325
  msgstr ""
326
 
@@ -352,98 +352,98 @@ msgstr ""
352
  msgid "Validation logs"
353
  msgstr ""
354
 
355
- #: admin/includes/tab-accesslog.php:52 admin/includes/tab-settings.php:452
356
  msgid "Comment post"
357
  msgstr ""
358
 
359
- #: admin/includes/tab-accesslog.php:53 admin/includes/tab-settings.php:453
360
  msgid "XML-RPC"
361
  msgstr ""
362
 
363
- #: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:454
364
  msgid "Login form"
365
  msgstr ""
366
 
367
- #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:455
368
  msgid "Admin area"
369
  msgstr ""
370
 
371
- #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:457
372
  msgid "Public facing pages"
373
  msgstr ""
374
 
375
- #: admin/includes/tab-accesslog.php:59 admin/includes/tab-network.php:76
376
  msgid "All"
377
  msgstr ""
378
 
379
- #: admin/includes/tab-accesslog.php:69
380
  msgid "Select target"
381
  msgstr ""
382
 
383
- #: admin/includes/tab-accesslog.php:85
384
  msgid "Search in logs"
385
  msgstr ""
386
 
387
- #: admin/includes/tab-accesslog.php:94 admin/includes/tab-statistics.php:235
388
  msgid "Reset"
389
  msgstr ""
390
 
391
- #: admin/includes/tab-accesslog.php:102 admin/includes/tab-statistics.php:242
392
  msgid "Bulk action"
393
  msgstr ""
394
 
395
- #: admin/includes/tab-accesslog.php:113 admin/includes/tab-statistics.php:254
396
  msgid "Add IP address to &#8220;Whitelist&#8221;"
397
  msgstr ""
398
 
399
- #: admin/includes/tab-accesslog.php:114 admin/includes/tab-statistics.php:255
400
  msgid "Add IP address to &#8220;Blacklist&#8221;"
401
  msgstr ""
402
 
403
- #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:256
404
  msgid "Add AS number to &#8220;Whitelist&#8221;"
405
  msgstr ""
406
 
407
- #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:257
408
  msgid "Add AS number to &#8220;Blacklist&#8221;"
409
  msgstr ""
410
 
411
- #: admin/includes/tab-accesslog.php:118 admin/includes/tab-network.php:56
412
  #: admin/includes/tab-statistics.php:259
413
  msgid "Apply"
414
  msgstr ""
415
 
416
- #: admin/includes/tab-accesslog.php:126 admin/includes/tab-statistics.php:198
417
  msgid "Clear logs"
418
  msgstr ""
419
 
420
- #: admin/includes/tab-accesslog.php:134 admin/includes/tab-statistics.php:173
421
  #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:274
422
  msgid "Clear all"
423
  msgstr ""
424
 
425
- #: admin/includes/tab-accesslog.php:144
426
  msgid "Export logs"
427
  msgstr ""
428
 
429
- #: admin/includes/tab-accesslog.php:150 admin/includes/tab-settings.php:1517
430
  msgid "Export to the local file"
431
  msgstr ""
432
 
433
- #: admin/includes/tab-accesslog.php:150
434
  msgid "Export csv"
435
  msgstr ""
436
 
437
- #: admin/includes/tab-accesslog.php:167 admin/includes/tab-network.php:112
438
- #: admin/includes/tab-statistics.php:397
439
- msgid ""
440
- "[<strong>Record validation logs</strong>] on [<strong>Settings</strong>] tab "
441
- "is [<strong>Disable</strong>]."
442
  msgstr ""
443
 
444
- #: admin/includes/tab-accesslog.php:168 admin/includes/tab-network.php:113
 
445
  msgid ""
446
- "Please select the proper condition to record and analyze the validation logs."
447
  msgstr ""
448
 
449
  #: admin/includes/tab-attribution.php:16
@@ -502,42 +502,42 @@ msgstr ""
502
  msgid "Validation rule settings"
503
  msgstr ""
504
 
505
- #: admin/includes/tab-settings.php:68
506
  msgid ""
507
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
508
  "code by referring &#8220;Scan country code&#8221;.\">Your IP address / "
509
  "Country</dfn>"
510
  msgstr ""
511
 
512
- #: admin/includes/tab-settings.php:77 admin/includes/tab-settings.php:97
513
  msgid "Scan all the APIs you selected at Geolocation API settings"
514
  msgstr ""
515
 
516
- #: admin/includes/tab-settings.php:77 admin/includes/tab-settings.php:97
517
  msgid "Scan country code"
518
  msgstr ""
519
 
520
- #: admin/includes/tab-settings.php:88
521
  msgid ""
522
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
523
  "code by referring &#8220;Scan country code&#8221;.\">Server IP address / "
524
  "Country</dfn>"
525
  msgstr ""
526
 
527
- #: admin/includes/tab-settings.php:105
528
  msgid "Whitelist"
529
  msgstr ""
530
 
531
- #: admin/includes/tab-settings.php:106
532
  msgid "Blacklist"
533
  msgstr ""
534
 
535
- #: admin/includes/tab-settings.php:110
536
  msgid ""
537
  "Please select either &#8220;Whitelist&#8221; or &#8220;Blacklist&#8221;."
538
  msgstr ""
539
 
540
- #: admin/includes/tab-settings.php:111
541
  msgid ""
542
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
543
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
@@ -547,7 +547,7 @@ msgid ""
547
  "country code</dfn>"
548
  msgstr ""
549
 
550
- #: admin/includes/tab-settings.php:112
551
  msgid ""
552
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
553
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
@@ -557,23 +557,23 @@ msgid ""
557
  "country code</dfn>"
558
  msgstr ""
559
 
560
- #: admin/includes/tab-settings.php:116
561
  msgid "(comma separated)"
562
  msgstr ""
563
 
564
- #: admin/includes/tab-settings.php:117
565
  msgid "(comma or RET separated)"
566
  msgstr ""
567
 
568
- #: admin/includes/tab-settings.php:118
569
  msgid "Toggle selection"
570
  msgstr ""
571
 
572
- #: admin/includes/tab-settings.php:119
573
  msgid "Find blocked requests in &#8220;Logs&#8220;"
574
  msgstr ""
575
 
576
- #: admin/includes/tab-settings.php:120
577
  msgid ""
578
  "Before adding as &#8220;Exception&#8221;, please click on &#8220;<a class="
579
  "\"ip-geo-block-icon ip-geo-block-icon-alert\" title=\"This button is just a "
@@ -581,7 +581,11 @@ msgid ""
581
  "following list to confirm that the blocked request is not malicious."
582
  msgstr ""
583
 
584
- #: admin/includes/tab-settings.php:127 admin/includes/tab-settings.php:791
 
 
 
 
585
  msgid "Matching rule"
586
  msgstr ""
587
 
@@ -606,8 +610,7 @@ msgstr ""
606
 
607
  #: admin/includes/tab-settings.php:197
608
  #, php-format
609
- msgid ""
610
- "Some useful tools for investigating ASN are introduced in &#8220;%s&#8221;."
611
  msgstr ""
612
 
613
  #: admin/includes/tab-settings.php:206
@@ -617,13 +620,13 @@ msgid ""
617
  "for Facebook.\">Whitelist of extra IP addresses prior to country code</dfn>"
618
  msgstr ""
619
 
620
- #: admin/includes/tab-settings.php:226
621
  msgid ""
622
  "<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
623
  "\">Blacklist of extra IP addresses prior to country code</dfn>"
624
  msgstr ""
625
 
626
- #: admin/includes/tab-settings.php:247
627
  msgid ""
628
  "<dfn title=\"If your server is placed behind the proxy server or the load "
629
  "balancing server, you need to put the appropriate key such as &#8220;"
@@ -632,7 +635,7 @@ msgid ""
632
  "addresses</dfn>"
633
  msgstr ""
634
 
635
- #: admin/includes/tab-settings.php:266
636
  msgid ""
637
  "<dfn title=\"It validates malicious signatures independently of &#8220;Block "
638
  "by country&#8221; and &#8220;Prevent Zero-day Exploit&#8221; for the target "
@@ -643,18 +646,18 @@ msgid ""
643
  "please click to restore.\"><span></span></a>)</nobr>"
644
  msgstr ""
645
 
646
- #: admin/includes/tab-settings.php:280
647
  msgid ""
648
  "<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
649
  msgstr ""
650
 
651
- #: admin/includes/tab-settings.php:291
652
  msgid ""
653
  "<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
654
  "extensions</dfn>"
655
  msgstr ""
656
 
657
- #: admin/includes/tab-settings.php:295
658
  msgid ""
659
  "<dfn title=\"Specify the capabilities to be verified. Depending on the "
660
  "particular type of uploader, certain capability may be required. Default is "
@@ -662,14 +665,14 @@ msgid ""
662
  "verification will be skipped if empty.\">Capabilities to be verified</dfn>"
663
  msgstr ""
664
 
665
- #: admin/includes/tab-settings.php:295
666
  msgid ""
667
  "(&thinsp;See &#8220;<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
668
  "Roles_and_Capabilities\" title=\"Roles and Capabilities &laquo; WordPress "
669
  "Codex\">Roles and Capabilities</a>&#8221;&thinsp;)"
670
  msgstr ""
671
 
672
- #: admin/includes/tab-settings.php:302
673
  msgid ""
674
  "<dfn title=\"It restricts the file types on upload in order to block malware "
675
  "and backdoor via both back-end and front-end. Please consider to select "
@@ -678,27 +681,27 @@ msgid ""
678
  "this validation.\">Prevent malicious file uploading</dfn>"
679
  msgstr ""
680
 
681
- #: admin/includes/tab-settings.php:313 admin/includes/tab-settings.php:494
682
- #: admin/includes/tab-settings.php:618 admin/includes/tab-settings.php:1231
683
  msgid "Disable"
684
  msgstr ""
685
 
686
- #: admin/includes/tab-settings.php:314
687
  msgid "Verify file extension and MIME type"
688
  msgstr ""
689
 
690
- #: admin/includes/tab-settings.php:315
691
  msgid "Verify file extension only"
692
  msgstr ""
693
 
694
- #: admin/includes/tab-settings.php:325
695
  #, php-format
696
  msgid ""
697
  "<dfn title=\"You can put your original 403.php and so on into your theme "
698
  "directory.\">Response code</dfn> %s"
699
  msgstr ""
700
 
701
- #: admin/includes/tab-settings.php:355 admin/includes/tab-settings.php:878
702
  msgid ""
703
  "<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
704
  "to a public facing page, visitors would not be blocked on the page to "
@@ -707,42 +710,42 @@ msgid ""
707
  "\">Redirect URL</dfn>"
708
  msgstr ""
709
 
710
- #: admin/includes/tab-settings.php:373 admin/includes/tab-settings.php:897
711
  msgid ""
712
  "<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
713
  "message</dfn>"
714
  msgstr ""
715
 
716
- #: admin/includes/tab-settings.php:390
717
  msgid ""
718
  "<dfn title=\"This is applied to &#8220;XML-RPC&#8221; and &#8220;Login "
719
  "form&#8221;. Lockout period is defined as expiration time at &#8220;Cache "
720
  "settings&#8221;.\">Max number of failed login attempts per IP address</dfn>"
721
  msgstr ""
722
 
723
- #: admin/includes/tab-settings.php:418
724
  msgid "Select when to run the validation."
725
  msgstr ""
726
 
727
- #: admin/includes/tab-settings.php:418
728
  msgid "Validation timing"
729
  msgstr ""
730
 
731
- #: admin/includes/tab-settings.php:429
732
  msgid "&#8220;init&#8221; action hook"
733
  msgstr ""
734
 
735
- #: admin/includes/tab-settings.php:430
736
  msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
737
  msgstr ""
738
 
739
- #: admin/includes/tab-settings.php:433
740
  msgid ""
741
  "Validate at &#8220;init&#8221; action hook in the same manner as typical "
742
  "plugins."
743
  msgstr ""
744
 
745
- #: admin/includes/tab-settings.php:434
746
  msgid ""
747
  "Validate at an earlier phase than other typical plugins. It can reduce load "
748
  "on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
@@ -750,68 +753,68 @@ msgid ""
750
  "restrictions</a>."
751
  msgstr ""
752
 
753
- #: admin/includes/tab-settings.php:444
754
  msgid "Back-end target settings"
755
  msgstr ""
756
 
757
- #: admin/includes/tab-settings.php:450
758
  #, php-format
759
  msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
760
  msgstr ""
761
 
762
- #: admin/includes/tab-settings.php:456
763
  msgid "Other areas"
764
  msgstr ""
765
 
766
- #: admin/includes/tab-settings.php:457
767
  msgid "public facing pages"
768
  msgstr ""
769
 
770
- #: admin/includes/tab-settings.php:475 admin/includes/tab-settings.php:495
771
- #: admin/includes/tab-settings.php:528 admin/includes/tab-settings.php:534
772
- #: admin/includes/tab-settings.php:779
773
  msgid "Block by country"
774
  msgstr ""
775
 
776
- #: admin/includes/tab-settings.php:496
777
  msgid "Completely close"
778
  msgstr ""
779
 
780
- #: admin/includes/tab-settings.php:529
781
  msgid ""
782
  "<dfn title=\"Specify the individual action as a blocking target.\">Target "
783
  "actions</dfn>"
784
  msgstr ""
785
 
786
- #: admin/includes/tab-settings.php:535
787
  msgid "Prevent Zero-day Exploit"
788
  msgstr ""
789
 
790
- #: admin/includes/tab-settings.php:539
791
  msgid ""
792
  "It will block a request related to the services for both public facing pages "
793
  "and the dashboard."
794
  msgstr ""
795
 
796
- #: admin/includes/tab-settings.php:540
797
  msgid ""
798
  "Regardless of the country code, it will block a malicious request related to "
799
  "the services only for the dashboard."
800
  msgstr ""
801
 
802
- #: admin/includes/tab-settings.php:563
803
  msgid "admin post for logged-in user"
804
  msgstr ""
805
 
806
- #: admin/includes/tab-settings.php:564
807
  msgid "admin post for non logged-in user"
808
  msgstr ""
809
 
810
- #: admin/includes/tab-settings.php:588
811
  msgid "Admin ajax/post"
812
  msgstr ""
813
 
814
- #: admin/includes/tab-settings.php:602
815
  msgid ""
816
  "Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
817
  "(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
@@ -819,33 +822,33 @@ msgid ""
819
  "Zero-day Exploit&#8221; (for logged-in user)."
820
  msgstr ""
821
 
822
- #: admin/includes/tab-settings.php:602 admin/includes/tab-settings.php:680
823
- #: admin/includes/tab-settings.php:741
824
  msgid "Exceptions"
825
  msgstr ""
826
 
827
- #: admin/includes/tab-settings.php:603
828
  msgid "Toggle with non logged-in user"
829
  msgstr ""
830
 
831
- #: admin/includes/tab-settings.php:606
832
  msgid "Candidate actions/pages"
833
  msgstr ""
834
 
835
- #: admin/includes/tab-settings.php:620
836
  #, php-format
837
  msgid ""
838
  "Regardless of the country code, it will block a malicious request to <code>"
839
  "%s&ctdot;/*.php</code>."
840
  msgstr ""
841
 
842
- #: admin/includes/tab-settings.php:621
843
  msgid ""
844
  "Select the item which causes unintended blocking in order to exclude from "
845
  "the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
846
  msgstr ""
847
 
848
- #: admin/includes/tab-settings.php:622
849
  #, php-format
850
  msgid ""
851
  "It configures &#8220;%s&#8221; to validate a request to the PHP file which "
@@ -853,31 +856,31 @@ msgid ""
853
  "files beginning with a dot by the server's configuration."
854
  msgstr ""
855
 
856
- #: admin/includes/tab-settings.php:623
857
  msgid "Sorry, but your server type is not supported."
858
  msgstr ""
859
 
860
- #: admin/includes/tab-settings.php:659 admin/includes/tab-settings.php:720
861
  msgid "Force to load WP core"
862
  msgstr ""
863
 
864
- #: admin/includes/tab-settings.php:664
865
  msgid "Plugins area"
866
  msgstr ""
867
 
868
- #: admin/includes/tab-settings.php:725
869
  msgid "Themes area"
870
  msgstr ""
871
 
872
- #: admin/includes/tab-settings.php:760
873
  msgid "Front-end target settings"
874
  msgstr ""
875
 
876
- #: admin/includes/tab-settings.php:784
877
  msgid "Follow &#8220;Validation rule settings&#8221;"
878
  msgstr ""
879
 
880
- #: admin/includes/tab-settings.php:846
881
  #, php-format
882
  msgid ""
883
  "<dfn title=\"You can configure a different response code from the Back-end. "
@@ -885,53 +888,53 @@ msgid ""
885
  "\">Response code</dfn> %s"
886
  msgstr ""
887
 
888
- #: admin/includes/tab-settings.php:912
889
  msgid ""
890
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
891
  msgstr ""
892
 
893
- #: admin/includes/tab-settings.php:924
894
  msgid ""
895
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
896
  "target.\">Post type</dfn>"
897
  msgstr ""
898
 
899
- #: admin/includes/tab-settings.php:936
900
  msgid ""
901
  "<dfn title=\"Specify the individual category on a single page or archive "
902
  "page as a blocking target.\">Category</dfn>"
903
  msgstr ""
904
 
905
- #: admin/includes/tab-settings.php:948
906
  msgid ""
907
  "<dfn title=\"Specify the individual tag on a single page or archive page as "
908
  "a blocking target.\">Tag</dfn>"
909
  msgstr ""
910
 
911
- #: admin/includes/tab-settings.php:963
912
  msgid "Specify the validation target on front-end."
913
  msgstr ""
914
 
915
- #: admin/includes/tab-settings.php:963
916
  msgid "Validation target"
917
  msgstr ""
918
 
919
- #: admin/includes/tab-settings.php:974
920
  msgid "All requests"
921
  msgstr ""
922
 
923
- #: admin/includes/tab-settings.php:975
924
  msgid "Specify the targets"
925
  msgstr ""
926
 
927
- #: admin/includes/tab-settings.php:978
928
  msgid ""
929
  "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
930
  "wp&#8221; action hook. It means that this feature would not be compatible "
931
  "with any page caching."
932
  msgstr ""
933
 
934
- #: admin/includes/tab-settings.php:988
935
  msgid ""
936
  "A part of user agent string and a qualification connected with a separator "
937
  "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
@@ -941,19 +944,19 @@ msgid ""
941
  "qualification&#8221;."
942
  msgstr ""
943
 
944
- #: admin/includes/tab-settings.php:988
945
  msgid "UA string and qualification"
946
  msgstr ""
947
 
948
- #: admin/includes/tab-settings.php:1007
949
  msgid "Specify the name of actions as exception that is invariably blocked."
950
  msgstr ""
951
 
952
- #: admin/includes/tab-settings.php:1007
953
  msgid "Excluded actions"
954
  msgstr ""
955
 
956
- #: admin/includes/tab-settings.php:1026
957
  msgid ""
958
  "It enables to verify the host by reverse DNS lookup which would spend some "
959
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
@@ -961,35 +964,35 @@ msgid ""
961
  "return &#8220;true&#8221;."
962
  msgstr ""
963
 
964
- #: admin/includes/tab-settings.php:1026
965
  msgid "DNS reverse lookup"
966
  msgstr ""
967
 
968
- #: admin/includes/tab-settings.php:1043
969
  msgid ""
970
  "It enables to simulate validation without deployment. The results can be "
971
  "found at &#8220;Public facing pages&#8221; in Logs."
972
  msgstr ""
973
 
974
- #: admin/includes/tab-settings.php:1043
975
  msgid "Simulation mode"
976
  msgstr ""
977
 
978
- #: admin/includes/tab-settings.php:1061
979
  msgid "Geolocation API settings"
980
  msgstr ""
981
 
982
- #: admin/includes/tab-settings.php:1070
983
  msgid ""
984
  "<dfn title=\"Cache and local database are scanned at the top priority.\">API "
985
  "selection and key settings</dfn>"
986
  msgstr ""
987
 
988
- #: admin/includes/tab-settings.php:1089
989
  msgid "Timeout for network API [sec]"
990
  msgstr ""
991
 
992
- #: admin/includes/tab-settings.php:1109
993
  #, php-format
994
  msgid ""
995
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
@@ -1004,128 +1007,128 @@ msgid ""
1004
  "troubles? | IP Geo Block\">this instruction</a>."
1005
  msgstr ""
1006
 
1007
- #: admin/includes/tab-settings.php:1116
1008
  msgid "Local database settings"
1009
  msgstr ""
1010
 
1011
- #: admin/includes/tab-settings.php:1130
1012
  msgid "database"
1013
  msgstr ""
1014
 
1015
- #: admin/includes/tab-settings.php:1131 classes/class-ip-geo-block-cron.php:430
1016
  #, php-format
1017
  msgid "Last update: %s"
1018
  msgstr ""
1019
 
1020
- #: admin/includes/tab-settings.php:1140
1021
  msgid "Auto updating (once a month)"
1022
  msgstr ""
1023
 
1024
- #: admin/includes/tab-settings.php:1157
1025
  msgid "Download database"
1026
  msgstr ""
1027
 
1028
- #: admin/includes/tab-settings.php:1165
1029
  msgid "Download now"
1030
  msgstr ""
1031
 
1032
- #: admin/includes/tab-settings.php:1176
1033
  msgid "Statistics and Logs settings"
1034
  msgstr ""
1035
 
1036
- #: admin/includes/tab-settings.php:1185
1037
  msgid "Record &#8220;Statistics&#8221;"
1038
  msgstr ""
1039
 
1040
- #: admin/includes/tab-settings.php:1202
1041
  msgid "Maximum period for &#8220;Statistics&#8221; (days)"
1042
  msgstr ""
1043
 
1044
- #: admin/includes/tab-settings.php:1220
1045
  msgid "Record &#8220;Logs&#8221;"
1046
  msgstr ""
1047
 
1048
- #: admin/includes/tab-settings.php:1232
1049
  msgid "When requests blocked"
1050
  msgstr ""
1051
 
1052
- #: admin/includes/tab-settings.php:1233
1053
  msgid "When requests passed"
1054
  msgstr ""
1055
 
1056
- #: admin/includes/tab-settings.php:1234
1057
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1058
  msgstr ""
1059
 
1060
- #: admin/includes/tab-settings.php:1235
1061
  msgid "Unauthenticated visitor"
1062
  msgstr ""
1063
 
1064
- #: admin/includes/tab-settings.php:1236
1065
  msgid "Authenticated user"
1066
  msgstr ""
1067
 
1068
- #: admin/includes/tab-settings.php:1237
1069
  msgid "All the validation"
1070
  msgstr ""
1071
 
1072
- #: admin/includes/tab-settings.php:1246
1073
  msgid "Maximum entries of &#8220;Logs&#8221;"
1074
  msgstr ""
1075
 
1076
- #: admin/includes/tab-settings.php:1263
1077
  msgid ""
1078
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1079
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
1080
  msgstr ""
1081
 
1082
- #: admin/includes/tab-settings.php:1281
1083
  msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
1084
  msgstr ""
1085
 
1086
- #: admin/includes/tab-settings.php:1298
1087
  msgid ""
1088
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1089
  "&#8220;Live update&#8221;</dfn>"
1090
  msgstr ""
1091
 
1092
- #: admin/includes/tab-settings.php:1310
1093
  msgid "Ordinary file"
1094
  msgstr ""
1095
 
1096
- #: admin/includes/tab-settings.php:1311
1097
  msgid "In-Memory"
1098
  msgstr ""
1099
 
1100
- #: admin/includes/tab-settings.php:1314
1101
  msgid "PDO_SQLITE driver not available"
1102
  msgstr ""
1103
 
1104
- #: admin/includes/tab-settings.php:1315
1105
  msgid ""
1106
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1107
  "without conflict with other plugins."
1108
  msgstr ""
1109
 
1110
- #: admin/includes/tab-settings.php:1316
1111
  msgid ""
1112
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1113
  "with other plugins using this method."
1114
  msgstr ""
1115
 
1116
- #: admin/includes/tab-settings.php:1325
1117
  msgid "Reset database source of &#8220;Live update&#8221;"
1118
  msgstr ""
1119
 
1120
- #: admin/includes/tab-settings.php:1333
1121
  msgid "Reset now"
1122
  msgstr ""
1123
 
1124
- #: admin/includes/tab-settings.php:1344
1125
  msgid "IP address cache settings"
1126
  msgstr ""
1127
 
1128
- #: admin/includes/tab-settings.php:1353
1129
  #, php-format
1130
  msgid ""
1131
  "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
@@ -1133,121 +1136,121 @@ msgid ""
1133
  "\">Expiration time [sec]</dfn>"
1134
  msgstr ""
1135
 
1136
- #: admin/includes/tab-settings.php:1369
1137
  msgid "Garbage collection period [sec]"
1138
  msgstr ""
1139
 
1140
- #: admin/includes/tab-settings.php:1386
1141
  msgid "Number of entries to be displayed in cache"
1142
  msgstr ""
1143
 
1144
- #: admin/includes/tab-settings.php:1404
1145
  msgid "Submission settings"
1146
  msgstr ""
1147
 
1148
- #: admin/includes/tab-settings.php:1416
1149
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1150
  msgstr ""
1151
 
1152
- #: admin/includes/tab-settings.php:1416
1153
  msgid "Message on comment form"
1154
  msgstr ""
1155
 
1156
- #: admin/includes/tab-settings.php:1428
1157
  msgid "None"
1158
  msgstr ""
1159
 
1160
- #: admin/includes/tab-settings.php:1429
1161
  msgid "Top"
1162
  msgstr ""
1163
 
1164
- #: admin/includes/tab-settings.php:1430
1165
  msgid "Bottom"
1166
  msgstr ""
1167
 
1168
- #: admin/includes/tab-settings.php:1441
1169
  msgid "Plugin settings"
1170
  msgstr ""
1171
 
1172
- #: admin/includes/tab-settings.php:1454
1173
  msgid ""
1174
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1175
  "settings</dfn>"
1176
  msgstr ""
1177
 
1178
- #: admin/includes/tab-settings.php:1472
1179
  msgid "Remove all settings at uninstallation"
1180
  msgstr ""
1181
 
1182
- #: admin/includes/tab-settings.php:1490
1183
  msgid ""
1184
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1185
  "dfn>"
1186
  msgstr ""
1187
 
1188
- #: admin/includes/tab-settings.php:1504
1189
  msgid ""
1190
  "You need to click the &#8220;Save Changes&#8221; button for imported "
1191
  "settings to take effect."
1192
  msgstr ""
1193
 
1194
- #: admin/includes/tab-settings.php:1510
1195
  msgid "Export / Import settings"
1196
  msgstr ""
1197
 
1198
- #: admin/includes/tab-settings.php:1517
1199
  msgid "Export settings"
1200
  msgstr ""
1201
 
1202
- #: admin/includes/tab-settings.php:1518
1203
  msgid "Import from the local file"
1204
  msgstr ""
1205
 
1206
- #: admin/includes/tab-settings.php:1518
1207
  msgid "Import settings"
1208
  msgstr ""
1209
 
1210
- #: admin/includes/tab-settings.php:1527
1211
  msgid "Import pre-defined settings"
1212
  msgstr ""
1213
 
1214
- #: admin/includes/tab-settings.php:1534
1215
  msgid ""
1216
  "Import the default settings to revert to the &#8220;Right after "
1217
  "installing&#8221; state"
1218
  msgstr ""
1219
 
1220
- #: admin/includes/tab-settings.php:1534
1221
  msgid "Default settings"
1222
  msgstr ""
1223
 
1224
- #: admin/includes/tab-settings.php:1535
1225
  msgid ""
1226
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1227
  "for the &#8220;Back-end target settings&#8221;"
1228
  msgstr ""
1229
 
1230
- #: admin/includes/tab-settings.php:1535
1231
  msgid "Best for Back-end"
1232
  msgstr ""
1233
 
1234
- #: admin/includes/tab-settings.php:1545
1235
  msgid "Delete DB table for validation logs"
1236
  msgstr ""
1237
 
1238
- #: admin/includes/tab-settings.php:1553
1239
  msgid "Delete now"
1240
  msgstr ""
1241
 
1242
- #: admin/includes/tab-settings.php:1561
1243
  msgid "Create DB table for validation logs"
1244
  msgstr ""
1245
 
1246
- #: admin/includes/tab-settings.php:1569
1247
  msgid "Create now"
1248
  msgstr ""
1249
 
1250
- #: admin/includes/tab-settings.php:1579
1251
  msgid ""
1252
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1253
  "button to find the blocked request in the dumped information which may help "
@@ -1256,15 +1259,15 @@ msgid ""
1256
  "&#8250; Support &raquo; IP Geo Block\">support forum</a> ]"
1257
  msgstr ""
1258
 
1259
- #: admin/includes/tab-settings.php:1586
1260
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1261
  msgstr ""
1262
 
1263
- #: admin/includes/tab-settings.php:1586
1264
  msgid "Show information"
1265
  msgstr ""
1266
 
1267
- #: admin/includes/tab-settings.php:1602
1268
  msgid ""
1269
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1270
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
@@ -1272,7 +1275,7 @@ msgid ""
1272
  "\">The best practice for target settings</a>&#8221;."
1273
  msgstr ""
1274
 
1275
- #: admin/includes/tab-settings.php:1603
1276
  msgid ""
1277
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1278
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
@@ -1281,25 +1284,25 @@ msgid ""
1281
  "\">Codex</a>."
1282
  msgstr ""
1283
 
1284
- #: admin/includes/tab-settings.php:1610
1285
  msgid ""
1286
  "While Maxmind and IP2Location will fetch the local database, others will "
1287
  "pass an IP address to the APIs via HTTP."
1288
  msgstr ""
1289
 
1290
- #: admin/includes/tab-settings.php:1611
1291
  msgid ""
1292
  "Please select the appropriate APIs to fit the privacy law in your country."
1293
  msgstr ""
1294
 
1295
- #: admin/includes/tab-settings.php:1620
1296
  #, php-format
1297
  msgid ""
1298
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1299
  "2.0.0+%s."
1300
  msgstr ""
1301
 
1302
- #: admin/includes/tab-settings.php:1628
1303
  msgid ""
1304
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1305
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
@@ -1307,7 +1310,7 @@ msgid ""
1307
  "cache plugin."
1308
  msgstr ""
1309
 
1310
- #: admin/includes/tab-settings.php:1629
1311
  msgid ""
1312
  "If you find any issues or have something to suggest, please feel free to "
1313
  "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
@@ -1315,7 +1318,7 @@ msgid ""
1315
  "\">support forum</a>."
1316
  msgstr ""
1317
 
1318
- #: admin/includes/tab-settings.php:1636
1319
  msgid ""
1320
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1321
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
@@ -1402,23 +1405,17 @@ msgstr ""
1402
  msgid "Toggle sorting order"
1403
  msgstr ""
1404
 
1405
- #: admin/includes/tab-statistics.php:392
1406
- msgid ""
1407
- "[<strong>Record validation statistics</strong>] on [<strong>Settings</"
1408
- "strong>] tab is not selected as [<strong>Enable</strong>]."
1409
  msgstr ""
1410
 
1411
- #: admin/includes/tab-statistics.php:393
1412
  msgid ""
1413
  "Please set the proper condition to record and analyze the validation "
1414
  "statistics."
1415
  msgstr ""
1416
 
1417
- #: admin/includes/tab-statistics.php:398
1418
- msgid ""
1419
- "Please set the proper condition to record and analyze the validation logs."
1420
- msgstr ""
1421
-
1422
  #: classes/class-ip-geo-block-apis.php:653
1423
  msgid ""
1424
  "You need to select at least one IP geolocation service. Otherwise "
2
  # This file is distributed under the same license as the IP Geo Block package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: IP Geo Block 3.0.9\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ip-geo-block\n"
7
+ "POT-Creation-Date: 2018-03-04 16:21+0900\n"
8
+ "PO-Revision-Date: 2018-03-04 16:21+0900\n"
9
+ "Last-Translator: tokkonopapa <tokkonopapa@yahoo.com>\n"
10
  "Language-Team: \n"
11
+ "Language: en_001\n"
12
  "MIME-Version: 1.0\n"
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
18
  "X-Poedit-Basepath: ..\n"
19
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20
  "X-Poedit-SourceCharset: UTF-8\n"
 
 
21
  "X-Poedit-SearchPath-0: .\n"
22
 
23
  #. Description of the plugin/theme
77
  msgstr ""
78
 
79
  #: admin/class-ip-geo-block-admin.php:278
80
+ #: admin/class-ip-geo-block-admin.php:1428
81
  #, php-format
82
  msgid "An error occurred while executing the ajax command `%s`."
83
  msgstr ""
148
 
149
  #: admin/class-ip-geo-block-admin.php:336
150
  #: admin/class-ip-geo-block-admin.php:444
151
+ #: admin/class-ip-geo-block-admin.php:663
152
+ #: admin/class-ip-geo-block-admin.php:682
153
  msgid "Settings"
154
  msgstr ""
155
 
163
  msgstr ""
164
 
165
  #: admin/class-ip-geo-block-admin.php:452
166
+ #: admin/class-ip-geo-block-admin.php:667
167
+ #: admin/class-ip-geo-block-admin.php:683
168
  msgid "Site List"
169
  msgstr ""
170
 
171
+ #: admin/class-ip-geo-block-admin.php:482
172
  msgid "You need WordPress 3.7+."
173
  msgstr ""
174
 
175
+ #: admin/class-ip-geo-block-admin.php:488
176
  #, php-format
177
  msgid ""
178
  "Now downloading geolocation databases in background. After a little while, "
180
  "strong>&#8221; at <a href=\"%s\">Validation rule settings</a>."
181
  msgstr ""
182
 
183
+ #: admin/class-ip-geo-block-admin.php:494
184
  #, php-format
185
  msgid ""
186
  "The &#8220;<strong>Matching rule</strong>&#8221; is not set properly. Please "
187
  "confirm it at <a href=\"%s\">Validation rule settings</a>."
188
  msgstr ""
189
 
190
+ #: admin/class-ip-geo-block-admin.php:503
191
  msgid "Local database and matching rule have been updated."
192
  msgstr ""
193
 
194
+ #: admin/class-ip-geo-block-admin.php:514
195
  msgid ""
196
  "Once you logout, you will be unable to login again because the number of "
197
  "login attempts reaches the limit."
198
  msgstr ""
199
 
200
+ #: admin/class-ip-geo-block-admin.php:516
201
  #, php-format
202
  msgid ""
203
  "Please execute \"<strong>Clear cache</strong>\" on <a href=\"%s\">Statistics "
204
  "tab</a> to prevent locking yourself out."
205
  msgstr ""
206
 
207
+ #: admin/class-ip-geo-block-admin.php:526
208
  msgid ""
209
  "Once you logout, you will be unable to login again because your country code "
210
  "or IP address is in the blacklist."
211
  msgstr ""
212
 
213
+ #: admin/class-ip-geo-block-admin.php:527
214
  msgid ""
215
  "Once you logout, you will be unable to login again because your country code "
216
  "or IP address is not in the whitelist."
217
  msgstr ""
218
 
219
+ #: admin/class-ip-geo-block-admin.php:531
220
  #, php-format
221
  msgid "Please check your &#8220;%sValidation rule settings%s&#8221;."
222
  msgstr ""
223
 
224
+ #: admin/class-ip-geo-block-admin.php:535
225
  #, php-format
226
  msgid ""
227
  "Please confirm your local geolocation databases at &#8220;%sLocal database "
229
  "%sStatistics in cache%s&#8221; section."
230
  msgstr ""
231
 
232
+ #: admin/class-ip-geo-block-admin.php:548
233
  msgid ""
234
  "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php) at &#8220;Validation "
235
  "timing&#8221; is imcompatible with <strong>IP Geo Allow</strong>. Please "
236
  "select &#8220;init&#8221; action hook."
237
  msgstr ""
238
 
239
+ #: admin/class-ip-geo-block-admin.php:664
240
  msgid "Statistics"
241
  msgstr ""
242
 
243
+ #: admin/class-ip-geo-block-admin.php:665
244
  msgid "Logs"
245
  msgstr ""
246
 
247
+ #: admin/class-ip-geo-block-admin.php:666
248
  msgid "Search"
249
  msgstr ""
250
 
251
+ #: admin/class-ip-geo-block-admin.php:668
252
  msgid "Attribution"
253
  msgstr ""
254
 
255
+ #: admin/class-ip-geo-block-admin.php:694
256
  msgid "Network wide"
257
  msgstr ""
258
 
259
+ #: admin/class-ip-geo-block-admin.php:707
260
  msgid "Toggle all"
261
  msgstr ""
262
 
263
+ #: admin/class-ip-geo-block-admin.php:710
264
  msgid ""
265
  "Independent of &#8220;Statistics and Logs settings&#8221;, you can see all "
266
  "the requests validated by this plugin in almost real time."
267
  msgstr ""
268
 
269
+ #: admin/class-ip-geo-block-admin.php:710 admin/includes/tab-accesslog.php:39
270
  msgid "Live update"
271
  msgstr ""
272
 
273
+ #: admin/class-ip-geo-block-admin.php:714
274
  msgid "Open a new window on clicking the link in the chart."
275
  msgstr ""
276
 
277
+ #: admin/class-ip-geo-block-admin.php:714
278
  msgid "Open a new window"
279
  msgstr ""
280
 
281
+ #: admin/class-ip-geo-block-admin.php:737
282
  msgid "Thanks for providing these great services for free."
283
  msgstr ""
284
 
285
+ #: admin/class-ip-geo-block-admin.php:738
286
  msgid ""
287
  "(Most browsers will redirect you to each site <a href=\"http://www."
288
  "ipgeoblock.com/etc/referer.html\" title=\"Referer Checker\">without referrer "
289
  "when you click the link</a>.)"
290
  msgstr ""
291
 
292
+ #: admin/class-ip-geo-block-admin.php:743
293
  msgid "Back to top"
294
  msgstr ""
295
 
296
+ #: admin/class-ip-geo-block-admin.php:840
297
  msgid "Enable"
298
  msgstr ""
299
 
300
+ #: admin/class-ip-geo-block-admin.php:855
301
  msgid "Select one"
302
  msgstr ""
303
 
304
+ #: admin/class-ip-geo-block-admin.php:1251
305
  #: admin/includes/class-admin-rewrite.php:194
306
  #: classes/class-ip-geo-block-cron.php:228
307
  #: classes/class-ip-geo-block-cron.php:332
311
  msgid "Unable to write <code>%s</code>. Please check the permission."
312
  msgstr ""
313
 
314
+ #: admin/class-ip-geo-block-admin.php:1281
315
  msgid "Settings saved."
316
  msgstr ""
317
 
319
  msgid "n/a"
320
  msgstr ""
321
 
322
+ #: admin/includes/class-admin-ajax.php:77 admin/includes/tab-settings.php:75
323
+ #: admin/includes/tab-settings.php:95
324
  msgid "UNKNOWN"
325
  msgstr ""
326
 
352
  msgid "Validation logs"
353
  msgstr ""
354
 
355
+ #: admin/includes/tab-accesslog.php:54 admin/includes/tab-settings.php:454
356
  msgid "Comment post"
357
  msgstr ""
358
 
359
+ #: admin/includes/tab-accesslog.php:55 admin/includes/tab-settings.php:455
360
  msgid "XML-RPC"
361
  msgstr ""
362
 
363
+ #: admin/includes/tab-accesslog.php:56 admin/includes/tab-settings.php:456
364
  msgid "Login form"
365
  msgstr ""
366
 
367
+ #: admin/includes/tab-accesslog.php:57 admin/includes/tab-settings.php:457
368
  msgid "Admin area"
369
  msgstr ""
370
 
371
+ #: admin/includes/tab-accesslog.php:58 admin/includes/tab-settings.php:459
372
  msgid "Public facing pages"
373
  msgstr ""
374
 
375
+ #: admin/includes/tab-accesslog.php:61 admin/includes/tab-network.php:76
376
  msgid "All"
377
  msgstr ""
378
 
379
+ #: admin/includes/tab-accesslog.php:71
380
  msgid "Select target"
381
  msgstr ""
382
 
383
+ #: admin/includes/tab-accesslog.php:87
384
  msgid "Search in logs"
385
  msgstr ""
386
 
387
+ #: admin/includes/tab-accesslog.php:96 admin/includes/tab-statistics.php:235
388
  msgid "Reset"
389
  msgstr ""
390
 
391
+ #: admin/includes/tab-accesslog.php:104 admin/includes/tab-statistics.php:242
392
  msgid "Bulk action"
393
  msgstr ""
394
 
395
+ #: admin/includes/tab-accesslog.php:115 admin/includes/tab-statistics.php:254
396
  msgid "Add IP address to &#8220;Whitelist&#8221;"
397
  msgstr ""
398
 
399
+ #: admin/includes/tab-accesslog.php:116 admin/includes/tab-statistics.php:255
400
  msgid "Add IP address to &#8220;Blacklist&#8221;"
401
  msgstr ""
402
 
403
+ #: admin/includes/tab-accesslog.php:117 admin/includes/tab-statistics.php:256
404
  msgid "Add AS number to &#8220;Whitelist&#8221;"
405
  msgstr ""
406
 
407
+ #: admin/includes/tab-accesslog.php:118 admin/includes/tab-statistics.php:257
408
  msgid "Add AS number to &#8220;Blacklist&#8221;"
409
  msgstr ""
410
 
411
+ #: admin/includes/tab-accesslog.php:120 admin/includes/tab-network.php:56
412
  #: admin/includes/tab-statistics.php:259
413
  msgid "Apply"
414
  msgstr ""
415
 
416
+ #: admin/includes/tab-accesslog.php:128 admin/includes/tab-statistics.php:198
417
  msgid "Clear logs"
418
  msgstr ""
419
 
420
+ #: admin/includes/tab-accesslog.php:136 admin/includes/tab-statistics.php:173
421
  #: admin/includes/tab-statistics.php:206 admin/includes/tab-statistics.php:274
422
  msgid "Clear all"
423
  msgstr ""
424
 
425
+ #: admin/includes/tab-accesslog.php:146
426
  msgid "Export logs"
427
  msgstr ""
428
 
429
+ #: admin/includes/tab-accesslog.php:152 admin/includes/tab-settings.php:1519
430
  msgid "Export to the local file"
431
  msgstr ""
432
 
433
+ #: admin/includes/tab-accesslog.php:152
434
  msgid "Export csv"
435
  msgstr ""
436
 
437
+ #: admin/includes/tab-accesslog.php:173 admin/includes/tab-network.php:114
438
+ #: admin/includes/tab-statistics.php:401
439
+ #, php-format
440
+ msgid "[ %sRecord &#8220;Logs&#8221;%s ] is desabled."
 
441
  msgstr ""
442
 
443
+ #: admin/includes/tab-accesslog.php:174 admin/includes/tab-network.php:115
444
+ #: admin/includes/tab-statistics.php:402
445
  msgid ""
446
+ "Please set the proper condition to record and analyze the validation logs."
447
  msgstr ""
448
 
449
  #: admin/includes/tab-attribution.php:16
502
  msgid "Validation rule settings"
503
  msgstr ""
504
 
505
+ #: admin/includes/tab-settings.php:67
506
  msgid ""
507
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
508
  "code by referring &#8220;Scan country code&#8221;.\">Your IP address / "
509
  "Country</dfn>"
510
  msgstr ""
511
 
512
+ #: admin/includes/tab-settings.php:76 admin/includes/tab-settings.php:96
513
  msgid "Scan all the APIs you selected at Geolocation API settings"
514
  msgstr ""
515
 
516
+ #: admin/includes/tab-settings.php:76 admin/includes/tab-settings.php:96
517
  msgid "Scan country code"
518
  msgstr ""
519
 
520
+ #: admin/includes/tab-settings.php:87
521
  msgid ""
522
  "<dfn title=\"You can confirm the appropriate Geolocation APIs and country "
523
  "code by referring &#8220;Scan country code&#8221;.\">Server IP address / "
524
  "Country</dfn>"
525
  msgstr ""
526
 
527
+ #: admin/includes/tab-settings.php:104
528
  msgid "Whitelist"
529
  msgstr ""
530
 
531
+ #: admin/includes/tab-settings.php:105
532
  msgid "Blacklist"
533
  msgstr ""
534
 
535
+ #: admin/includes/tab-settings.php:109
536
  msgid ""
537
  "Please select either &#8220;Whitelist&#8221; or &#8220;Blacklist&#8221;."
538
  msgstr ""
539
 
540
+ #: admin/includes/tab-settings.php:110
541
  msgid ""
542
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
543
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
547
  "country code</dfn>"
548
  msgstr ""
549
 
550
+ #: admin/includes/tab-settings.php:111
551
  msgid ""
552
  "<dfn title=\"&#8220;Block by country&#8221; will be bypassed in case of "
553
  "empty. The special code &#8220;XX&#8221; is assigned as private IP address "
557
  "country code</dfn>"
558
  msgstr ""
559
 
560
+ #: admin/includes/tab-settings.php:115
561
  msgid "(comma separated)"
562
  msgstr ""
563
 
564
+ #: admin/includes/tab-settings.php:116
565
  msgid "(comma or RET separated)"
566
  msgstr ""
567
 
568
+ #: admin/includes/tab-settings.php:117
569
  msgid "Toggle selection"
570
  msgstr ""
571
 
572
+ #: admin/includes/tab-settings.php:118
573
  msgid "Find blocked requests in &#8220;Logs&#8220;"
574
  msgstr ""
575
 
576
+ #: admin/includes/tab-settings.php:119
577
  msgid ""
578
  "Before adding as &#8220;Exception&#8221;, please click on &#8220;<a class="
579
  "\"ip-geo-block-icon ip-geo-block-icon-alert\" title=\"This button is just a "
581
  "following list to confirm that the blocked request is not malicious."
582
  msgstr ""
583
 
584
+ #: admin/includes/tab-settings.php:120
585
+ msgid "Open CIDR calculator for IPv4 / IPv6"
586
+ msgstr ""
587
+
588
+ #: admin/includes/tab-settings.php:127 admin/includes/tab-settings.php:793
589
  msgid "Matching rule"
590
  msgstr ""
591
 
610
 
611
  #: admin/includes/tab-settings.php:197
612
  #, php-format
613
+ msgid "Some useful tools to find ASN are introduced in &#8220;%s&#8221;."
 
614
  msgstr ""
615
 
616
  #: admin/includes/tab-settings.php:206
620
  "for Facebook.\">Whitelist of extra IP addresses prior to country code</dfn>"
621
  msgstr ""
622
 
623
+ #: admin/includes/tab-settings.php:227
624
  msgid ""
625
  "<dfn title=\"Server level access control is recommended (e.g. .htaccess)."
626
  "\">Blacklist of extra IP addresses prior to country code</dfn>"
627
  msgstr ""
628
 
629
+ #: admin/includes/tab-settings.php:249
630
  msgid ""
631
  "<dfn title=\"If your server is placed behind the proxy server or the load "
632
  "balancing server, you need to put the appropriate key such as &#8220;"
635
  "addresses</dfn>"
636
  msgstr ""
637
 
638
+ #: admin/includes/tab-settings.php:268
639
  msgid ""
640
  "<dfn title=\"It validates malicious signatures independently of &#8220;Block "
641
  "by country&#8221; and &#8220;Prevent Zero-day Exploit&#8221; for the target "
646
  "please click to restore.\"><span></span></a>)</nobr>"
647
  msgstr ""
648
 
649
+ #: admin/includes/tab-settings.php:282
650
  msgid ""
651
  "<dfn title=\"Select allowed MIME type.\">Whitelist of allowed MIME type</dfn>"
652
  msgstr ""
653
 
654
+ #: admin/includes/tab-settings.php:293
655
  msgid ""
656
  "<dfn title=\"Put forbidden file extensions.\">Blacklist of forbidden file "
657
  "extensions</dfn>"
658
  msgstr ""
659
 
660
+ #: admin/includes/tab-settings.php:297
661
  msgid ""
662
  "<dfn title=\"Specify the capabilities to be verified. Depending on the "
663
  "particular type of uploader, certain capability may be required. Default is "
665
  "verification will be skipped if empty.\">Capabilities to be verified</dfn>"
666
  msgstr ""
667
 
668
+ #: admin/includes/tab-settings.php:297
669
  msgid ""
670
  "(&thinsp;See &#8220;<a rel=\"noreferrer\" href=\"https://codex.wordpress.org/"
671
  "Roles_and_Capabilities\" title=\"Roles and Capabilities &laquo; WordPress "
672
  "Codex\">Roles and Capabilities</a>&#8221;&thinsp;)"
673
  msgstr ""
674
 
675
+ #: admin/includes/tab-settings.php:304
676
  msgid ""
677
  "<dfn title=\"It restricts the file types on upload in order to block malware "
678
  "and backdoor via both back-end and front-end. Please consider to select "
681
  "this validation.\">Prevent malicious file uploading</dfn>"
682
  msgstr ""
683
 
684
+ #: admin/includes/tab-settings.php:315 admin/includes/tab-settings.php:496
685
+ #: admin/includes/tab-settings.php:620 admin/includes/tab-settings.php:1233
686
  msgid "Disable"
687
  msgstr ""
688
 
689
+ #: admin/includes/tab-settings.php:316
690
  msgid "Verify file extension and MIME type"
691
  msgstr ""
692
 
693
+ #: admin/includes/tab-settings.php:317
694
  msgid "Verify file extension only"
695
  msgstr ""
696
 
697
+ #: admin/includes/tab-settings.php:327
698
  #, php-format
699
  msgid ""
700
  "<dfn title=\"You can put your original 403.php and so on into your theme "
701
  "directory.\">Response code</dfn> %s"
702
  msgstr ""
703
 
704
+ #: admin/includes/tab-settings.php:357 admin/includes/tab-settings.php:880
705
  msgid ""
706
  "<dfn title=\"Specify the URL for response code 2xx and 3xx. If it is pointed "
707
  "to a public facing page, visitors would not be blocked on the page to "
710
  "\">Redirect URL</dfn>"
711
  msgstr ""
712
 
713
+ #: admin/includes/tab-settings.php:375 admin/includes/tab-settings.php:899
714
  msgid ""
715
  "<dfn title=\"Specify the message for response code 4xx and 5xx.\">Response "
716
  "message</dfn>"
717
  msgstr ""
718
 
719
+ #: admin/includes/tab-settings.php:392
720
  msgid ""
721
  "<dfn title=\"This is applied to &#8220;XML-RPC&#8221; and &#8220;Login "
722
  "form&#8221;. Lockout period is defined as expiration time at &#8220;Cache "
723
  "settings&#8221;.\">Max number of failed login attempts per IP address</dfn>"
724
  msgstr ""
725
 
726
+ #: admin/includes/tab-settings.php:420
727
  msgid "Select when to run the validation."
728
  msgstr ""
729
 
730
+ #: admin/includes/tab-settings.php:420
731
  msgid "Validation timing"
732
  msgstr ""
733
 
734
+ #: admin/includes/tab-settings.php:431
735
  msgid "&#8220;init&#8221; action hook"
736
  msgstr ""
737
 
738
+ #: admin/includes/tab-settings.php:432
739
  msgid "&#8220;mu-plugins&#8221; (ip-geo-block-mu.php)"
740
  msgstr ""
741
 
742
+ #: admin/includes/tab-settings.php:435
743
  msgid ""
744
  "Validate at &#8220;init&#8221; action hook in the same manner as typical "
745
  "plugins."
746
  msgstr ""
747
 
748
+ #: admin/includes/tab-settings.php:436
749
  msgid ""
750
  "Validate at an earlier phase than other typical plugins. It can reduce load "
751
  "on server but has <a rel='noreferrer' href='http://www.ipgeoblock.com/codex/"
753
  "restrictions</a>."
754
  msgstr ""
755
 
756
+ #: admin/includes/tab-settings.php:446
757
  msgid "Back-end target settings"
758
  msgstr ""
759
 
760
+ #: admin/includes/tab-settings.php:452
761
  #, php-format
762
  msgid "<dfn title=\"Validate request to %s.\">%s</dfn>"
763
  msgstr ""
764
 
765
+ #: admin/includes/tab-settings.php:458
766
  msgid "Other areas"
767
  msgstr ""
768
 
769
+ #: admin/includes/tab-settings.php:459
770
  msgid "public facing pages"
771
  msgstr ""
772
 
773
+ #: admin/includes/tab-settings.php:477 admin/includes/tab-settings.php:497
774
+ #: admin/includes/tab-settings.php:530 admin/includes/tab-settings.php:536
775
+ #: admin/includes/tab-settings.php:781
776
  msgid "Block by country"
777
  msgstr ""
778
 
779
+ #: admin/includes/tab-settings.php:498
780
  msgid "Completely close"
781
  msgstr ""
782
 
783
+ #: admin/includes/tab-settings.php:531
784
  msgid ""
785
  "<dfn title=\"Specify the individual action as a blocking target.\">Target "
786
  "actions</dfn>"
787
  msgstr ""
788
 
789
+ #: admin/includes/tab-settings.php:537
790
  msgid "Prevent Zero-day Exploit"
791
  msgstr ""
792
 
793
+ #: admin/includes/tab-settings.php:541
794
  msgid ""
795
  "It will block a request related to the services for both public facing pages "
796
  "and the dashboard."
797
  msgstr ""
798
 
799
+ #: admin/includes/tab-settings.php:542
800
  msgid ""
801
  "Regardless of the country code, it will block a malicious request related to "
802
  "the services only for the dashboard."
803
  msgstr ""
804
 
805
+ #: admin/includes/tab-settings.php:565
806
  msgid "admin post for logged-in user"
807
  msgstr ""
808
 
809
+ #: admin/includes/tab-settings.php:566
810
  msgid "admin post for non logged-in user"
811
  msgstr ""
812
 
813
+ #: admin/includes/tab-settings.php:590
814
  msgid "Admin ajax/post"
815
  msgstr ""
816
 
817
+ #: admin/includes/tab-settings.php:604
818
  msgid ""
819
  "Specify the action name (&#8220;action=&hellip;&#8221;) or the page name "
820
  "(&#8220;page=&hellip;&#8221;) to prevent unintended blocking caused by "
822
  "Zero-day Exploit&#8221; (for logged-in user)."
823
  msgstr ""
824
 
825
+ #: admin/includes/tab-settings.php:604 admin/includes/tab-settings.php:682
826
+ #: admin/includes/tab-settings.php:743
827
  msgid "Exceptions"
828
  msgstr ""
829
 
830
+ #: admin/includes/tab-settings.php:605
831
  msgid "Toggle with non logged-in user"
832
  msgstr ""
833
 
834
+ #: admin/includes/tab-settings.php:608
835
  msgid "Candidate actions/pages"
836
  msgstr ""
837
 
838
+ #: admin/includes/tab-settings.php:622
839
  #, php-format
840
  msgid ""
841
  "Regardless of the country code, it will block a malicious request to <code>"
842
  "%s&ctdot;/*.php</code>."
843
  msgstr ""
844
 
845
+ #: admin/includes/tab-settings.php:623
846
  msgid ""
847
  "Select the item which causes unintended blocking in order to exclude from "
848
  "the validation target. Grayed item indicates &#8220;INACTIVE&#8221;."
849
  msgstr ""
850
 
851
+ #: admin/includes/tab-settings.php:624
852
  #, php-format
853
  msgid ""
854
  "It configures &#8220;%s&#8221; to validate a request to the PHP file which "
856
  "files beginning with a dot by the server's configuration."
857
  msgstr ""
858
 
859
+ #: admin/includes/tab-settings.php:625
860
  msgid "Sorry, but your server type is not supported."
861
  msgstr ""
862
 
863
+ #: admin/includes/tab-settings.php:661 admin/includes/tab-settings.php:722
864
  msgid "Force to load WP core"
865
  msgstr ""
866
 
867
+ #: admin/includes/tab-settings.php:666
868
  msgid "Plugins area"
869
  msgstr ""
870
 
871
+ #: admin/includes/tab-settings.php:727
872
  msgid "Themes area"
873
  msgstr ""
874
 
875
+ #: admin/includes/tab-settings.php:762
876
  msgid "Front-end target settings"
877
  msgstr ""
878
 
879
+ #: admin/includes/tab-settings.php:786
880
  msgid "Follow &#8220;Validation rule settings&#8221;"
881
  msgstr ""
882
 
883
+ #: admin/includes/tab-settings.php:848
884
  #, php-format
885
  msgid ""
886
  "<dfn title=\"You can configure a different response code from the Back-end. "
888
  "\">Response code</dfn> %s"
889
  msgstr ""
890
 
891
+ #: admin/includes/tab-settings.php:914
892
  msgid ""
893
  "<dfn title=\"Specify the individual page as a blocking target.\">Page</dfn>"
894
  msgstr ""
895
 
896
+ #: admin/includes/tab-settings.php:926
897
  msgid ""
898
  "<dfn title=\"Specify the individual post type on a single page as a blocking "
899
  "target.\">Post type</dfn>"
900
  msgstr ""
901
 
902
+ #: admin/includes/tab-settings.php:938
903
  msgid ""
904
  "<dfn title=\"Specify the individual category on a single page or archive "
905
  "page as a blocking target.\">Category</dfn>"
906
  msgstr ""
907
 
908
+ #: admin/includes/tab-settings.php:950
909
  msgid ""
910
  "<dfn title=\"Specify the individual tag on a single page or archive page as "
911
  "a blocking target.\">Tag</dfn>"
912
  msgstr ""
913
 
914
+ #: admin/includes/tab-settings.php:965
915
  msgid "Specify the validation target on front-end."
916
  msgstr ""
917
 
918
+ #: admin/includes/tab-settings.php:965
919
  msgid "Validation target"
920
  msgstr ""
921
 
922
+ #: admin/includes/tab-settings.php:976
923
  msgid "All requests"
924
  msgstr ""
925
 
926
+ #: admin/includes/tab-settings.php:977
927
  msgid "Specify the targets"
928
  msgstr ""
929
 
930
+ #: admin/includes/tab-settings.php:980
931
  msgid ""
932
  "Notice that &#8220;Validation timing&#8221; is deferred till &#8220;"
933
  "wp&#8221; action hook. It means that this feature would not be compatible "
934
  "with any page caching."
935
  msgstr ""
936
 
937
+ #: admin/includes/tab-settings.php:990
938
  msgid ""
939
  "A part of user agent string and a qualification connected with a separator "
940
  "that indicates an applicable rule and can be &#8220;:&#8221; (pass) or "
944
  "qualification&#8221;."
945
  msgstr ""
946
 
947
+ #: admin/includes/tab-settings.php:990
948
  msgid "UA string and qualification"
949
  msgstr ""
950
 
951
+ #: admin/includes/tab-settings.php:1009
952
  msgid "Specify the name of actions as exception that is invariably blocked."
953
  msgstr ""
954
 
955
+ #: admin/includes/tab-settings.php:1009
956
  msgid "Excluded actions"
957
  msgstr ""
958
 
959
+ #: admin/includes/tab-settings.php:1028
960
  msgid ""
961
  "It enables to verify the host by reverse DNS lookup which would spend some "
962
  "server resources. If it is disabled, &#8220;HOST&#8221; and &#8220;"
964
  "return &#8220;true&#8221;."
965
  msgstr ""
966
 
967
+ #: admin/includes/tab-settings.php:1028
968
  msgid "DNS reverse lookup"
969
  msgstr ""
970
 
971
+ #: admin/includes/tab-settings.php:1045
972
  msgid ""
973
  "It enables to simulate validation without deployment. The results can be "
974
  "found at &#8220;Public facing pages&#8221; in Logs."
975
  msgstr ""
976
 
977
+ #: admin/includes/tab-settings.php:1045
978
  msgid "Simulation mode"
979
  msgstr ""
980
 
981
+ #: admin/includes/tab-settings.php:1063
982
  msgid "Geolocation API settings"
983
  msgstr ""
984
 
985
+ #: admin/includes/tab-settings.php:1072
986
  msgid ""
987
  "<dfn title=\"Cache and local database are scanned at the top priority.\">API "
988
  "selection and key settings</dfn>"
989
  msgstr ""
990
 
991
+ #: admin/includes/tab-settings.php:1091
992
  msgid "Timeout for network API [sec]"
993
  msgstr ""
994
 
995
+ #: admin/includes/tab-settings.php:1111
996
  #, php-format
997
  msgid ""
998
  "Can not find geolocation API libraries in <code>%s</code>. It seems to have "
1007
  "troubles? | IP Geo Block\">this instruction</a>."
1008
  msgstr ""
1009
 
1010
+ #: admin/includes/tab-settings.php:1118
1011
  msgid "Local database settings"
1012
  msgstr ""
1013
 
1014
+ #: admin/includes/tab-settings.php:1132
1015
  msgid "database"
1016
  msgstr ""
1017
 
1018
+ #: admin/includes/tab-settings.php:1133 classes/class-ip-geo-block-cron.php:430
1019
  #, php-format
1020
  msgid "Last update: %s"
1021
  msgstr ""
1022
 
1023
+ #: admin/includes/tab-settings.php:1142
1024
  msgid "Auto updating (once a month)"
1025
  msgstr ""
1026
 
1027
+ #: admin/includes/tab-settings.php:1159
1028
  msgid "Download database"
1029
  msgstr ""
1030
 
1031
+ #: admin/includes/tab-settings.php:1167
1032
  msgid "Download now"
1033
  msgstr ""
1034
 
1035
+ #: admin/includes/tab-settings.php:1178
1036
  msgid "Statistics and Logs settings"
1037
  msgstr ""
1038
 
1039
+ #: admin/includes/tab-settings.php:1187
1040
  msgid "Record &#8220;Statistics&#8221;"
1041
  msgstr ""
1042
 
1043
+ #: admin/includes/tab-settings.php:1204
1044
  msgid "Maximum period for &#8220;Statistics&#8221; (days)"
1045
  msgstr ""
1046
 
1047
+ #: admin/includes/tab-settings.php:1222
1048
  msgid "Record &#8220;Logs&#8221;"
1049
  msgstr ""
1050
 
1051
+ #: admin/includes/tab-settings.php:1234
1052
  msgid "When requests blocked"
1053
  msgstr ""
1054
 
1055
+ #: admin/includes/tab-settings.php:1235
1056
  msgid "When requests passed"
1057
  msgstr ""
1058
 
1059
+ #: admin/includes/tab-settings.php:1236
1060
  msgid "When &#8220;blocked&#8221; or &#8220;passed (not in whitelist)&#8221;"
1061
  msgstr ""
1062
 
1063
+ #: admin/includes/tab-settings.php:1237
1064
  msgid "Unauthenticated visitor"
1065
  msgstr ""
1066
 
1067
+ #: admin/includes/tab-settings.php:1238
1068
  msgid "Authenticated user"
1069
  msgstr ""
1070
 
1071
+ #: admin/includes/tab-settings.php:1239
1072
  msgid "All the validation"
1073
  msgstr ""
1074
 
1075
+ #: admin/includes/tab-settings.php:1248
1076
  msgid "Maximum entries of &#8220;Logs&#8221;"
1077
  msgstr ""
1078
 
1079
+ #: admin/includes/tab-settings.php:1265
1080
  msgid ""
1081
  "<dfn title=\"e.g. action, comment, log, pwd, FILES\">$_POST keys to be "
1082
  "recorded with their values in &#8220;Logs&#8221;</dfn>"
1083
  msgstr ""
1084
 
1085
+ #: admin/includes/tab-settings.php:1283
1086
  msgid "<dfn title=\"e.g. 123.456.789.***\">Anonymize IP address</dfn>"
1087
  msgstr ""
1088
 
1089
+ #: admin/includes/tab-settings.php:1300
1090
  msgid ""
1091
  "<dfn title=\"Select SQLite database source.\">Database source of SQLite for "
1092
  "&#8220;Live update&#8221;</dfn>"
1093
  msgstr ""
1094
 
1095
+ #: admin/includes/tab-settings.php:1312
1096
  msgid "Ordinary file"
1097
  msgstr ""
1098
 
1099
+ #: admin/includes/tab-settings.php:1313
1100
  msgid "In-Memory"
1101
  msgstr ""
1102
 
1103
+ #: admin/includes/tab-settings.php:1316
1104
  msgid "PDO_SQLITE driver not available"
1105
  msgstr ""
1106
 
1107
+ #: admin/includes/tab-settings.php:1317
1108
  msgid ""
1109
  "It takes a few tens of milliseconds as overhead. It can be safely used "
1110
  "without conflict with other plugins."
1111
  msgstr ""
1112
 
1113
+ #: admin/includes/tab-settings.php:1318
1114
  msgid ""
1115
  "It takes a few milliseconds as overhead. There is a possibility of conflict "
1116
  "with other plugins using this method."
1117
  msgstr ""
1118
 
1119
+ #: admin/includes/tab-settings.php:1327
1120
  msgid "Reset database source of &#8220;Live update&#8221;"
1121
  msgstr ""
1122
 
1123
+ #: admin/includes/tab-settings.php:1335
1124
  msgid "Reset now"
1125
  msgstr ""
1126
 
1127
+ #: admin/includes/tab-settings.php:1346
1128
  msgid "IP address cache settings"
1129
  msgstr ""
1130
 
1131
+ #: admin/includes/tab-settings.php:1355
1132
  #, php-format
1133
  msgid ""
1134
  "<dfn title=\"If user authentication fails consecutively %d times, subsequent "
1136
  "\">Expiration time [sec]</dfn>"
1137
  msgstr ""
1138
 
1139
+ #: admin/includes/tab-settings.php:1371
1140
  msgid "Garbage collection period [sec]"
1141
  msgstr ""
1142
 
1143
+ #: admin/includes/tab-settings.php:1388
1144
  msgid "Number of entries to be displayed in cache"
1145
  msgstr ""
1146
 
1147
+ #: admin/includes/tab-settings.php:1406
1148
  msgid "Submission settings"
1149
  msgstr ""
1150
 
1151
+ #: admin/includes/tab-settings.php:1418
1152
  msgid "The whole will be wrapped by &lt;p&gt; tag. Allowed tags: "
1153
  msgstr ""
1154
 
1155
+ #: admin/includes/tab-settings.php:1418
1156
  msgid "Message on comment form"
1157
  msgstr ""
1158
 
1159
+ #: admin/includes/tab-settings.php:1430
1160
  msgid "None"
1161
  msgstr ""
1162
 
1163
+ #: admin/includes/tab-settings.php:1431
1164
  msgid "Top"
1165
  msgstr ""
1166
 
1167
+ #: admin/includes/tab-settings.php:1432
1168
  msgid "Bottom"
1169
  msgstr ""
1170
 
1171
+ #: admin/includes/tab-settings.php:1443
1172
  msgid "Plugin settings"
1173
  msgstr ""
1174
 
1175
+ #: admin/includes/tab-settings.php:1456
1176
  msgid ""
1177
  "<dfn title=\"Synchronize all settings over the network wide.\">Network wide "
1178
  "settings</dfn>"
1179
  msgstr ""
1180
 
1181
+ #: admin/includes/tab-settings.php:1474
1182
  msgid "Remove all settings at uninstallation"
1183
  msgstr ""
1184
 
1185
+ #: admin/includes/tab-settings.php:1492
1186
  msgid ""
1187
  "<dfn title=\"Valid key for Google Maps JavaScript API\">Google Maps API key</"
1188
  "dfn>"
1189
  msgstr ""
1190
 
1191
+ #: admin/includes/tab-settings.php:1506
1192
  msgid ""
1193
  "You need to click the &#8220;Save Changes&#8221; button for imported "
1194
  "settings to take effect."
1195
  msgstr ""
1196
 
1197
+ #: admin/includes/tab-settings.php:1512
1198
  msgid "Export / Import settings"
1199
  msgstr ""
1200
 
1201
+ #: admin/includes/tab-settings.php:1519
1202
  msgid "Export settings"
1203
  msgstr ""
1204
 
1205
+ #: admin/includes/tab-settings.php:1520
1206
  msgid "Import from the local file"
1207
  msgstr ""
1208
 
1209
+ #: admin/includes/tab-settings.php:1520
1210
  msgid "Import settings"
1211
  msgstr ""
1212
 
1213
+ #: admin/includes/tab-settings.php:1529
1214
  msgid "Import pre-defined settings"
1215
  msgstr ""
1216
 
1217
+ #: admin/includes/tab-settings.php:1536
1218
  msgid ""
1219
  "Import the default settings to revert to the &#8220;Right after "
1220
  "installing&#8221; state"
1221
  msgstr ""
1222
 
1223
+ #: admin/includes/tab-settings.php:1536
1224
  msgid "Default settings"
1225
  msgstr ""
1226
 
1227
+ #: admin/includes/tab-settings.php:1537
1228
  msgid ""
1229
  "Import the preferred settings mainly by enabling Zero-day Exploit Prevention "
1230
  "for the &#8220;Back-end target settings&#8221;"
1231
  msgstr ""
1232
 
1233
+ #: admin/includes/tab-settings.php:1537
1234
  msgid "Best for Back-end"
1235
  msgstr ""
1236
 
1237
+ #: admin/includes/tab-settings.php:1547
1238
  msgid "Delete DB table for validation logs"
1239
  msgstr ""
1240
 
1241
+ #: admin/includes/tab-settings.php:1555
1242
  msgid "Delete now"
1243
  msgstr ""
1244
 
1245
+ #: admin/includes/tab-settings.php:1563
1246
  msgid "Create DB table for validation logs"
1247
  msgstr ""
1248
 
1249
+ #: admin/includes/tab-settings.php:1571
1250
  msgid "Create now"
1251
  msgstr ""
1252
 
1253
+ #: admin/includes/tab-settings.php:1581
1254
  msgid ""
1255
  "<dfn title=\"When an unexpected blocking has occurred, please press the "
1256
  "button to find the blocked request in the dumped information which may help "
1259
  "&#8250; Support &raquo; IP Geo Block\">support forum</a> ]"
1260
  msgstr ""
1261
 
1262
+ #: admin/includes/tab-settings.php:1588
1263
  msgid "Please copy &amp; paste when submitting your issue to support forum."
1264
  msgstr ""
1265
 
1266
+ #: admin/includes/tab-settings.php:1588
1267
  msgid "Show information"
1268
  msgstr ""
1269
 
1270
+ #: admin/includes/tab-settings.php:1604
1271
  msgid ""
1272
  "To enhance the protection ability, please refer to &#8220;<a rel=\"noreferrer"
1273
  "\" href=\"http://www.ipgeoblock.com/codex/the-best-practice-for-target-"
1275
  "\">The best practice for target settings</a>&#8221;."
1276
  msgstr ""
1277
 
1278
+ #: admin/includes/tab-settings.php:1605
1279
  msgid ""
1280
  "If you have any troubles with these, please check FAQ at <a rel=\"noreferrer"
1281
  "\" href=\"https://wordpress.org/plugins/ip-geo-block/faq/\" title=\"IP Geo "
1284
  "\">Codex</a>."
1285
  msgstr ""
1286
 
1287
+ #: admin/includes/tab-settings.php:1612
1288
  msgid ""
1289
  "While Maxmind and IP2Location will fetch the local database, others will "
1290
  "pass an IP address to the APIs via HTTP."
1291
  msgstr ""
1292
 
1293
+ #: admin/includes/tab-settings.php:1613
1294
  msgid ""
1295
  "Please select the appropriate APIs to fit the privacy law in your country."
1296
  msgstr ""
1297
 
1298
+ #: admin/includes/tab-settings.php:1622
1299
  #, php-format
1300
  msgid ""
1301
  "Maxmind GeoLite2 databases and APIs need PHP version 5.4.0+ and %sPECL phar "
1302
  "2.0.0+%s."
1303
  msgstr ""
1304
 
1305
+ #: admin/includes/tab-settings.php:1630
1306
  msgid ""
1307
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1308
  "ipgeoblock.com/codex/#blocking-on-front-end\" title=\"Codex | IP Geo Block"
1310
  "cache plugin."
1311
  msgstr ""
1312
 
1313
+ #: admin/includes/tab-settings.php:1631
1314
  msgid ""
1315
  "If you find any issues or have something to suggest, please feel free to "
1316
  "open an issue at <a rel=\"noreferrer\" href=\"https://wordpress.org/support/"
1318
  "\">support forum</a>."
1319
  msgstr ""
1320
 
1321
+ #: admin/includes/tab-settings.php:1638
1322
  msgid ""
1323
  "Please refer to the document &#8220;<a rel=\"noreferrer\" href=\"http://www."
1324
  "ipgeoblock.com/codex/record-settings-and-logs.html\" title=\"Codex | IP Geo "
1405
  msgid "Toggle sorting order"
1406
  msgstr ""
1407
 
1408
+ #: admin/includes/tab-statistics.php:394
1409
+ #, php-format
1410
+ msgid "[ %sRecord &#8220;Statistics&#8221;%s ] is desabled."
 
1411
  msgstr ""
1412
 
1413
+ #: admin/includes/tab-statistics.php:395
1414
  msgid ""
1415
  "Please set the proper condition to record and analyze the validation "
1416
  "statistics."
1417
  msgstr ""
1418
 
 
 
 
 
 
1419
  #: classes/class-ip-geo-block-apis.php:653
1420
  msgid ""
1421
  "You need to select at least one IP geolocation service. Otherwise "
wp-content/ip-geo-api/maxmind/class-maxmind.php CHANGED
@@ -10,10 +10,10 @@
10
  */
11
  class_exists( 'IP_Geo_Block_API', FALSE ) or die;
12
 
13
- require_once dirname( __FILE__ ) . '/class-maxmind-legacy.php';
14
-
15
  if ( version_compare( PHP_VERSION, '5.4.0' ) >= 0 ):
16
 
17
  require_once dirname( __FILE__ ) . '/class-maxmind-geolite2.php';
18
 
19
  endif;
 
 
10
  */
11
  class_exists( 'IP_Geo_Block_API', FALSE ) or die;
12
 
 
 
13
  if ( version_compare( PHP_VERSION, '5.4.0' ) >= 0 ):
14
 
15
  require_once dirname( __FILE__ ) . '/class-maxmind-geolite2.php';
16
 
17
  endif;
18
+
19
+ require_once dirname( __FILE__ ) . '/class-maxmind-legacy.php';