Version Description
Release Date - 13 July 2017
- Reduced amount of bandwidth used by the URL Preview feature.
- Improved the admin UI when the API key is manually pre-defined for the site.
- Removed a workaround for WordPress installations older than 3.3 that will improve Akismet's compatibility with other plugins.
- The number of spam blocked that is displayed on the WordPress dashboard will now be more accurate and updated more frequently.
- Fixed a bug in the Akismet widget that could cause PHP warnings.
Download this release
Release Info
Developer | cfinke |
Plugin | Akismet Anti-Spam |
Version | 3.3.3 |
Comparing to | |
See all releases |
Code changes from version 3.3.2 to 3.3.3
- _inc/akismet.js +6 -3
- akismet.php +2 -2
- class.akismet-admin.php +23 -15
- class.akismet-widget.php +1 -1
- class.akismet.php +9 -8
- readme.txt +10 -1
- views/config.php +56 -54
- views/start.php +78 -69
_inc/akismet.js
CHANGED
@@ -101,7 +101,7 @@ jQuery( function ( $ ) {
|
|
101 |
|
102 |
var thisHref = encodeURIComponent( $( this ).attr( 'href' ) );
|
103 |
|
104 |
-
var mShot = $( '<div class="akismet-mshot mshot-container"><div class="mshot-arrow"></div><img src="//s0.wordpress.com/mshots/v1/' + thisHref + '?w=
|
105 |
mShot.data( 'link', this );
|
106 |
|
107 |
var offset = $( this ).offset();
|
@@ -111,12 +111,15 @@ jQuery( function ( $ ) {
|
|
111 |
top: offset.top + ( $( this ).height() / 2 ) - 101 // 101 = top offset of the arrow plus the top border thickness
|
112 |
} );
|
113 |
|
|
|
|
|
|
|
114 |
mshotSecondTryTimer = setTimeout( function () {
|
115 |
-
mShot.find( '.mshot-image' ).attr( 'src', '//s0.wordpress.com/mshots/v1/'+thisHref+'?w=
|
116 |
}, 6000 );
|
117 |
|
118 |
mshotThirdTryTimer = setTimeout( function () {
|
119 |
-
mShot.find( '.mshot-image' ).attr( 'src', '//s0.wordpress.com/mshots/v1/'+thisHref+'?w=
|
120 |
}, 12000 );
|
121 |
|
122 |
$( 'body' ).append( mShot );
|
101 |
|
102 |
var thisHref = encodeURIComponent( $( this ).attr( 'href' ) );
|
103 |
|
104 |
+
var mShot = $( '<div class="akismet-mshot mshot-container"><div class="mshot-arrow"></div><img src="//s0.wordpress.com/mshots/v1/' + thisHref + '?w=900" width="450" height="338" class="mshot-image" /></div>' );
|
105 |
mShot.data( 'link', this );
|
106 |
|
107 |
var offset = $( this ).offset();
|
111 |
top: offset.top + ( $( this ).height() / 2 ) - 101 // 101 = top offset of the arrow plus the top border thickness
|
112 |
} );
|
113 |
|
114 |
+
// These retries appear to be superfluous if .mshot-image has already loaded, but it's because mShots
|
115 |
+
// can return a "Generating thumbnail..." image if it doesn't have a thumbnail ready, so we need
|
116 |
+
// to retry to see if we can get the newly generated thumbnail.
|
117 |
mshotSecondTryTimer = setTimeout( function () {
|
118 |
+
mShot.find( '.mshot-image' ).attr( 'src', '//s0.wordpress.com/mshots/v1/'+thisHref+'?w=900&r=2' );
|
119 |
}, 6000 );
|
120 |
|
121 |
mshotThirdTryTimer = setTimeout( function () {
|
122 |
+
mShot.find( '.mshot-image' ).attr( 'src', '//s0.wordpress.com/mshots/v1/'+thisHref+'?w=900&r=3' );
|
123 |
}, 12000 );
|
124 |
|
125 |
$( 'body' ).append( mShot );
|
akismet.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
Plugin Name: Akismet Anti-Spam
|
7 |
Plugin URI: https://akismet.com/
|
8 |
Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. It keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key.
|
9 |
-
Version: 3.3.
|
10 |
Author: Automattic
|
11 |
Author URI: https://automattic.com/wordpress-plugins/
|
12 |
License: GPLv2 or later
|
@@ -37,7 +37,7 @@ if ( !function_exists( 'add_action' ) ) {
|
|
37 |
exit;
|
38 |
}
|
39 |
|
40 |
-
define( 'AKISMET_VERSION', '3.3.
|
41 |
define( 'AKISMET__MINIMUM_WP_VERSION', '3.7' );
|
42 |
define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
43 |
define( 'AKISMET_DELETE_LIMIT', 100000 );
|
6 |
Plugin Name: Akismet Anti-Spam
|
7 |
Plugin URI: https://akismet.com/
|
8 |
Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. It keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key.
|
9 |
+
Version: 3.3.3
|
10 |
Author: Automattic
|
11 |
Author URI: https://automattic.com/wordpress-plugins/
|
12 |
License: GPLv2 or later
|
37 |
exit;
|
38 |
}
|
39 |
|
40 |
+
define( 'AKISMET_VERSION', '3.3.3' );
|
41 |
define( 'AKISMET__MINIMUM_WP_VERSION', '3.7' );
|
42 |
define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
43 |
define( 'AKISMET_DELETE_LIMIT', 100000 );
|
class.akismet-admin.php
CHANGED
@@ -208,7 +208,7 @@ class Akismet_Admin {
|
|
208 |
'content' =>
|
209 |
'<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
|
210 |
'<p>' . esc_html__( 'Akismet filters out spam, so you can focus on more important things.' , 'akismet') . '</p>' .
|
211 |
-
'<p>' . esc_html__( 'On this page, you are able to
|
212 |
)
|
213 |
);
|
214 |
|
@@ -218,22 +218,24 @@ class Akismet_Admin {
|
|
218 |
'title' => __( 'Settings' , 'akismet'),
|
219 |
'content' =>
|
220 |
'<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
|
221 |
-
'<p><strong>' . esc_html__( 'API Key' , 'akismet') . '</strong> - ' . esc_html__( 'Enter/remove an API key.' , 'akismet') . '</p>' .
|
222 |
'<p><strong>' . esc_html__( 'Comments' , 'akismet') . '</strong> - ' . esc_html__( 'Show the number of approved comments beside each comment author in the comments list page.' , 'akismet') . '</p>' .
|
223 |
'<p><strong>' . esc_html__( 'Strictness' , 'akismet') . '</strong> - ' . esc_html__( 'Choose to either discard the worst spam automatically or to always put all spam in spam folder.' , 'akismet') . '</p>',
|
224 |
)
|
225 |
);
|
226 |
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
'
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
|
|
|
|
237 |
}
|
238 |
}
|
239 |
|
@@ -255,10 +257,11 @@ class Akismet_Admin {
|
|
255 |
foreach( array( 'akismet_strictness', 'akismet_show_user_comments_approved' ) as $option ) {
|
256 |
update_option( $option, isset( $_POST[$option] ) && (int) $_POST[$option] == 1 ? '1' : '0' );
|
257 |
}
|
258 |
-
|
259 |
-
if (
|
260 |
return false; //shouldn't have option to save key if already defined
|
261 |
-
|
|
|
262 |
$new_key = preg_replace( '/[^a-f0-9]/i', '', $_POST['key'] );
|
263 |
$old_key = Akismet::get_api_key();
|
264 |
|
@@ -907,6 +910,11 @@ class Akismet_Admin {
|
|
907 |
if ( get_option( 'akismet_strictness' ) === false ) {
|
908 |
add_option( 'akismet_strictness', ( get_option( 'akismet_discard_month' ) === 'false' ? '0' : '1' ) );
|
909 |
}
|
|
|
|
|
|
|
|
|
|
|
910 |
|
911 |
$notices = array();
|
912 |
|
208 |
'content' =>
|
209 |
'<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
|
210 |
'<p>' . esc_html__( 'Akismet filters out spam, so you can focus on more important things.' , 'akismet') . '</p>' .
|
211 |
+
'<p>' . esc_html__( 'On this page, you are able to update your Akismet settings and view spam stats.' , 'akismet') . '</p>',
|
212 |
)
|
213 |
);
|
214 |
|
218 |
'title' => __( 'Settings' , 'akismet'),
|
219 |
'content' =>
|
220 |
'<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
|
221 |
+
( Akismet::predefined_api_key() ? '' : '<p><strong>' . esc_html__( 'API Key' , 'akismet') . '</strong> - ' . esc_html__( 'Enter/remove an API key.' , 'akismet') . '</p>' ) .
|
222 |
'<p><strong>' . esc_html__( 'Comments' , 'akismet') . '</strong> - ' . esc_html__( 'Show the number of approved comments beside each comment author in the comments list page.' , 'akismet') . '</p>' .
|
223 |
'<p><strong>' . esc_html__( 'Strictness' , 'akismet') . '</strong> - ' . esc_html__( 'Choose to either discard the worst spam automatically or to always put all spam in spam folder.' , 'akismet') . '</p>',
|
224 |
)
|
225 |
);
|
226 |
|
227 |
+
if ( ! Akismet::predefined_api_key() ) {
|
228 |
+
$current_screen->add_help_tab(
|
229 |
+
array(
|
230 |
+
'id' => 'account',
|
231 |
+
'title' => __( 'Account' , 'akismet'),
|
232 |
+
'content' =>
|
233 |
+
'<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
|
234 |
+
'<p><strong>' . esc_html__( 'Subscription Type' , 'akismet') . '</strong> - ' . esc_html__( 'The Akismet subscription plan' , 'akismet') . '</p>' .
|
235 |
+
'<p><strong>' . esc_html__( 'Status' , 'akismet') . '</strong> - ' . esc_html__( 'The subscription status - active, cancelled or suspended' , 'akismet') . '</p>',
|
236 |
+
)
|
237 |
+
);
|
238 |
+
}
|
239 |
}
|
240 |
}
|
241 |
|
257 |
foreach( array( 'akismet_strictness', 'akismet_show_user_comments_approved' ) as $option ) {
|
258 |
update_option( $option, isset( $_POST[$option] ) && (int) $_POST[$option] == 1 ? '1' : '0' );
|
259 |
}
|
260 |
+
|
261 |
+
if ( Akismet::predefined_api_key() ) {
|
262 |
return false; //shouldn't have option to save key if already defined
|
263 |
+
}
|
264 |
+
|
265 |
$new_key = preg_replace( '/[^a-f0-9]/i', '', $_POST['key'] );
|
266 |
$old_key = Akismet::get_api_key();
|
267 |
|
910 |
if ( get_option( 'akismet_strictness' ) === false ) {
|
911 |
add_option( 'akismet_strictness', ( get_option( 'akismet_discard_month' ) === 'false' ? '0' : '1' ) );
|
912 |
}
|
913 |
+
|
914 |
+
// Sync the local "Total spam blocked" count with the authoritative count from the server.
|
915 |
+
if ( isset( $stat_totals['all'], $stat_totals['all']->spam ) ) {
|
916 |
+
update_option( 'akismet_spam_count', $stat_totals['all']->spam );
|
917 |
+
}
|
918 |
|
919 |
$notices = array();
|
920 |
|
class.akismet-widget.php
CHANGED
@@ -62,7 +62,7 @@ class Akismet_Widget extends WP_Widget {
|
|
62 |
}
|
63 |
|
64 |
function form( $instance ) {
|
65 |
-
if ( $instance ) {
|
66 |
$title = $instance['title'];
|
67 |
}
|
68 |
else {
|
62 |
}
|
63 |
|
64 |
function form( $instance ) {
|
65 |
+
if ( $instance && isset( $instance['title'] ) ) {
|
66 |
$title = $instance['title'];
|
67 |
}
|
68 |
else {
|
class.akismet.php
CHANGED
@@ -1091,17 +1091,10 @@ class Akismet {
|
|
1091 |
}
|
1092 |
|
1093 |
public static function load_form_js() {
|
1094 |
-
// WP < 3.3 can't enqueue a script this late in the game and still have it appear in the footer.
|
1095 |
-
// Once we drop support for everything pre-3.3, this can change back to a single enqueue call.
|
1096 |
wp_register_script( 'akismet-form', plugin_dir_url( __FILE__ ) . '_inc/form.js', array(), AKISMET_VERSION, true );
|
1097 |
-
|
1098 |
-
add_action( 'admin_footer', array( 'Akismet', 'print_form_js' ) );
|
1099 |
}
|
1100 |
|
1101 |
-
public static function print_form_js() {
|
1102 |
-
wp_print_scripts( 'akismet-form' );
|
1103 |
-
}
|
1104 |
-
|
1105 |
public static function inject_ak_js( $fields ) {
|
1106 |
echo '<p style="display: none;">';
|
1107 |
echo '<input type="hidden" id="ak_js" name="ak_js" value="' . mt_rand( 0, 250 ) . '"/>';
|
@@ -1292,4 +1285,12 @@ p {
|
|
1292 |
|
1293 |
return $meta_value;
|
1294 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1295 |
}
|
1091 |
}
|
1092 |
|
1093 |
public static function load_form_js() {
|
|
|
|
|
1094 |
wp_register_script( 'akismet-form', plugin_dir_url( __FILE__ ) . '_inc/form.js', array(), AKISMET_VERSION, true );
|
1095 |
+
wp_enqueue_script( 'akismet-form' );
|
|
|
1096 |
}
|
1097 |
|
|
|
|
|
|
|
|
|
1098 |
public static function inject_ak_js( $fields ) {
|
1099 |
echo '<p style="display: none;">';
|
1100 |
echo '<input type="hidden" id="ak_js" name="ak_js" value="' . mt_rand( 0, 250 ) . '"/>';
|
1285 |
|
1286 |
return $meta_value;
|
1287 |
}
|
1288 |
+
|
1289 |
+
public static function predefined_api_key() {
|
1290 |
+
if ( defined( 'WPCOM_API_KEY' ) ) {
|
1291 |
+
return true;
|
1292 |
+
}
|
1293 |
+
|
1294 |
+
return apply_filters( 'akismet_predefined_api_key', false );
|
1295 |
+
}
|
1296 |
}
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eo
|
|
3 |
Tags: akismet, comments, spam, antispam, anti-spam, anti spam, comment moderation, comment spam, contact form spam, spam comments
|
4 |
Requires at least: 3.7
|
5 |
Tested up to: 4.8
|
6 |
-
Stable tag: 3.3.
|
7 |
License: GPLv2 or later
|
8 |
|
9 |
Akismet checks your comments and contact form submissions against our global database of spam to protect you and your site from malicious content.
|
@@ -30,6 +30,15 @@ Upload the Akismet plugin to your blog, Activate it, then enter your [Akismet.co
|
|
30 |
|
31 |
== Changelog ==
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
= 3.3.2 =
|
34 |
*Release Date - 10 May 2017*
|
35 |
|
3 |
Tags: akismet, comments, spam, antispam, anti-spam, anti spam, comment moderation, comment spam, contact form spam, spam comments
|
4 |
Requires at least: 3.7
|
5 |
Tested up to: 4.8
|
6 |
+
Stable tag: 3.3.3
|
7 |
License: GPLv2 or later
|
8 |
|
9 |
Akismet checks your comments and contact form submissions against our global database of spam to protect you and your site from malicious content.
|
30 |
|
31 |
== Changelog ==
|
32 |
|
33 |
+
= 3.3.3 =
|
34 |
+
*Release Date - 13 July 2017*
|
35 |
+
|
36 |
+
* Reduced amount of bandwidth used by the URL Preview feature.
|
37 |
+
* Improved the admin UI when the API key is manually pre-defined for the site.
|
38 |
+
* Removed a workaround for WordPress installations older than 3.3 that will improve Akismet's compatibility with other plugins.
|
39 |
+
* The number of spam blocked that is displayed on the WordPress dashboard will now be more accurate and updated more frequently.
|
40 |
+
* Fixed a bug in the Akismet widget that could cause PHP warnings.
|
41 |
+
|
42 |
= 3.3.2 =
|
43 |
*Release Date - 10 May 2017*
|
44 |
|
views/config.php
CHANGED
@@ -65,7 +65,7 @@
|
|
65 |
<form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="POST">
|
66 |
<table cellspacing="0" class="akismet-settings">
|
67 |
<tbody>
|
68 |
-
<?php if ( !
|
69 |
<tr>
|
70 |
<th class="akismet-api-key" width="10%" align="left" scope="row"><?php esc_html_e('API Key', 'akismet');?></th>
|
71 |
<td width="5%"/>
|
@@ -73,7 +73,7 @@
|
|
73 |
<span class="api-key"><input id="key" name="key" type="text" size="15" value="<?php echo esc_attr( get_option('wordpress_api_key') ); ?>" class="<?php echo esc_attr( 'regular-text code ' . $akismet_user->status ); ?>"></span>
|
74 |
</td>
|
75 |
</tr>
|
76 |
-
<?php
|
77 |
<?php if ( isset( $_GET['ssl_status'] ) ) { ?>
|
78 |
<tr>
|
79 |
<th align="left" scope="row"><?php esc_html_e( 'SSL Status', 'akismet' ); ?></th>
|
@@ -157,11 +157,11 @@
|
|
157 |
</tbody>
|
158 |
</table>
|
159 |
<div class="akismet-card-actions">
|
160 |
-
<?php if ( !
|
161 |
<div id="delete-action">
|
162 |
<a class="submitdelete deletion" href="<?php echo esc_url( Akismet_Admin::get_page_url( 'delete_key' ) ); ?>"><?php esc_html_e('Disconnect this account', 'akismet'); ?></a>
|
163 |
</div>
|
164 |
-
<?php
|
165 |
<?php wp_nonce_field(Akismet_Admin::NONCE) ?>
|
166 |
<div id="publishing-action">
|
167 |
<input type="hidden" name="action" value="enter-key">
|
@@ -172,61 +172,63 @@
|
|
172 |
</form>
|
173 |
</div>
|
174 |
</div>
|
175 |
-
|
176 |
-
|
177 |
-
<div class="akismet-
|
178 |
-
<div class="akismet-section-
|
179 |
-
<
|
|
|
|
|
180 |
</div>
|
181 |
-
</div>
|
182 |
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
|
|
|
|
225 |
</div>
|
226 |
-
<div class="clear"></div>
|
227 |
</div>
|
228 |
</div>
|
229 |
-
|
230 |
<?php endif;?>
|
231 |
</div>
|
232 |
</div>
|
65 |
<form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="POST">
|
66 |
<table cellspacing="0" class="akismet-settings">
|
67 |
<tbody>
|
68 |
+
<?php if ( ! Akismet::predefined_api_key() ) { ?>
|
69 |
<tr>
|
70 |
<th class="akismet-api-key" width="10%" align="left" scope="row"><?php esc_html_e('API Key', 'akismet');?></th>
|
71 |
<td width="5%"/>
|
73 |
<span class="api-key"><input id="key" name="key" type="text" size="15" value="<?php echo esc_attr( get_option('wordpress_api_key') ); ?>" class="<?php echo esc_attr( 'regular-text code ' . $akismet_user->status ); ?>"></span>
|
74 |
</td>
|
75 |
</tr>
|
76 |
+
<?php } ?>
|
77 |
<?php if ( isset( $_GET['ssl_status'] ) ) { ?>
|
78 |
<tr>
|
79 |
<th align="left" scope="row"><?php esc_html_e( 'SSL Status', 'akismet' ); ?></th>
|
157 |
</tbody>
|
158 |
</table>
|
159 |
<div class="akismet-card-actions">
|
160 |
+
<?php if ( ! Akismet::predefined_api_key() ) { ?>
|
161 |
<div id="delete-action">
|
162 |
<a class="submitdelete deletion" href="<?php echo esc_url( Akismet_Admin::get_page_url( 'delete_key' ) ); ?>"><?php esc_html_e('Disconnect this account', 'akismet'); ?></a>
|
163 |
</div>
|
164 |
+
<?php } ?>
|
165 |
<?php wp_nonce_field(Akismet_Admin::NONCE) ?>
|
166 |
<div id="publishing-action">
|
167 |
<input type="hidden" name="action" value="enter-key">
|
172 |
</form>
|
173 |
</div>
|
174 |
</div>
|
175 |
+
|
176 |
+
<?php if ( ! Akismet::predefined_api_key() ) { ?>
|
177 |
+
<div class="akismet-card">
|
178 |
+
<div class="akismet-section-header">
|
179 |
+
<div class="akismet-section-header__label">
|
180 |
+
<span><?php esc_html_e( 'Account' , 'akismet'); ?></span>
|
181 |
+
</div>
|
182 |
</div>
|
|
|
183 |
|
184 |
+
<div class="inside">
|
185 |
+
<table cellspacing="0" border="0" class="akismet-settings">
|
186 |
+
<tbody>
|
187 |
+
<tr>
|
188 |
+
<th scope="row" align="left"><?php esc_html_e( 'Subscription Type' , 'akismet');?></th>
|
189 |
+
<td width="5%"/>
|
190 |
+
<td align="left">
|
191 |
+
<p><?php echo esc_html( $akismet_user->account_name ); ?></p>
|
192 |
+
</td>
|
193 |
+
</tr>
|
194 |
+
<tr>
|
195 |
+
<th scope="row" align="left"><?php esc_html_e( 'Status' , 'akismet');?></th>
|
196 |
+
<td width="5%"/>
|
197 |
+
<td align="left">
|
198 |
+
<p><?php
|
199 |
+
if ( 'cancelled' == $akismet_user->status ) :
|
200 |
+
esc_html_e( 'Cancelled', 'akismet' );
|
201 |
+
elseif ( 'suspended' == $akismet_user->status ) :
|
202 |
+
esc_html_e( 'Suspended', 'akismet' );
|
203 |
+
elseif ( 'missing' == $akismet_user->status ) :
|
204 |
+
esc_html_e( 'Missing', 'akismet' );
|
205 |
+
elseif ( 'no-sub' == $akismet_user->status ) :
|
206 |
+
esc_html_e( 'No Subscription Found', 'akismet' );
|
207 |
+
else :
|
208 |
+
esc_html_e( 'Active', 'akismet' );
|
209 |
+
endif; ?></p>
|
210 |
+
</td>
|
211 |
+
</tr>
|
212 |
+
<?php if ( $akismet_user->next_billing_date ) : ?>
|
213 |
+
<tr>
|
214 |
+
<th scope="row" align="left"><?php esc_html_e( 'Next Billing Date' , 'akismet');?></th>
|
215 |
+
<td width="5%"/>
|
216 |
+
<td align="left">
|
217 |
+
<p><?php echo date( 'F j, Y', $akismet_user->next_billing_date ); ?></p>
|
218 |
+
</td>
|
219 |
+
</tr>
|
220 |
+
<?php endif; ?>
|
221 |
+
</tbody>
|
222 |
+
</table>
|
223 |
+
<div class="akismet-card-actions">
|
224 |
+
<div id="publishing-action">
|
225 |
+
<?php Akismet::view( 'get', array( 'text' => ( $akismet_user->account_type == 'free-api-key' && $akismet_user->status == 'active' ? __( 'Upgrade' , 'akismet') : __( 'Change' , 'akismet') ), 'redirect' => 'upgrade' ) ); ?>
|
226 |
+
</div>
|
227 |
+
<div class="clear"></div>
|
228 |
</div>
|
|
|
229 |
</div>
|
230 |
</div>
|
231 |
+
<?php } ?>
|
232 |
<?php endif;?>
|
233 |
</div>
|
234 |
</div>
|
views/start.php
CHANGED
@@ -8,86 +8,95 @@
|
|
8 |
</div>
|
9 |
<div class="akismet-lower">
|
10 |
<?php Akismet_Admin::display_status(); ?>
|
|
|
11 |
<div class="akismet-box">
|
12 |
<h2><?php esc_html_e( 'Eliminate spam from your site', 'akismet' ); ?></h2>
|
13 |
<p><?php esc_html_e( 'Select one of the options below to get started.', 'akismet' ); ?></p>
|
14 |
</div>
|
15 |
<div class="akismet-boxes">
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
<div class="akismet-box">
|
19 |
-
<h3><?php esc_html_e( '
|
20 |
-
<p><?php esc_html_e( '
|
21 |
-
<form
|
22 |
-
|
23 |
-
<input type="hidden" name="
|
24 |
-
<
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
<?php echo get_avatar( $akismet_user->user_email, null, null, null, array( 'class' => 'akismet-jetpack-gravatar' ) ); ?>
|
29 |
-
<p><?php echo sprintf( esc_html( __( 'You are connected as %s.', 'akismet' ) ), '<b>' . esc_html( $akismet_user->user_login ) . '</b>' ); ?><br /><span class="akismet-jetpack-email"><?php echo esc_html( $akismet_user->user_email ); ?></span></p>
|
30 |
-
</div>
|
31 |
-
<?php } elseif ( $akismet_user->status == 'cancelled' ) { ?>
|
32 |
-
<div class="akismet-box">
|
33 |
-
<h3><?php esc_html_e( 'Connect via Jetpack', 'akismet' ); ?></h3>
|
34 |
-
<form name="akismet_activate" id="akismet_activate" action="https://akismet.com/get/" method="post" class="akismet-right" target="_blank">
|
35 |
-
<input type="hidden" name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"/>
|
36 |
-
<input type="hidden" name="blog" value="<?php echo esc_url( get_option( 'home' ) ); ?>"/>
|
37 |
-
<input type="hidden" name="user_id" value="<?php echo esc_attr( $akismet_user->ID ); ?>"/>
|
38 |
-
<input type="hidden" name="redirect" value="upgrade"/>
|
39 |
-
<input type="submit" class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Reactivate Akismet' , 'akismet' ); ?>"/>
|
40 |
</form>
|
41 |
-
<p><?php echo esc_html( sprintf( __( 'Your subscription for %s is cancelled.' , 'akismet' ), $akismet_user->user_email ) ); ?></p>
|
42 |
-
</div>
|
43 |
-
<?php } elseif ( $akismet_user->status == 'suspended' ) { ?>
|
44 |
-
<div class="centered akismet-box">
|
45 |
-
<h3><?php esc_html_e( 'Connected via Jetpack' , 'akismet' ); ?></h3>
|
46 |
-
<p class="akismet-alert-text"><?php echo esc_html( sprintf( __( 'Your subscription for %s is suspended.' , 'akismet' ), $akismet_user->user_email ) ); ?></p>
|
47 |
-
<p><?php esc_html_e( 'No worries! Get in touch and we’ll sort this out.', 'akismet' ); ?></p>
|
48 |
-
<p><a href="https://akismet.com/contact" class="akismet-button akismet-is-primary"><?php esc_html_e( 'Contact Akismet support' , 'akismet' ); ?></a></p>
|
49 |
</div>
|
50 |
-
<?php } else {
|
51 |
<div class="akismet-box">
|
52 |
-
<
|
53 |
-
<p><?php
|
54 |
-
<form name="akismet_use_wpcom_key" action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="post" id="akismet-activate" class="akismet-right">
|
55 |
-
<input type="hidden" name="key" value="<?php echo esc_attr( $akismet_user->api_key );?>"/>
|
56 |
-
<input type="hidden" name="action" value="enter-key">
|
57 |
-
<?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
|
58 |
-
<input type="submit" class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Connect with Jetpack' , 'akismet' ); ?>"/>
|
59 |
-
</form>
|
60 |
-
<?php echo get_avatar( $akismet_user->user_email, null, null, null, array( 'class' => 'akismet-jetpack-gravatar' ) ); ?>
|
61 |
-
<p><?php echo sprintf( esc_html( __( 'You are connected as %s.', 'akismet' ) ), '<b>' . esc_html( $akismet_user->user_login ) . '</b>' ); ?><br /><span class="akismet-jetpack-email"><?php echo esc_html( $akismet_user->user_email ); ?></span></p>
|
62 |
</div>
|
63 |
<?php } ?>
|
64 |
-
<div class="akismet-box">
|
65 |
-
<h3><?php esc_html_e( 'Or sign up with a different email address', 'akismet' ); ?></h3>
|
66 |
-
<div class="akismet-right">
|
67 |
-
<?php Akismet::view( 'get', array( 'text' => __( 'Sign up with a different email address' , 'akismet' ), 'classes' => array( 'akismet-button' ) ) ); ?>
|
68 |
-
</div>
|
69 |
-
<p><?php esc_html_e( 'Choose this option to use Akismet independently of your Jetpack connection.', 'akismet' ); ?></p>
|
70 |
-
</div>
|
71 |
-
<?php } else { ?>
|
72 |
-
<div class="akismet-box">
|
73 |
-
<h3><?php esc_html_e( 'Activate Akismet' , 'akismet' );?></h3>
|
74 |
-
<div class="akismet-right">
|
75 |
-
<?php Akismet::view( 'get', array( 'text' => __( 'Get your API key' , 'akismet' ), 'classes' => array( 'akismet-button', 'akismet-is-primary' ) ) ); ?>
|
76 |
-
</div>
|
77 |
-
<p><?php esc_html_e( 'Log in or sign up now.', 'akismet' ); ?></p>
|
78 |
-
</div>
|
79 |
-
<?php } ?>
|
80 |
-
<div class="akismet-box">
|
81 |
-
<h3><?php esc_html_e( 'Or enter an API key', 'akismet' ); ?></h3>
|
82 |
-
<p><?php esc_html_e( 'Already have your key? Enter it here.', 'akismet' ); ?> <a href="https://docs.akismet.com/getting-started/api-key/" target="_blank"><?php esc_html_e( '(What is an API key?)', 'akismet' ); ?></a></p>
|
83 |
-
<form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="post">
|
84 |
-
<?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
|
85 |
-
<input type="hidden" name="action" value="enter-key">
|
86 |
-
<p style="width: 100%; display: flex; flex-wrap: nowrap; box-sizing: border-box;">
|
87 |
-
<input id="key" name="key" type="text" size="15" value="" class="regular-text code" style="flex-grow: 1; margin-right: 1rem;">
|
88 |
-
<input type="submit" name="submit" id="submit" class="akismet-button" value="<?php esc_attr_e( 'Connect with API key', 'akismet' );?>">
|
89 |
-
</p>
|
90 |
-
</form>
|
91 |
</div>
|
92 |
</div>
|
93 |
</div>
|
8 |
</div>
|
9 |
<div class="akismet-lower">
|
10 |
<?php Akismet_Admin::display_status(); ?>
|
11 |
+
|
12 |
<div class="akismet-box">
|
13 |
<h2><?php esc_html_e( 'Eliminate spam from your site', 'akismet' ); ?></h2>
|
14 |
<p><?php esc_html_e( 'Select one of the options below to get started.', 'akismet' ); ?></p>
|
15 |
</div>
|
16 |
<div class="akismet-boxes">
|
17 |
+
<?php if ( ! Akismet::predefined_api_key() ) { ?>
|
18 |
+
<?php if ( $akismet_user && in_array( $akismet_user->status, array( 'active', 'active-dunning', 'no-sub', 'missing', 'cancelled', 'suspended' ) ) ) { ?>
|
19 |
+
<?php if ( in_array( $akismet_user->status, array( 'no-sub', 'missing' ) ) ) { ?>
|
20 |
+
<div class="akismet-box">
|
21 |
+
<h3><?php esc_html_e( 'Connect via Jetpack', 'akismet' ); ?></h3>
|
22 |
+
<p><?php esc_html_e( 'Use your Jetpack connection to activate Akismet.', 'akismet' ); ?></p>
|
23 |
+
<form name="akismet_activate" id="akismet_activate" action="https://akismet.com/get/" method="post" class="akismet-right" target="_blank">
|
24 |
+
<input type="hidden" name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"/>
|
25 |
+
<input type="hidden" name="blog" value="<?php echo esc_url( get_option( 'home' ) ); ?>"/>
|
26 |
+
<input type="hidden" name="auto-connect" value="<?php echo esc_attr( $akismet_user->ID ); ?>"/>
|
27 |
+
<input type="hidden" name="redirect" value="plugin-signup"/>
|
28 |
+
<input type="submit" class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Connect with Jetpack' , 'akismet' ); ?>"/>
|
29 |
+
</form>
|
30 |
+
<?php echo get_avatar( $akismet_user->user_email, null, null, null, array( 'class' => 'akismet-jetpack-gravatar' ) ); ?>
|
31 |
+
<p><?php echo sprintf( esc_html( __( 'You are connected as %s.', 'akismet' ) ), '<b>' . esc_html( $akismet_user->user_login ) . '</b>' ); ?><br /><span class="akismet-jetpack-email"><?php echo esc_html( $akismet_user->user_email ); ?></span></p>
|
32 |
+
</div>
|
33 |
+
<?php } elseif ( $akismet_user->status == 'cancelled' ) { ?>
|
34 |
+
<div class="akismet-box">
|
35 |
+
<h3><?php esc_html_e( 'Connect via Jetpack', 'akismet' ); ?></h3>
|
36 |
+
<form name="akismet_activate" id="akismet_activate" action="https://akismet.com/get/" method="post" class="akismet-right" target="_blank">
|
37 |
+
<input type="hidden" name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"/>
|
38 |
+
<input type="hidden" name="blog" value="<?php echo esc_url( get_option( 'home' ) ); ?>"/>
|
39 |
+
<input type="hidden" name="user_id" value="<?php echo esc_attr( $akismet_user->ID ); ?>"/>
|
40 |
+
<input type="hidden" name="redirect" value="upgrade"/>
|
41 |
+
<input type="submit" class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Reactivate Akismet' , 'akismet' ); ?>"/>
|
42 |
+
</form>
|
43 |
+
<p><?php echo esc_html( sprintf( __( 'Your subscription for %s is cancelled.' , 'akismet' ), $akismet_user->user_email ) ); ?></p>
|
44 |
+
</div>
|
45 |
+
<?php } elseif ( $akismet_user->status == 'suspended' ) { ?>
|
46 |
+
<div class="centered akismet-box">
|
47 |
+
<h3><?php esc_html_e( 'Connected via Jetpack' , 'akismet' ); ?></h3>
|
48 |
+
<p class="akismet-alert-text"><?php echo esc_html( sprintf( __( 'Your subscription for %s is suspended.' , 'akismet' ), $akismet_user->user_email ) ); ?></p>
|
49 |
+
<p><?php esc_html_e( 'No worries! Get in touch and we’ll sort this out.', 'akismet' ); ?></p>
|
50 |
+
<p><a href="https://akismet.com/contact" class="akismet-button akismet-is-primary"><?php esc_html_e( 'Contact Akismet support' , 'akismet' ); ?></a></p>
|
51 |
+
</div>
|
52 |
+
<?php } else { // ask do they want to use akismet account found using jetpack wpcom connection ?>
|
53 |
+
<div class="akismet-box">
|
54 |
+
<h3><?php esc_html_e( 'Connect via Jetpack', 'akismet' ); ?></h3>
|
55 |
+
<p><?php esc_html_e( 'Use your Jetpack connection to activate Akismet.', 'akismet' ); ?></p>
|
56 |
+
<form name="akismet_use_wpcom_key" action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="post" id="akismet-activate" class="akismet-right">
|
57 |
+
<input type="hidden" name="key" value="<?php echo esc_attr( $akismet_user->api_key );?>"/>
|
58 |
+
<input type="hidden" name="action" value="enter-key">
|
59 |
+
<?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
|
60 |
+
<input type="submit" class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Connect with Jetpack' , 'akismet' ); ?>"/>
|
61 |
+
</form>
|
62 |
+
<?php echo get_avatar( $akismet_user->user_email, null, null, null, array( 'class' => 'akismet-jetpack-gravatar' ) ); ?>
|
63 |
+
<p><?php echo sprintf( esc_html( __( 'You are connected as %s.', 'akismet' ) ), '<b>' . esc_html( $akismet_user->user_login ) . '</b>' ); ?><br /><span class="akismet-jetpack-email"><?php echo esc_html( $akismet_user->user_email ); ?></span></p>
|
64 |
+
</div>
|
65 |
+
<?php } ?>
|
66 |
+
<div class="akismet-box">
|
67 |
+
<h3><?php esc_html_e( 'Or sign up with a different email address', 'akismet' ); ?></h3>
|
68 |
+
<div class="akismet-right">
|
69 |
+
<?php Akismet::view( 'get', array( 'text' => __( 'Sign up with a different email address' , 'akismet' ), 'classes' => array( 'akismet-button' ) ) ); ?>
|
70 |
+
</div>
|
71 |
+
<p><?php esc_html_e( 'Choose this option to use Akismet independently of your Jetpack connection.', 'akismet' ); ?></p>
|
72 |
+
</div>
|
73 |
+
<?php } else { ?>
|
74 |
+
<div class="akismet-box">
|
75 |
+
<h3><?php esc_html_e( 'Activate Akismet' , 'akismet' );?></h3>
|
76 |
+
<div class="akismet-right">
|
77 |
+
<?php Akismet::view( 'get', array( 'text' => __( 'Get your API key' , 'akismet' ), 'classes' => array( 'akismet-button', 'akismet-is-primary' ) ) ); ?>
|
78 |
+
</div>
|
79 |
+
<p><?php esc_html_e( 'Log in or sign up now.', 'akismet' ); ?></p>
|
80 |
+
</div>
|
81 |
+
<?php } ?>
|
82 |
<div class="akismet-box">
|
83 |
+
<h3><?php esc_html_e( 'Or enter an API key', 'akismet' ); ?></h3>
|
84 |
+
<p><?php esc_html_e( 'Already have your key? Enter it here.', 'akismet' ); ?> <a href="https://docs.akismet.com/getting-started/api-key/" target="_blank"><?php esc_html_e( '(What is an API key?)', 'akismet' ); ?></a></p>
|
85 |
+
<form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="post">
|
86 |
+
<?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
|
87 |
+
<input type="hidden" name="action" value="enter-key">
|
88 |
+
<p style="width: 100%; display: flex; flex-wrap: nowrap; box-sizing: border-box;">
|
89 |
+
<input id="key" name="key" type="text" size="15" value="" class="regular-text code" style="flex-grow: 1; margin-right: 1rem;">
|
90 |
+
<input type="submit" name="submit" id="submit" class="akismet-button" value="<?php esc_attr_e( 'Connect with API key', 'akismet' );?>">
|
91 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
</form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
</div>
|
94 |
+
<?php } else { ?>
|
95 |
<div class="akismet-box">
|
96 |
+
<h2><?php esc_html_e( 'Manual Configuration', 'akismet' ); ?></h2>
|
97 |
+
<p><?php echo sprintf( esc_html__( 'An Akismet API key has been defined in the %s file for this site.', 'akismet' ), '<code>wp-config.php</code>' ); ?></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
</div>
|
99 |
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
</div>
|
101 |
</div>
|
102 |
</div>
|