Version Description
- Fixed preserving classes on mailto links
Download this release
Release Info
Developer | freelancephp |
Plugin | Email Encoder Bundle – Protect Email Address |
Version | 1.4.1 |
Comparing to | |
See all releases |
Code changes from version 1.4.0 to 1.4.1
- email-encoder-bundle.php +9 -8
- includes/class-eeb-site.php +26 -12
- readme.txt +6 -3
email-encoder-bundle.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Email Encoder Bundle - Protect Email Address
|
|
4 |
Plugin URI: http://www.freelancephp.net/email-encoder-php-class-wp-plugin/
|
5 |
Description: Protect email addresses on your site and hide them from spambots by using an encoding method. Easy to use, flexible .
|
6 |
Author: Victor Villaverde Laan
|
7 |
-
Version: 1.4.
|
8 |
Author URI: http://www.freelancephp.net
|
9 |
License: Dual licensed under the MIT and GPL licenses
|
10 |
Text Domain: email-encoder-bundle
|
@@ -12,17 +12,20 @@ Domain Path: /languages
|
|
12 |
*/
|
13 |
|
14 |
// constants
|
15 |
-
if (!defined('EMAIL_ENCODER_BUNDLE_VERSION')) { define('EMAIL_ENCODER_BUNDLE_VERSION', '1.4.
|
16 |
if (!defined('EMAIL_ENCODER_BUNDLE_FILE')) { define('EMAIL_ENCODER_BUNDLE_FILE', __FILE__); }
|
17 |
if (!defined('EMAIL_ENCODER_BUNDLE_KEY')) { define('EMAIL_ENCODER_BUNDLE_KEY', 'WP_Email_Encoder_Bundle'); }
|
18 |
if (!defined('EMAIL_ENCODER_BUNDLE_DOMAIN')) { define('EMAIL_ENCODER_BUNDLE_DOMAIN', 'email-encoder-bundle'); }
|
19 |
if (!defined('EMAIL_ENCODER_BUNDLE_OPTIONS_NAME')) { define('EMAIL_ENCODER_BUNDLE_OPTIONS_NAME', 'WP_Email_Encoder_Bundle_options'); }
|
20 |
if (!defined('EMAIL_ENCODER_BUNDLE_ADMIN_PAGE')) { define('EMAIL_ENCODER_BUNDLE_ADMIN_PAGE', 'email-encoder-bundle-settings'); }
|
21 |
|
|
|
|
|
|
|
|
|
|
|
22 |
// check plugin compatibility
|
23 |
-
if (
|
24 |
-
&& version_compare(preg_replace('/-.*$/', '', $wp_version), '3.4', '>=')
|
25 |
-
&& version_compare(phpversion(), '5.2.4', '>=')) {
|
26 |
|
27 |
// include classes
|
28 |
require_once('includes/class-eeb-admin.php');
|
@@ -51,7 +54,7 @@ if (isset($wp_version)
|
|
51 |
$plugin_title = get_admin_page_title();
|
52 |
|
53 |
echo '<div class="error">'
|
54 |
-
. sprintf(__('<p>Warning - The plugin <strong>%s</strong> requires PHP 5.2.4+ and WP 3.
|
55 |
. '<br/>Disable the plugin to remove this message.</p>'
|
56 |
, EMAIL_ENCODER_BUNDLE_DOMAIN), $plugin_title)
|
57 |
. '</div>';
|
@@ -61,5 +64,3 @@ if (isset($wp_version)
|
|
61 |
endif;
|
62 |
|
63 |
}
|
64 |
-
|
65 |
-
/* ommit PHP closing tag, to prevent unwanted whitespace at the end of the parts generated by the included files */
|
4 |
Plugin URI: http://www.freelancephp.net/email-encoder-php-class-wp-plugin/
|
5 |
Description: Protect email addresses on your site and hide them from spambots by using an encoding method. Easy to use, flexible .
|
6 |
Author: Victor Villaverde Laan
|
7 |
+
Version: 1.4.1
|
8 |
Author URI: http://www.freelancephp.net
|
9 |
License: Dual licensed under the MIT and GPL licenses
|
10 |
Text Domain: email-encoder-bundle
|
12 |
*/
|
13 |
|
14 |
// constants
|
15 |
+
if (!defined('EMAIL_ENCODER_BUNDLE_VERSION')) { define('EMAIL_ENCODER_BUNDLE_VERSION', '1.4.1'); }
|
16 |
if (!defined('EMAIL_ENCODER_BUNDLE_FILE')) { define('EMAIL_ENCODER_BUNDLE_FILE', __FILE__); }
|
17 |
if (!defined('EMAIL_ENCODER_BUNDLE_KEY')) { define('EMAIL_ENCODER_BUNDLE_KEY', 'WP_Email_Encoder_Bundle'); }
|
18 |
if (!defined('EMAIL_ENCODER_BUNDLE_DOMAIN')) { define('EMAIL_ENCODER_BUNDLE_DOMAIN', 'email-encoder-bundle'); }
|
19 |
if (!defined('EMAIL_ENCODER_BUNDLE_OPTIONS_NAME')) { define('EMAIL_ENCODER_BUNDLE_OPTIONS_NAME', 'WP_Email_Encoder_Bundle_options'); }
|
20 |
if (!defined('EMAIL_ENCODER_BUNDLE_ADMIN_PAGE')) { define('EMAIL_ENCODER_BUNDLE_ADMIN_PAGE', 'email-encoder-bundle-settings'); }
|
21 |
|
22 |
+
// wp_version var was used by older WP versions
|
23 |
+
if (!isset($wp_version)) {
|
24 |
+
$wp_version = get_bloginfo('version');
|
25 |
+
}
|
26 |
+
|
27 |
// check plugin compatibility
|
28 |
+
if (version_compare($wp_version, '3.6', '>=') && version_compare(phpversion(), '5.2.4', '>=')) {
|
|
|
|
|
29 |
|
30 |
// include classes
|
31 |
require_once('includes/class-eeb-admin.php');
|
54 |
$plugin_title = get_admin_page_title();
|
55 |
|
56 |
echo '<div class="error">'
|
57 |
+
. sprintf(__('<p>Warning - The plugin <strong>%s</strong> requires PHP 5.2.4+ and WP 3.6+. Please upgrade your PHP and/or WordPress.'
|
58 |
. '<br/>Disable the plugin to remove this message.</p>'
|
59 |
, EMAIL_ENCODER_BUNDLE_DOMAIN), $plugin_title)
|
60 |
. '</div>';
|
64 |
endif;
|
65 |
|
66 |
}
|
|
|
|
includes/class-eeb-site.php
CHANGED
@@ -32,6 +32,7 @@ final class Eeb_Site extends Eeb_Admin {
|
|
32 |
'mailto' => '/<a([^<>]*?)href=["\']mailto:(.*?)["\'](.*?)>(.*?)<\/a[\s+]*>/is',
|
33 |
'email' => '/([A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,6})/is',
|
34 |
'input' => '/<input([^>]*)value=["\'][\s+]*([A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,6})[\s+]*["\']([^>]*)>/is',
|
|
|
35 |
);
|
36 |
|
37 |
/**
|
@@ -145,16 +146,20 @@ final class Eeb_Site extends Eeb_Admin {
|
|
145 |
* WP head
|
146 |
*/
|
147 |
public function wp_head() {
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
|
|
|
|
|
|
|
|
158 |
}
|
159 |
|
160 |
/* -------------------------------------------------------------------------
|
@@ -383,9 +388,18 @@ CSS;
|
|
383 |
$email = $this->enc_html($email);
|
384 |
}
|
385 |
|
386 |
-
$class = $this->options['class_name'];
|
387 |
$extra_attrs = ' ' . trim($extra_attrs);
|
388 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
389 |
|
390 |
if ($method === 'enc_html') {
|
391 |
// add visual check
|
32 |
'mailto' => '/<a([^<>]*?)href=["\']mailto:(.*?)["\'](.*?)>(.*?)<\/a[\s+]*>/is',
|
33 |
'email' => '/([A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,6})/is',
|
34 |
'input' => '/<input([^>]*)value=["\'][\s+]*([A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,6})[\s+]*["\']([^>]*)>/is',
|
35 |
+
'class' => '/class=["\'](.*?)["\']/i',
|
36 |
);
|
37 |
|
38 |
/**
|
146 |
* WP head
|
147 |
*/
|
148 |
public function wp_head() {
|
149 |
+
$css = '';
|
150 |
+
$css .= '<style type="text/css" media="screen">';
|
151 |
+
|
152 |
+
// add styling for encoding check message + icon
|
153 |
+
if ($this->is_admin_user && $this->options['show_encoded_check']) {
|
154 |
+
$css .= 'a.encoded-check { opacity:0.5; position:absolute; text-decoration:none !important; font:10px Arial !important; margin-top:-3px; color:#629632; font-weight:bold; }';
|
155 |
+
$css .= 'a.encoded-check:hover { opacity:1; cursor:help; }';
|
156 |
+
$css .= 'a.encoded-check img { width:10px; height:10px; }';
|
157 |
+
}
|
158 |
+
|
159 |
+
// $css .= 'a[href^="mailto:"] .fa { margin-right:0.4em; }';
|
160 |
+
$css .= '</style>';
|
161 |
+
|
162 |
+
echo $css;
|
163 |
}
|
164 |
|
165 |
/* -------------------------------------------------------------------------
|
388 |
$email = $this->enc_html($email);
|
389 |
}
|
390 |
|
|
|
391 |
$extra_attrs = ' ' . trim($extra_attrs);
|
392 |
+
|
393 |
+
// add class
|
394 |
+
if (preg_match($this->regexp_patterns['class'], $extra_attrs, $matches)) {
|
395 |
+
// class attribute set
|
396 |
+
$extra_attrs = str_replace($matches[0], sprintf('class="%s"', $matches[1] . ' ' . $this->options['class_name']), $extra_attrs);
|
397 |
+
} else {
|
398 |
+
// class attribute not set
|
399 |
+
$extra_attrs .= ' class="' . $this->options['class_name'] . '"';
|
400 |
+
}
|
401 |
+
|
402 |
+
$mailto = '<a href="mailto:' . $email . '"'. $extra_attrs . '>' . $display . '</a>';
|
403 |
|
404 |
if ($method === 'enc_html') {
|
405 |
// add visual check
|
readme.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
=== Email Encoder Bundle - Protect Email Address ===
|
2 |
Contributors: freelancephp
|
3 |
Tags: email address, protect, antispam, mailto, spambot, secure, e-mail, email, mail, obfuscate, encode, encoder, encrypt, hide, bot, crawl, spider, robots, spam, protection, harvest, harvesting, security
|
4 |
-
Requires at least: 3.
|
5 |
-
Tested up to: 4.
|
6 |
-
Stable tag: 1.4.
|
7 |
|
8 |
Encode mailto links, email addresses, phone numbers and any text to hide them from (spam)bots. Mailto links will be protected automatically.
|
9 |
|
@@ -125,6 +125,9 @@ It's possible to filter all widgets by using the [Widget Logic Plugin](https://w
|
|
125 |
|
126 |
== Changelog ==
|
127 |
|
|
|
|
|
|
|
128 |
= 1.4.0 =
|
129 |
* Fixed bug prefilled email address in input fields
|
130 |
* Added option protection text for encoded content (other than email addresses)
|
1 |
=== Email Encoder Bundle - Protect Email Address ===
|
2 |
Contributors: freelancephp
|
3 |
Tags: email address, protect, antispam, mailto, spambot, secure, e-mail, email, mail, obfuscate, encode, encoder, encrypt, hide, bot, crawl, spider, robots, spam, protection, harvest, harvesting, security
|
4 |
+
Requires at least: 3.6.0
|
5 |
+
Tested up to: 4.2.2
|
6 |
+
Stable tag: 1.4.1
|
7 |
|
8 |
Encode mailto links, email addresses, phone numbers and any text to hide them from (spam)bots. Mailto links will be protected automatically.
|
9 |
|
125 |
|
126 |
== Changelog ==
|
127 |
|
128 |
+
= 1.4.1 =
|
129 |
+
* Fixed [preserving classes on mailto links](https://wordpress.org/support/topic/preserve-link-classes)
|
130 |
+
|
131 |
= 1.4.0 =
|
132 |
* Fixed bug prefilled email address in input fields
|
133 |
* Added option protection text for encoded content (other than email addresses)
|