commit: 1f38dbdf035b1f008eddfe052d3a17c66240ed8a
Author: Yury German <blueknight <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 8 02:01:02 2017 +0000
Commit: Yury German <blueknight <AT> gentoo <DOT> org>
CommitDate: Wed Mar 8 02:01:02 2017 +0000
URL: https://gitweb.gentoo.org/proj/blogs-gentoo.git/commit/?id=1f38dbdf
Upgrade Akismet to 3.3
plugins/akismet/_inc/akismet.css | 508 ++++++++++++++++++------------
plugins/akismet/_inc/akismet.js | 35 +-
plugins/akismet/_inc/img/logo-full-2x.png | Bin 4970 -> 7570 bytes
plugins/akismet/akismet.php | 8 +-
plugins/akismet/class.akismet-admin.php | 184 ++++++++---
plugins/akismet/class.akismet.php | 18 +-
plugins/akismet/readme.txt | 17 +-
plugins/akismet/views/config.php | 402 +++++++++++------------
plugins/akismet/views/get.php | 2 +-
plugins/akismet/views/notice.php | 108 ++++---
plugins/akismet/views/start.php | 184 ++++++-----
plugins/akismet/views/stats.php | 13 +-
plugins/akismet/views/strict.php | 17 -
plugins/akismet/wrapper.php | 2 +-
14 files changed, 872 insertions(+), 626 deletions(-)
diff --git a/plugins/akismet/_inc/akismet.css b/plugins/akismet/_inc/akismet.css
index d38e14b..53495bb 100644
--- a/plugins/akismet/_inc/akismet.css
+++ b/plugins/akismet/_inc/akismet.css
@@ -1,3 +1,6 @@
+.wp-admin.jetpack_page_akismet-key-config,
.wp-admin.settings_page_akismet-key-config {
+ background-color:#f3f6f8;
+}
#submitted-on {
position: relative;
@@ -73,136 +76,37 @@ table.comments td.comment p a:after {
height: 338px;
width: 450px;
}
-h2.ak-header {
- padding: 30px;
- background: #649316 url('img/logo-full-2x.png') no-repeat 20px center;
- background-size: 185px 33px;
- height: 33px;
- text-indent: -9999em;
- margin-right: 10px;
-}
.checkforspam {
display: inline-block !important;
}
-.checkforspam-spinner {
- display: inline-block;
- margin-top: 7px;
-}
-
-.config-wrap {
- margin-top: 2em;
- max-width: 700px;
-}
-
-.activate-option {
- background: #e3e3e3;
- border-radius: 3px;
- margin-bottom: 30px;
- overflow: hidden;
- padding: 20px;
-}
-.activate-option.clicked {
- background: #649316;
- color: #fff;
-}
-.activate-option.clicked:hover {
- background: #68802E;
- color: #fff;
-}
-
-.activate-option .button.button-secondary {
- margin: 15px 0;
-}
-
-.activate-option p {
- margin: 10px 0 10px;
-}
-
-.activate-highlight {
- background: #fff;
- padding: 30px;
- margin-right: 10px;
+.checkforspam-progress {
+ padding-left: 1ex;
+ display: none;
}
-
-.activate-highlight.secondary {
- background: #ddd;
- padding: 20px 30px;
+.checkforspam.button-disabled .checkforspam-progress {
+ display: inline;
}
-.activate-highlight h3 {
- margin: 0 0 0.3em;
-}
-.activate-highlight p {
- color: #777;
-}
-.activate-highlight .button-primary {
- margin-top: 15px;
+.checkforspam-spinner {
+ display: inline-block;
+ margin-top: 7px;
}
-#akismet-enter-api-key .regular-text {
- width: 18em;
- margin-top: 15px;
+.akismet-right {
+ float: right;
}
-.right {
- float: right;
+.akismet-card .akismet-right {
+ margin: 1em 0;
}
-.alert-text {
+.akismet-alert-text {
color: #dd3d36;
+ font-weight: bold;
+ font-size: 120%;
+ margin-top: .5rem;
}
-.success {
- color: #649316;
-}
-.option-description {
- float: left;
- font-size: 16px;
-}
-.option-description span {
- color: #666;
- display: block;
- font-size: 14px;
- margin-top: 5px;
-}
-.option-action {
- float: right;
-}
-.key-config-link {
- font-size: 14px;
- margin-left: 20px;
-}
-.jetpack-account {
- float: left;
- font-size: 18px;
- margin-right: 40px;
-}
-.small-heading {
- color: #777;
- display: block;
- font-size: 12px;
- font-weight: bold;
- margin-bottom: 5px;
- text-transform: uppercase;
-}
-.inline-label {
- background: #ddd;
- border-radius: 3px;
- font-size: 11px;
- padding: 3px 8px;
- text-transform: uppercase;
-}
-.inline-label.alert {
- background: #e54747;
- color: #fff;
-}
-.jetpack-account .inline-label {
- margin-left: 5px;
-}
-.option-action .manual-key {
- margin-top: 7px;
-}
-
-.alert {
+.akismet-alert {
border: 1px solid #e5e5e5;
padding: 0.4em 1em 1.4em 1em;
border-radius: 3px;
@@ -211,49 +115,45 @@ h2.ak-header {
border-style: solid;
}
-.alert h3.key-status {
+.akismet-alert h3.akismet-key-status {
color: #fff;
margin: 1em 0 0.5em 0;
}
-.alert.critical {
+.akismet-alert.akismet-critical {
background-color: #993300;
}
-.alert.active {
+.akismet-alert.akismet-active {
background-color: #649316;
}
-.alert p.key-status {
+.akismet-alert p.akismet-key-status {
font-size: 24px;
}
-.alert p.description {
+.akismet-alert p.akismet-description {
color:#fff;
font-size: 14px;
margin: 0 0;
font-style: normal;
}
-.alert p.description a,
-.alert p.description a,
-.alert p.description a,
-.alert p.description a {
+.akismet-alert p.akismet-description a,
+.akismet-alert p.akismet-description a,
+.akismet-alert p.akismet-description a,
+.akismet-alert p.akismet-description a {
color: #fff;
}
-.new-snapshot {
+.akismet-new-snapshot {
margin-top: 1em;
padding: 1em;
text-align: center;
-}
-
-.new-snapshot.stats {
background: #fff;
- border: 1px solid #e5e5e5;
}
-.new-snapshot h3 {
+.akismet-new-snapshot h3 {
background: #f5f5f5;
color: #888;
font-size: 11px;
@@ -266,7 +166,7 @@ h2.ak-header {
width: 100%;
}
-.new-snapshot ul li {
+.akismet-new-snapshot ul li {
color: #999;
float: left;
font-size: 11px;
@@ -279,16 +179,12 @@ h2.ak-header {
-ms-box-sizing: border-box;
}
-.new-snapshot.stats ul li:first-child,
-.new-snapshot.stats ul li:nth-child(2) {
+.akismet-new-snapshot ul li:first-child,
+.akismet-new-snapshot ul li:nth-child(2) {
border-right:1px dotted #ccc;
}
-.new-snapshot.account ul li:nth-child(2) {
- border-right: none;
-}
-
-.new-snapshot ul li span {
+.akismet-new-snapshot ul li span {
color: #52accc;
display: block;
font-size: 32px;
@@ -296,60 +192,6 @@ h2.ak-header {
line-height: 1.5em;
}
-.new-snapshot.stats {
-}
-
-.new-snapshot.account,
-.new-snapshot.settings {
- float: left;
- padding: 0;
- text-align: left;
- width: 50%;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- -ms-box-sizing: border-box;
-}
-
-.account-container {
- background: #fff;
- border: 1px solid #e5e5e5;
- margin-right: 0.5em;
-}
-
-.settings-container {
- background: #fff;
- border: 1px solid #e5e5e5;
- margin-left: 0.5em;
-}
-
-.new-snapshot.account ul li {
- width:100%
-}
-
-.new-snapshot.account ul li span {
- font-size: 14px;
- font-weight: normal;
-}
-
-
-.new-snapshot.settings ul li {
- border: none;
- display: block;
- width:100%
-}
-
-.new-snapshot.settings ul li span {
- display: block;
- font-size: 14px;
- font-weight: normal;
-}
-
-.new-snapshot.settings p.submit {
- margin: 0;
- text-align: center;
-}
-
.akismet-settings th:first-child {
vertical-align: top;
padding-top: 15px;
@@ -364,17 +206,13 @@ h2.ak-header {
width: 75%;
}
-.akismet-settings span.note{
+.akismet-settings span.akismet-note{
float: left;
padding-left: 23px;
font-size: 75%;
margin-top: -10px;
}
-.clearfix {
- clear:both;
-}
-
/**
* For the activation notice on the plugins page.
*/
@@ -471,4 +309,278 @@ h2.ak-header {
.akismet_activate .aa_description strong {
color: #FFF;
font-weight: normal;
+}
+
+.jetpack_page_akismet-key-config #wpcontent, .settings_page_akismet-key-config
#wpcontent {
+ padding-left: 0;
+}
+
+.akismet-masthead {
+ background-color:#fff;
+ text-align:center;
+ box-shadow:0 1px 0 rgba(200,215,225,0.5),0 1px 2px #e9eff3
+}
+@media (max-width: 45rem) {
+ .akismet-masthead {
+ padding:0 1.25rem
+ }
+}
+
+.akismet-masthead__inside-container {
+ padding:.375rem 0;
+ margin:0 auto;
+ width:100%;
+ max-width:45rem;
+ text-align: left;
+}
+.akismet-masthead__logo-container {
+ padding:.3125rem 0 0
+}
+.akismet-masthead__logo {
+ width:10.375rem;
+ height:1.8125rem;
+}
+.akismet-masthead__logo-link {
+ display:inline-block;
+ outline:none;
+ vertical-align:middle
+}
+.akismet-masthead__logo-link:focus {
+ line-height:0;
+ box-shadow:0 0 0 2px #78dcfa
+}
+.akismet-masthead__logo-link+code {
+ margin:0 10px;
+ padding:5px 9px;
+ border-radius:2px;
+ background:#e6ecf1;
+ color:#647a88
+}
+.akismet-masthead__links {
+ display:-ms-flexbox;
+ display:flex;
+ -ms-flex-flow:row wrap;
+ flex-flow:row wrap;
+ -ms-flex:2 50%;
+ flex:2 50%;
+ -ms-flex-pack:end;
+ justify-content:flex-end;
+ margin:0
+}
+@media (max-width: 480px) {
+ .akismet-masthead__links {
+ padding-right:.625rem
+ }
+}
+.akismet-masthead__link-li {
+ margin:0;
+ padding:0
+}
+.akismet-masthead__link {
+ font-style:normal;
+ color:#0087be;
+ padding:.625rem;
+ display:inline-block
+}
+.akismet-masthead__link:visited {
+ color:#0087be
+}
+.akismet-masthead__link:active,.akismet-masthead__link:hover {
+ color:#00aadc
+}
+.akismet-masthead__link:hover {
+ text-decoration:underline
+}
+.akismet-masthead__link .dashicons {
+ display:none
+}
+@media (max-width: 480px) {
+ .akismet-masthead__link:hover,.akismet-masthead__link:active {
+ text-decoration:none
+ }
+ .akismet-masthead__link .dashicons {
+ display:block;
+ font-size:1.75rem
+ }
+ .akismet-masthead__link span+span {
+ display:none
+ }
+}
+.akismet-masthead__link-li:last-of-type .akismet-masthead__link {
+ padding-right:0
+}
+
+.akismet-lower {
+ margin: 0 auto;
+ text-align: left;
+ max-width: 45rem;
+ padding: 1.5rem;
+}
+
+.akismet-card {
+ margin-top: 1rem;
+ margin-bottom: 0;
+ position: relative;
+ margin: 0 auto 0.625rem auto;
+ box-sizing: border-box;
+ background: white;
+ box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #e9eff3;
+}
+
+.akismet-card:after, .akismet-card .inside:after,
.akismet-masthead__logo-container:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+
+.akismet-card .inside {
+ padding: 1.5rem;
+ padding-top: 1rem;
+}
+
+.akismet-card .akismet-card-actions {
+ margin-top: 1rem;
+}
+
+.jetpack_page_akismet-key-config .update-nag,
.settings_page_akismet-key-config .update-nag {
+ display: none;
+}
+
+.akismet-masthead .akismet-right {
+ line-height: 2.125rem;
+ font-size: 0.9rem;
+}
+
+.akismet-box {
+ box-sizing: border-box;
+ background: white;
+ border: 1px solid rgba(200, 215, 225, 0.5);
+}
+
+.akismet-box h2, .akismet-box h3 {
+ padding: 1.5rem 1.5rem .5rem 1.5rem;
+ margin: 0;
+}
+
+.akismet-box p {
+ padding: 0 1.5rem 1.5rem 1.5rem;
+ margin: 0;
+}
+
+.akismet-jetpack-email {
+ font-style: oblique;
+}
+
+.akismet-jetpack-gravatar {
+ padding: 0 0 0 1.5rem;
+ float: left;
+ margin-right: 1rem;
+ width: 54px;
+ height: 54px;
+}
+
+.akismet-box p:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+
+.akismet-box .akismet-right {
+ padding-right: 1.5rem;
+}
+
+.akismet-boxes .akismet-box {
+ margin-bottom: 0;
+ padding: 0;
+ margin-top: -1px;
+}
+
+.akismet-boxes .akismet-box:last-child {
+ margin-bottom: 1.5rem;
+}
+
+.akismet-boxes .akismet-box:first-child {
+ margin-top: 1.5rem;
+}
+
+.akismet-button, .akismet-button:hover, .akismet-button:visited {
+ background: white;
+ border-color: #c8d7e1;
+ border-style: solid;
+ border-width: 1px 1px 2px;
+ color: #2e4453;
+ cursor: pointer;
+ display: inline-block;
+ margin: 0;
+ outline: 0;
+ overflow: hidden;
+ font-size: 14px;
+ font-weight: 500;
+ text-overflow: ellipsis;
+ text-decoration: none;
+ vertical-align: top;
+ box-sizing: border-box;
+ font-size: 14px;
+ line-height: 21px;
+ border-radius: 4px;
+ padding: 7px 14px 9px;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+
+.akismet-button:hover {
+ border-color: #a8bece;
+}
+
+.akismet-button:active {
+ border-width: 2px 1px 1px;
+}
+
+.akismet-is-primary, .akismet-is-primary:hover, .akismet-is-primary:visited {
+ background: #00aadc;
+ border-color: #0087be;
+ color: white;
+}
+
+.akismet-is-primary:hover, .akismet-is-primary:focus {
+ border-color: #005082;
+}
+
+.akismet-is-primary:hover {
+ border-color: #005082;
+}
+
+.akismet-section-header {
+ position: relative;
+ margin: 0 auto 0.625rem auto;
+ padding: 1rem;
+ box-sizing: border-box;
+ box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #e9eff3;
+ background: #ffffff;
+ width: 100%;
+ padding-top: 0.6875rem;
+ padding-bottom: 0.6875rem;
+ display: flex;
+}
+
+.akismet-section-header__label {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-align: center;
+ align-items: center;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ line-height: 1.75rem;
+ position: relative;
+ font-size: 0.875rem;
+ color: #4f748e;
+}
+
+.akismet-section-header__actions {
+ line-height: 1.75rem;
}
\ No newline at end of file
diff --git a/plugins/akismet/_inc/akismet.js b/plugins/akismet/_inc/akismet.js
index ca4ebd2..a72e3a9 100644
--- a/plugins/akismet/_inc/akismet.js
+++ b/plugins/akismet/_inc/akismet.js
@@ -3,17 +3,6 @@ jQuery( function ( $ ) {
var mshotSecondTryTimer = null
var mshotThirdTryTimer = null
- $( 'a.activate-option' ).click( function(){
- var link = $( this );
- if ( link.hasClass( 'clicked' ) ) {
- link.removeClass( 'clicked' );
- }
- else {
- link.addClass( 'clicked' );
- }
- $( '.toggle-have-key' ).slideToggle( 'slow', function() {});
- return false;
- });
$('.akismet-status').each(function () {
var thisId = $(this).attr('commentid');
$(this).prependTo('#comment-' + thisId + ' .column-comment');
@@ -162,13 +151,24 @@ jQuery( function ( $ ) {
} );
$('.checkforspam:not(.button-disabled)').click( function(e) {
+ e.preventDefault();
+
$('.checkforspam:not(.button-disabled)').addClass('button-disabled');
- $('.checkforspam-spinner').addClass( 'spinner' );
+ $('.checkforspam-spinner').addClass( 'spinner' ).addClass(
'is-active' );
+
+ // Update the label on the "Check for Spam" button to use the
active "Checking for Spam" language.
+ $( '.checkforspam .akismet-label' ).text( $( '.checkforspam'
).data( 'active-label' ) );
+
akismet_check_for_spam(0, 100);
- e.preventDefault();
});
+ var spam_count = 0;
+ var recheck_count = 0;
+
function akismet_check_for_spam(offset, limit) {
+ // Update the progress counter on the "Check for Spam" button.
+ $( '.checkforspam-progress' ).text( $( '.checkforspam' ).data(
'progress-label-format' ).replace( '%1$s', offset ) );
+
$.post(
ajaxurl,
{
@@ -177,8 +177,11 @@ jQuery( function ( $ ) {
'limit': limit
},
function(result) {
+ recheck_count += result.counts.processed;
+ spam_count += result.counts.spam;
+
if (result.counts.processed < limit) {
- window.location.reload();
+ window.location.href = $(
'.checkforspam' ).data( 'success-url' ).replace( '__recheck_count__',
recheck_count ).replace( '__spam_count__', spam_count );
}
else {
// Account for comments that were
caught as spam and moved out of the queue.
@@ -187,6 +190,10 @@ jQuery( function ( $ ) {
}
);
}
+
+ if ( "start_recheck" in WPAkismet && WPAkismet.start_recheck ) {
+ $( '.checkforspam' ).click();
+ }
});
// URL encode plugin
jQuery.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var
r=/(^[a-zA-Z0-9_.]*)/;
diff --git a/plugins/akismet/_inc/img/logo-full-2x.png
b/plugins/akismet/_inc/img/logo-full-2x.png
index a9bed8b..c555285 100644
Binary files a/plugins/akismet/_inc/img/logo-full-2x.png and
b/plugins/akismet/_inc/img/logo-full-2x.png differ
diff --git a/plugins/akismet/akismet.php b/plugins/akismet/akismet.php
index 61b41fa..42d3321 100644
--- a/plugins/akismet/akismet.php
+++ b/plugins/akismet/akismet.php
@@ -3,10 +3,10 @@
* @package Akismet
*/
/*
-Plugin Name: Akismet
+Plugin Name: Akismet Anti-Spam
Plugin URI: https://akismet.com/
-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: 1) Click the "Activate" link to
the left of this description, 2) <a href="https://akismet.com/get/">Sign up for
an Akismet plan</a> to get an API key, and 3) Go to your Akismet configuration
page, and save your API key.
-Version: 3.2
+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.
+Version: 3.3
Author: Automattic
Author URI: https://automattic.com/wordpress-plugins/
License: GPLv2 or later
@@ -37,7 +37,7 @@ if ( !function_exists( 'add_action' ) ) {
exit;
}
-define( 'AKISMET_VERSION', '3.2' );
+define( 'AKISMET_VERSION', '3.3' );
define( 'AKISMET__MINIMUM_WP_VERSION', '3.7' );
define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'AKISMET_DELETE_LIMIT', 100000 );
diff --git a/plugins/akismet/class.akismet-admin.php
b/plugins/akismet/class.akismet-admin.php
index 2d29cab..fe29233 100644
--- a/plugins/akismet/class.akismet-admin.php
+++ b/plugins/akismet/class.akismet-admin.php
@@ -63,6 +63,8 @@ class Akismet_Admin {
add_filter( 'plugin_action_links_'.plugin_basename(
plugin_dir_path( __FILE__ ) . 'akismet.php'), array( 'Akismet_Admin',
'admin_plugin_settings_link' ) );
add_filter( 'wxr_export_skip_commentmeta', array(
'Akismet_Admin', 'exclude_commentmeta_from_export' ), 10, 3 );
+
+ add_filter( 'all_plugins', array( 'Akismet_Admin',
'modify_plugin_description' ) );
}
public static function admin_init() {
@@ -102,7 +104,7 @@ class Akismet_Admin {
public static function load_resources() {
global $hook_suffix;
- if ( in_array( $hook_suffix, array(
+ if ( in_array( $hook_suffix, apply_filters(
'akismet_admin_page_hook_suffixes', array(
'index.php', # dashboard
'edit-comments.php',
'comment.php',
@@ -110,13 +112,14 @@ class Akismet_Admin {
'settings_page_akismet-key-config',
'jetpack_page_akismet-key-config',
'plugins.php',
- ) ) ) {
+ ) ) ) ) {
wp_register_style( 'akismet.css', plugin_dir_url(
__FILE__ ) . '_inc/akismet.css', array(), AKISMET_VERSION );
wp_enqueue_style( 'akismet.css');
- wp_register_script( 'akismet.js', plugin_dir_url(
__FILE__ ) . '_inc/akismet.js', array('jquery','postbox'), AKISMET_VERSION );
+ wp_register_script( 'akismet.js', plugin_dir_url(
__FILE__ ) . '_inc/akismet.js', array('jquery'), AKISMET_VERSION );
wp_enqueue_script( 'akismet.js' );
- wp_localize_script( 'akismet.js', 'WPAkismet', array(
+
+ $inline_js = array(
'comment_author_url_nonce' => wp_create_nonce(
'comment_author_url_nonce' ),
'strings' => array(
'Remove this URL' => __( 'Remove this
URL' , 'akismet'),
@@ -125,7 +128,13 @@ class Akismet_Admin {
'(undo)' => __( '(undo)' ,
'akismet'),
'Re-adding...' => __( 'Re-adding...'
, 'akismet'),
)
- ) );
+ );
+
+ if ( isset( $_GET['akismet_recheck'] ) &&
wp_verify_nonce( $_GET['akismet_recheck'], 'akismet_recheck' ) ) {
+ $inline_js['start_recheck'] = true;
+ }
+
+ wp_localize_script( 'akismet.js', 'WPAkismet',
$inline_js );
}
}
@@ -349,7 +358,20 @@ class Akismet_Admin {
else
$link = add_query_arg( array( 'page' =>
'akismet-admin', 'recheckqueue' => 'true', 'noheader' => 'true' ), admin_url(
'edit-comments.php' ) );
- echo '</div><div class="alignleft"><a class="button-secondary
checkforspam" href="' . esc_url( $link ) . '">' . esc_html__('Check for Spam',
'akismet') . '</a><span class="checkforspam-spinner"></span>';
+ echo '</div>';
+ echo '<div class="alignleft">';
+ echo '<a
+ class="button-secondary checkforspam"
+ href="' . esc_url( $link ) . '"
+ data-active-label="' . esc_attr( __( 'Checking
for Spam', 'akismet' ) ) . '"
+ data-progress-label-format="' . esc_attr( __(
'(%1$s...)', 'akismet' ) ) . '"
+ data-success-url="' . esc_attr(
remove_query_arg( 'akismet_recheck', add_query_arg( array(
'akismet_recheck_complete' => 1, 'recheck_count' => urlencode(
'__recheck_count__' ), 'spam_count' => urlencode( '__spam_count__' ) ) ) ) ) .
'"
+ >';
+ echo '<span class="akismet-label">' . esc_html__('Check
for Spam', 'akismet') . '</span>';
+ echo '<span class="checkforspam-progress"></span>';
+ echo '</a>';
+ echo '<span class="checkforspam-spinner"></span>';
+
}
public static function recheck_queue() {
@@ -487,7 +509,14 @@ class Akismet_Admin {
if ( $desc )
echo '<span class="akismet-status"
commentid="'.$comment->comment_ID.'"><a
href="comment.php?action=editcomment&c='.$comment->comment_ID.'#akismet-status"
title="' . esc_attr__( 'View comment history' , 'akismet') . '">'.esc_html(
$desc ).'</a></span>';
- $show_user_comments = apply_filters(
'akismet_show_user_comments_approved',
get_option('akismet_show_user_comments_approved') );
+ $show_user_comments_option = get_option(
'akismet_show_user_comments_approved' );
+
+ if ( $show_user_comments_option === false ) {
+ // Default to active if the user hasn't made a decision.
+ $show_user_comments_option = '1';
+ }
+
+ $show_user_comments = apply_filters(
'akismet_show_user_comments_approved', $show_user_comments_option );
$show_user_comments = $show_user_comments === 'false' ? false :
$show_user_comments; //option used to be saved as 'false' / 'true'
if ( $show_user_comments ) {
@@ -793,10 +822,6 @@ class Akismet_Admin {
}
}
- public static function display_invalid_version() {
- Akismet::view( 'notice', array( 'type' => 'version' ) );
- }
-
public static function display_api_key_warning() {
Akismet::view( 'notice', array( 'type' => 'plugin' ) );
}
@@ -838,18 +863,26 @@ class Akismet_Admin {
if ( $_GET['action'] == 'save-key' ) {
if ( is_object( $akismet_user ) ) {
self::save_key( $akismet_user->api_key
);
- self::display_notice();
self::display_configuration_page();
- return;
+ return;
}
}
}
- echo '<h2 class="ak-header">'.esc_html__('Akismet',
'akismet').'</h2>';
-
- self::display_status();
+ Akismet::view( 'start', compact( 'akismet_user' ) );
+ /*
+ // To see all variants when testing.
+ $akismet_user->status = 'no-sub';
Akismet::view( 'start', compact( 'akismet_user' ) );
+ $akismet_user->status = 'cancelled';
+ Akismet::view( 'start', compact( 'akismet_user' ) );
+ $akismet_user->status = 'suspended';
+ Akismet::view( 'start', compact( 'akismet_user' ) );
+ $akismet_user->status = 'other';
+ Akismet::view( 'start', compact( 'akismet_user' ) );
+ $akismet_user = false;
+ */
}
public static function display_stats_page() {
@@ -869,12 +902,15 @@ class Akismet_Admin {
$stat_totals = self::get_stats( $api_key );
- // If unset, create the new strictness option using the old
discard option to determine its default
- if ( get_option( 'akismet_strictness' ) === false )
- add_option( 'akismet_strictness',
(get_option('akismet_discard_month') === 'true' ? '1' : '0') );
+ // If unset, create the new strictness option using the old
discard option to determine its default.
+ // If the old option wasn't set, default to discarding the
blatant spam.
+ if ( get_option( 'akismet_strictness' ) === false ) {
+ add_option( 'akismet_strictness', ( get_option(
'akismet_discard_month' ) === 'false' ? '0' : '1' ) );
+ }
+
+ $notices = array();
if ( empty( self::$notices ) ) {
- //show status
if ( ! empty( $stat_totals['all'] ) && isset(
$stat_totals['all']->time_saved ) && $akismet_user->status == 'active' &&
$akismet_user->account_type == 'free-api-key' ) {
$time_saved = false;
@@ -892,26 +928,53 @@ class Akismet_Admin {
elseif ( $total_in_minutes >= 30 )
$time_saved = $cleaning_up . '
' . sprintf( _n( 'Akismet has saved you %d minute!', 'Akismet has saved you %d
minutes!', $total_in_minutes, 'akismet' ), $total_in_minutes );
}
-
- Akismet::view( 'notice', array( 'type' =>
'active-notice', 'time_saved' => $time_saved ) );
+
+ $notices[] = array( 'type' => 'active-notice',
'time_saved' => $time_saved );
}
if ( !empty( $akismet_user->limit_reached ) &&
in_array( $akismet_user->limit_reached, array( 'yellow', 'red' ) ) ) {
- Akismet::view( 'notice', array( 'type' =>
'limit-reached', 'level' => $akismet_user->limit_reached ) );
+ $notices[] = array( 'type' => 'limit-reached',
'level' => $akismet_user->limit_reached );
}
}
- if ( !isset( self::$notices['status'] ) && in_array(
$akismet_user->status, array( 'cancelled', 'suspended', 'missing', 'no-sub' ) )
)
- Akismet::view( 'notice', array( 'type' =>
$akismet_user->status ) );
+ if ( !isset( self::$notices['status'] ) && in_array(
$akismet_user->status, array( 'cancelled', 'suspended', 'missing', 'no-sub' ) )
) {
+ $notices[] = array( 'type' => $akismet_user->status );
+ }
+ /*
+ // To see all variants when testing.
+ $notices[] = array( 'type' => 'active-notice', 'time_saved' =>
'Cleaning up spam takes time. Akismet has saved you 1 minute!' );
+ $notices[] = array( 'type' => 'plugin' );
+ $notices[] = array( 'type' => 'spam-check', 'link_text' =>
'Link text.' );
+ $notices[] = array( 'type' => 'notice', 'notice_header' =>
'This is the notice header.', 'notice_text' => 'This is the notice text.' );
+ $notices[] = array( 'type' => 'missing-functions' );
+ $notices[] = array( 'type' => 'servers-be-down' );
+ $notices[] = array( 'type' => 'active-dunning' );
+ $notices[] = array( 'type' => 'cancelled' );
+ $notices[] = array( 'type' => 'suspended' );
+ $notices[] = array( 'type' => 'missing' );
+ $notices[] = array( 'type' => 'no-sub' );
+ $notices[] = array( 'type' => 'new-key-valid' );
+ $notices[] = array( 'type' => 'new-key-invalid' );
+ $notices[] = array( 'type' => 'existing-key-invalid' );
+ $notices[] = array( 'type' => 'new-key-failed' );
+ $notices[] = array( 'type' => 'limit-reached', 'level' =>
'yellow' );
+ $notices[] = array( 'type' => 'limit-reached', 'level' => 'red'
);
+ */
+
Akismet::log( compact( 'stat_totals', 'akismet_user' ) );
- Akismet::view( 'config', compact( 'api_key', 'akismet_user',
'stat_totals' ) );
+ Akismet::view( 'config', compact( 'api_key', 'akismet_user',
'stat_totals', 'notices' ) );
}
public static function display_notice() {
global $hook_suffix;
- if ( in_array( $hook_suffix, array(
'jetpack_page_akismet-key-config', 'settings_page_akismet-key-config',
'edit-comments.php' ) ) && (int) get_option( 'akismet_alert_code' ) > 0 ) {
+ if ( in_array( $hook_suffix, array(
'jetpack_page_akismet-key-config', 'settings_page_akismet-key-config' ) ) ) {
+ // This page manages the notices and puts them inline
where they make sense.
+ return;
+ }
+
+ if ( in_array( $hook_suffix, array( 'edit-comments.php' ) ) &&
(int) get_option( 'akismet_alert_code' ) > 0 ) {
Akismet::verify_key( Akismet::get_api_key() ); //verify
that the key is still in alert state
if ( get_option( 'akismet_alert_code' ) > 0 )
@@ -923,38 +986,59 @@ class Akismet_Admin {
elseif ( $hook_suffix == 'edit-comments.php' &&
wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) {
self::display_spam_check_warning();
}
- elseif ( in_array( $hook_suffix, array(
'jetpack_page_akismet-key-config', 'settings_page_akismet-key-config' ) ) &&
Akismet::get_api_key() ) {
- self::display_status();
+ else if ( isset( $_GET['akismet_recheck_complete'] ) ) {
+ $recheck_count = (int) $_GET['recheck_count'];
+ $spam_count = (int) $_GET['spam_count'];
+
+ if ( $recheck_count === 0 ) {
+ $message = __( 'There were no comments to
check. Akismet will only check comments in the Pending queue.', 'akismet' );
+ }
+ else {
+ $message = sprintf( _n( 'Akismet checked %s
comment.', 'Akismet checked %s comments.', $recheck_count, 'akismet' ),
number_format( $recheck_count ) );
+ $message .= ' ';
+
+ if ( $spam_count === 0 ) {
+ $message .= __( 'No comments were
caught as spam.' );
+ }
+ else {
+ $message .= sprintf( _n( '%s comment
was caught as spam.', '%s comments were caught as spam.', $spam_count,
'akismet' ), number_format( $spam_count ) );
+ }
+ }
+
+ echo '<div class="notice notice-success"><p>' .
esc_html( $message ) . '</p></div>';
}
}
public static function display_status() {
- $type = '';
-
- if ( !self::get_server_connectivity() )
- $type = 'servers-be-down';
-
- if ( !empty( $type ) )
- Akismet::view( 'notice', compact( 'type' ) );
- elseif ( !empty( self::$notices ) ) {
- foreach ( self::$notices as $type ) {
+ if ( ! self::get_server_connectivity() ) {
+ Akismet::view( 'notice', compact( 'servers-be-down' ) );
+ }
+ else if ( ! empty( self::$notices ) ) {
+ foreach ( self::$notices as $index => $type ) {
if ( is_object( $type ) ) {
$notice_header = $notice_text = '';
- if ( property_exists( $type,
'notice_header' ) )
+ if ( property_exists( $type,
'notice_header' ) ) {
$notice_header = wp_kses(
$type->notice_header, self::$allowed );
+ }
- if ( property_exists( $type,
'notice_text' ) )
+ if ( property_exists( $type,
'notice_text' ) ) {
$notice_text = wp_kses(
$type->notice_text, self::$allowed );
+ }
if ( property_exists( $type, 'status' )
) {
$type = wp_kses( $type->status,
self::$allowed );
Akismet::view( 'notice',
compact( 'type', 'notice_header', 'notice_text' ) );
+
+ unset( self::$notices[ $index ]
);
}
}
- else
+ else {
Akismet::view( 'notice', compact(
'type' ) );
- }
+
+ unset( self::$notices[ $index ] );
+ }
+ }
}
}
@@ -997,4 +1081,20 @@ class Akismet_Admin {
return $exclude;
}
+
+ /**
+ * When Akismet is active, remove the "Activate Akismet" step from the
plugin description.
+ */
+ public static function modify_plugin_description( $all_plugins ) {
+ if ( isset( $all_plugins['akismet/akismet.php'] ) ) {
+ if ( Akismet::get_api_key() ) {
+
$all_plugins['akismet/akismet.php']['Description'] = __( 'Used by millions,
Akismet is quite possibly the best way in the world to <strong>protect your
blog from spam</strong>. Your site is fully configured and being protected,
even while you sleep.', 'akismet' );
+ }
+ else {
+
$all_plugins['akismet/akismet.php']['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, just go to <a href="admin.php?page=akismet-key-config">your
Akismet Settings page</a> to set up your API key.', 'akismet' );
+ }
+ }
+
+ return $all_plugins;
+ }
}
\ No newline at end of file
diff --git a/plugins/akismet/class.akismet.php
b/plugins/akismet/class.akismet.php
index 0d312e9..c8d5d75 100644
--- a/plugins/akismet/class.akismet.php
+++ b/plugins/akismet/class.akismet.php
@@ -129,8 +129,9 @@ class Akismet {
$comment['blog_charset'] = get_option('blog_charset');
$comment['permalink'] = get_permalink(
$comment['comment_post_ID'] );
- if ( !empty( $comment['user_ID'] ) )
+ if ( ! empty( $comment['user_ID'] ) ) {
$comment['user_role'] = Akismet::get_user_roles(
$comment['user_ID'] );
+ }
/** See filter documentation in init_hooks(). */
$akismet_nonce_option = apply_filters( 'akismet_comment_nonce',
get_option( 'akismet_comment_nonce' ) );
@@ -465,8 +466,9 @@ class Akismet {
$c['recheck_reason'] = $recheck_reason;
$c['user_role'] = '';
- if ( isset( $c['user_ID'] ) )
- $c['user_role'] =
Akismet::get_user_roles($c['user_ID']);
+ if ( ! empty( $c['user_ID'] ) ) {
+ $c['user_role'] = Akismet::get_user_roles(
$c['user_ID'] );
+ }
if ( self::is_test_mode() )
$c['is_test'] = 'true';
@@ -596,8 +598,9 @@ class Akismet {
$comment->site_domain = $current_site->domain;
$comment->user_role = '';
- if ( isset( $comment->user_ID ) )
+ if ( ! empty( $comment->user_ID ) ) {
$comment->user_role = Akismet::get_user_roles(
$comment->user_ID );
+ }
if ( self::is_test_mode() )
$comment->is_test = 'true';
@@ -642,8 +645,9 @@ class Akismet {
if ( is_object($current_site) )
$comment->site_domain = $current_site->domain;
- if ( isset( $comment->user_ID ) )
- $comment->user_role =
Akismet::get_user_roles($comment->user_ID);
+ if ( ! empty( $comment->user_ID ) ) {
+ $comment->user_role = Akismet::get_user_roles(
$comment->user_ID );
+ }
if ( Akismet::is_test_mode() )
$comment->is_test = 'true';
@@ -1038,7 +1042,7 @@ class Akismet {
}
// given a response from an API call like check_key_status(), update
the alert code options if an alert is present.
- private static function update_alert( $response ) {
+ public static function update_alert( $response ) {
$code = $msg = null;
if ( isset( $response[0]['x-akismet-alert-code'] ) ) {
$code = $response[0]['x-akismet-alert-code'];
diff --git a/plugins/akismet/readme.txt b/plugins/akismet/readme.txt
index 41c7540..3d7beb0 100644
--- a/plugins/akismet/readme.txt
+++ b/plugins/akismet/readme.txt
@@ -2,15 +2,15 @@
Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat,
eoigal, cfinke, automattic, jgs
Tags: akismet, comments, spam, antispam, anti-spam, anti spam, comment
moderation, comment spam, contact form spam, spam comments
Requires at least: 3.7
-Tested up to: 4.6.1
-Stable tag: 3.2
+Tested up to: 4.7.2
+Stable tag: 3.3
License: GPLv2 or later
-Akismet checks your comments against the Akismet Web service to see if they
look like spam or not.
+Akismet checks your comments and contact form submissions against our global
database of spam to protect you and your site from malicious content.
== Description ==
-Akismet checks your comments against the Akismet Web service to see if they
look like spam or not and lets you review the spam it catches under your blog's
"Comments" admin screen.
+Akismet checks your comments and contact form submissions against our global
database of spam to prevent your site from publishing malicious content. You
can review the comment spam it catches on your blog's "Comments" admin screen.
Major features in Akismet include:
@@ -30,6 +30,15 @@ Upload the Akismet plugin to your blog, Activate it, then
enter your [Akismet.co
== Changelog ==
+= 3.3 =
+*Release Date - 23 February 2017*
+
+* Updated the Akismet admin pages with a new clean design.
+* Fixed bugs preventing the `akismet_add_comment_nonce` and
`akismet_update_alert` wrapper functions from working properly.
+* Fixed bug preventing the loading indicator from appearing when re-checking
all comments for spam.
+* Added a progress indicator to the "Check for Spam" button.
+* Added a success message after manually rechecking the Pending queue for spam.
+
= 3.2 =
*Release Date - 6 September 2016*
diff --git a/plugins/akismet/views/config.php b/plugins/akismet/views/config.php
index bc8cb97..f7b232e 100644
--- a/plugins/akismet/views/config.php
+++ b/plugins/akismet/views/config.php
@@ -1,216 +1,232 @@
-<div class="wrap">
-
- <h2><?php esc_html_e( 'Akismet' , 'akismet');?></h2>
-
- <div class="have-key">
-
+<div id="akismet-plugin-container">
+ <div class="akismet-masthead">
+ <div class="akismet-masthead__inside-container">
+ <div class="akismet-masthead__logo-container">
+ <img class="akismet-masthead__logo" src="<?php
echo esc_url( plugins_url( '../_inc/img/logo-full-2x.png', __FILE__ ) ); ?>"
alt="Akismet" />
+ </div>
+ </div>
+ </div>
+ <div class="akismet-lower">
+ <?php if ( Akismet::get_api_key() ) { ?>
+ <?php Akismet_Admin::display_status(); ?>
+ <?php } ?>
+ <?php if ( ! empty( $notices ) ) { ?>
+ <?php foreach ( $notices as $notice ) { ?>
+ <?php Akismet::view( 'notice', $notice ); ?>
+ <?php } ?>
+ <?php } ?>
<?php if ( $stat_totals && isset( $stat_totals['all'] ) &&
(int) $stat_totals['all']->spam > 0 ) : ?>
-
- <div class="new-snapshot stats">
-
- <span style="float:right;margin:10px 15px -5px
0px">
- <a href="<?php echo esc_url(
Akismet_Admin::get_page_url( 'stats' ) ); ?>" class=""><?php esc_html_e(
'Summaries' , 'akismet');?></a>
- </span>
-
- <iframe allowtransparency="true" scrolling="no"
frameborder="0" style="width: 100%; height: 215px; overflow: hidden;"
src="<?php printf(
'//akismet.com/web/1.0/snapshot.php?blog=%s&api_key=%s&height=180&locale=%s',
urlencode( get_option( 'home' ) ), Akismet::get_api_key(), get_locale()
);?>"></iframe>
- <ul>
- <li>
- <h3><?php esc_html_e( 'Past six
months' , 'akismet');?></h3>
- <span><?php echo number_format(
$stat_totals['6-months']->spam );?></span>
- <?php echo esc_html( _n( 'Spam
blocked', 'Spam blocked', $stat_totals['6-months']->spam, 'akismet' ) ); ?>
- </li>
- <li>
- <h3><?php esc_html_e( 'All
time' , 'akismet');?></h3>
- <span><?php echo number_format(
$stat_totals['all']->spam );?></span>
- <?php echo esc_html( _n( 'Spam
blocked', 'Spam blocked', $stat_totals['all']->spam, 'akismet' ) ); ?>
- </li>
- <li>
- <h3><?php esc_html_e(
'Accuracy' , 'akismet');?></h3>
- <span><?php echo floatval(
$stat_totals['all']->accuracy ); ?>%</span>
- <?php printf( _n( '%s missed
spam', '%s missed spam', $stat_totals['all']->missed_spam, 'akismet' ),
number_format( $stat_totals['all']->missed_spam ) ); ?>
- |
- <?php printf( _n( '%s false
positive', '%s false positives', $stat_totals['all']->false_positives,
'akismet' ), number_format( $stat_totals['all']->false_positives ) ); ?>
- </li>
- </ul>
- <div class="clearfix"></div>
+ <div class="akismet-card">
+ <div class="akismet-section-header">
+ <div
class="akismet-section-header__label">
+ <span><?php esc_html_e(
'Statistics' , 'akismet'); ?></span>
+ </div>
+ <div
class="akismet-section-header__actions">
+ <a href="<?php echo esc_url(
Akismet_Admin::get_page_url( 'stats' ) ); ?>">
+ <?php esc_html_e(
'Detailed Stats' , 'akismet');?>
+ </a>
+ </div>
+ </div>
+
+ <div class="akismet-new-snapshot">
+ <iframe allowtransparency="true"
scrolling="no" frameborder="0" style="width: 100%; height: 220px; overflow:
hidden;" src="<?php printf(
'//akismet.com/web/1.0/snapshot.php?blog=%s&api_key=%s&height=200&locale=%s',
urlencode( get_option( 'home' ) ), Akismet::get_api_key(), get_locale()
);?>"></iframe>
+ <ul>
+ <li>
+ <h3><?php esc_html_e(
'Past six months' , 'akismet');?></h3>
+ <span><?php echo
number_format( $stat_totals['6-months']->spam );?></span>
+ <?php echo esc_html(
_n( 'Spam blocked', 'Spam blocked', $stat_totals['6-months']->spam, 'akismet' )
); ?>
+ </li>
+ <li>
+ <h3><?php esc_html_e(
'All time' , 'akismet');?></h3>
+ <span><?php echo
number_format( $stat_totals['all']->spam );?></span>
+ <?php echo esc_html(
_n( 'Spam blocked', 'Spam blocked', $stat_totals['all']->spam, 'akismet' ) ); ?>
+ </li>
+ <li>
+ <h3><?php esc_html_e(
'Accuracy' , 'akismet');?></h3>
+ <span><?php echo
floatval( $stat_totals['all']->accuracy ); ?>%</span>
+ <?php printf( _n( '%s
missed spam', '%s missed spam', $stat_totals['all']->missed_spam, 'akismet' ),
number_format( $stat_totals['all']->missed_spam ) ); ?>
+ |
+ <?php printf( _n( '%s
false positive', '%s false positives', $stat_totals['all']->false_positives,
'akismet' ), number_format( $stat_totals['all']->false_positives ) ); ?>
+ </li>
+ </ul>
+ </div>
</div>
<?php endif;?>
<?php if ( $akismet_user ):?>
+ <div class="akismet-card">
+ <div class="akismet-section-header">
+ <div
class="akismet-section-header__label">
+ <span><?php esc_html_e(
'Settings' , 'akismet'); ?></span>
+ </div>
+ </div>
- <div id="wpcom-stats-meta-box-container"
class="metabox-holder"><?php
- wp_nonce_field( 'closedpostboxes',
'closedpostboxesnonce', false );
- wp_nonce_field( 'meta-box-order',
'meta-box-order-nonce', false );
- ?>
- <script type="text/javascript">
- jQuery(document).ready( function($) {
-
jQuery('.if-js-closed').removeClass('if-js-closed').addClass('closed');
- if(typeof postboxes !== 'undefined')
- postboxes.add_postbox_toggles(
'plugins_page_akismet-key-config' );
- });
- </script>
- <div class="postbox-container" style="width:
55%;margin-right: 10px;">
- <div id="normal-sortables"
class="meta-box-sortables ui-sortable">
- <div id="referrers"
class="postbox ">
- <div class="handlediv"
title="Click to toggle"><br></div>
- <h3
class="hndle"><span><?php esc_html_e( 'Settings' , 'akismet');?></span></h3>
- <form
name="akismet_conf" id="akismet-conf" action="<?php echo esc_url(
Akismet_Admin::get_page_url() ); ?>" method="POST">
- <div
class="inside">
- <table
cellspacing="0" class="akismet-settings">
-
<tbody>
-
<?php if ( !defined( 'WPCOM_API_KEY' ) ):?>
-
<tr>
-
<th class="akismet-api-key" width="10%" align="left"
scope="row"><?php esc_html_e('API Key', 'akismet');?></th>
-
<td width="5%"/>
-
<td align="left">
-
<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>
-
</td>
-
</tr>
-
<?php endif; ?>
-
<?php if ( isset( $_GET['ssl_status'] ) ) { ?>
-
<tr>
-
<th align="left" scope="row"><?php esc_html_e( 'SSL
Status', 'akismet' ); ?></th>
-
<td></td>
-
<td align="left">
-
<p>
-
<?php
+ <div class="inside">
+ <form action="<?php echo esc_url(
Akismet_Admin::get_page_url() ); ?>" method="POST">
+ <table cellspacing="0"
class="akismet-settings">
+ <tbody>
+ <?php if (
!defined( 'WPCOM_API_KEY' ) ):?>
+ <tr>
+ <th
class="akismet-api-key" width="10%" align="left" scope="row"><?php
esc_html_e('API Key', 'akismet');?></th>
+ <td
width="5%"/>
+ <td
align="left">
+
<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>
+ </td>
+ </tr>
+ <?php endif; ?>
+ <?php if (
isset( $_GET['ssl_status'] ) ) { ?>
+ <tr>
+
<th align="left" scope="row"><?php esc_html_e( 'SSL Status', 'akismet' );
?></th>
+
<td></td>
+
<td align="left">
+
<p>
+
<?php
-
if ( ! function_exists(
'wp_http_supports' ) ) {
-
?><b><?php esc_html_e(
'Disabled.', 'akismet' ); ?></b> <?php printf( esc_html( 'Your WordPress
installation does not include the function %s; upgrade to the latest version of
WordPress.', 'akismet' ), '<code>wp_http_supports</code>' ); ?><?php
-
}
-
else if ( ! wp_http_supports( array(
'ssl' ) ) ) {
-
?><b><?php esc_html_e(
'Disabled.', 'akismet' ); ?></b> <?php esc_html_e( 'Your Web server cannot make
SSL requests; contact your Web host and ask them to add support for SSL
requests.', 'akismet' ); ?><?php
-
}
-
else {
-
$ssl_disabled = get_option(
'akismet_ssl_disabled' );
+
if ( ! function_exists( 'wp_http_supports' ) ) {
+
?><b><?php esc_html_e( 'Disabled.', 'akismet' ); ?></b>
<?php printf( esc_html( 'Your WordPress installation does not include the
function %s; upgrade to the latest version of WordPress.', 'akismet' ),
'<code>wp_http_supports</code>' ); ?><?php
+
}
+
else if ( ! wp_http_supports( array( 'ssl' ) ) ) {
+
?><b><?php esc_html_e( 'Disabled.', 'akismet' ); ?></b>
<?php esc_html_e( 'Your Web server cannot make SSL requests; contact your Web
host and ask them to add support for SSL requests.', 'akismet' ); ?><?php
+
}
+
else {
+
$ssl_disabled = get_option( 'akismet_ssl_disabled' );
-
if ( $ssl_disabled ) {
-
?><b><?php esc_html_e(
'Temporarily disabled.', 'akismet' ); ?></b> <?php esc_html_e( 'Akismet
encountered a problem with a previous SSL request and disabled it temporarily.
It will begin using SSL for requests again shortly.', 'akismet' ); ?><?php
-
}
-
else {
-
?><b><?php esc_html_e(
'Enabled.', 'akismet' ); ?></b> <?php esc_html_e( 'All systems functional.',
'akismet' ); ?><?php
-
}
-
}
+
if ( $ssl_disabled ) {
+
?><b><?php esc_html_e( 'Temporarily disabled.',
'akismet' ); ?></b> <?php esc_html_e( 'Akismet encountered a problem with a
previous SSL request and disabled it temporarily. It will begin using SSL for
requests again shortly.', 'akismet' ); ?><?php
+
}
+
else {
+
?><b><?php esc_html_e( 'Enabled.', 'akismet' );
?></b> <?php esc_html_e( 'All systems functional.', 'akismet' ); ?><?php
+
}
+
}
-
?>
-
</p>
-
</td>
-
</tr>
-
<?php } ?>
-
<tr>
-
<th align="left" scope="row"><?php esc_html_e('Comments',
'akismet');?></th>
-
<td></td>
-
<td align="left">
-
<p>
-
<label
for="akismet_show_user_comments_approved" title="<?php esc_attr_e( 'Show
approved comments' , 'akismet'); ?>"><input
name="akismet_show_user_comments_approved"
id="akismet_show_user_comments_approved" value="1" type="checkbox" <?php
checked('1', get_option('akismet_show_user_comments_approved')); ?>> <?php
esc_html_e('Show the number of approved comments beside each comment author',
'akismet'); ?></label>
-
</p>
-
</td>
-
</tr>
-
<tr>
-
<th class="strictness" align="left" scope="row"><?php
esc_html_e('Strictness', 'akismet'); ?></th>
-
<td></td>
-
<td align="left">
-
<fieldset><legend
class="screen-reader-text"><span><?php esc_html_e('Akismet anti-spam
strictness', 'akismet'); ?></span></legend>
-
<p><label for="akismet_strictness_1"><input
type="radio" name="akismet_strictness" id="akismet_strictness_1" value="1"
<?php checked('1', get_option('akismet_strictness')); ?> /> <?php
esc_html_e('Silently discard the worst and most pervasive spam so I never see
it.', 'akismet'); ?></label></p>
-
<p><label for="akismet_strictness_0"><input
type="radio" name="akismet_strictness" id="akismet_strictness_0" value="0"
<?php checked('0', get_option('akismet_strictness')); ?> /> <?php
esc_html_e('Always put spam in the Spam folder for review.', 'akismet');
?></label></p>
-
</fieldset>
-
<span class="note"><strong><?php esc_html_e('Note:',
'akismet');?></strong>
+
?>
+
</p>
+
</td>
+ </tr>
+ <?php } ?>
+ <tr>
+ <th
align="left" scope="row"><?php esc_html_e('Comments', 'akismet');?></th>
+
<td></td>
+ <td
align="left">
+
<p>
+
<label for="akismet_show_user_comments_approved" title="<?php
esc_attr_e( 'Show approved comments' , 'akismet'); ?>">
+
<input
+
name="akismet_show_user_comments_approved"
+
id="akismet_show_user_comments_approved"
+
value="1"
+
type="checkbox"
<?php
-
$delete_interval = max( 1, intval( apply_filters(
'akismet_delete_comment_interval', 15 ) ) );
-
-
printf(
-
_n(
-
'Spam in the <a href="%1$s">spam
folder</a> older than 1 day is deleted automatically.',
-
'Spam in the <a href="%1$s">spam
folder</a> older than %2$d days is deleted automatically.',
-
$delete_interval,
-
'akismet'
-
),
-
admin_url(
'edit-comments.php?comment_status=spam' ),
-
$delete_interval
-
);
+
// If the option isn't set, or if it's enabled ('1'),
or if it was enabled a long time ago ('true'), check the checkbox.
+
checked( true, ( in_array( get_option(
'akismet_show_user_comments_approved' ), array( false, '1', 'true' ), true ) )
);
?>
-
</td>
-
</tr>
-
</tbody>
- </table>
- </div>
- <div
id="major-publishing-actions">
- <?php
if ( !defined( 'WPCOM_API_KEY' ) ):?>
- <div
id="delete-action">
-
<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>
- </div>
- <?php
endif; ?>
- <?php
wp_nonce_field(Akismet_Admin::NONCE) ?>
- <div
id="publishing-action">
-
<input type="hidden" name="action" value="enter-key">
-
<input type="submit" name="submit" id="submit" class="button
button-primary" value="<?php esc_attr_e('Save Changes', 'akismet');?>">
-
- </div>
- <div
class="clear"></div>
- </div>
- </form>
+
/>
+
<?php esc_html_e( 'Show the number of approved comments beside
each comment author', 'akismet' ); ?>
+
</label>
+
</p>
+ </td>
+ </tr>
+ <tr>
+ <th
class="strictness" align="left" scope="row"><?php esc_html_e('Strictness',
'akismet'); ?></th>
+
<td></td>
+ <td
align="left">
+
<fieldset><legend class="screen-reader-text"><span><?php esc_html_e('Akismet
anti-spam strictness', 'akismet'); ?></span></legend>
+
<p><label for="akismet_strictness_1"><input type="radio"
name="akismet_strictness" id="akismet_strictness_1" value="1" <?php
checked('1', get_option('akismet_strictness')); ?> /> <?php
esc_html_e('Silently discard the worst and most pervasive spam so I never see
it.', 'akismet'); ?></label></p>
+
<p><label for="akismet_strictness_0"><input type="radio"
name="akismet_strictness" id="akismet_strictness_0" value="0" <?php
checked('0', get_option('akismet_strictness')); ?> /> <?php esc_html_e('Always
put spam in the Spam folder for review.', 'akismet'); ?></label></p>
+
</fieldset>
+
<span class="akismet-note"><strong><?php esc_html_e('Note:',
'akismet');?></strong>
+
<?php
+
+
$delete_interval = max( 1, intval( apply_filters(
'akismet_delete_comment_interval', 15 ) ) );
+
+
printf(
+
_n(
+
'Spam in the <a href="%1$s">spam folder</a> older than 1 day is
deleted automatically.',
+
'Spam in the <a href="%1$s">spam folder</a> older than %2$d
days is deleted automatically.',
+
$delete_interval,
+
'akismet'
+
),
+
admin_url( 'edit-comments.php?comment_status=spam' ),
+
$delete_interval
+
);
+
+
?>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <div
class="akismet-card-actions">
+ <?php if ( !defined(
'WPCOM_API_KEY' ) ):?>
+ <div id="delete-action">
+ <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>
+ </div>
+ <?php endif; ?>
+ <?php
wp_nonce_field(Akismet_Admin::NONCE) ?>
+ <div
id="publishing-action">
+ <input
type="hidden" name="action" value="enter-key">
+ <input
type="submit" name="submit" id="submit" class="akismet-button
akismet-is-primary" value="<?php esc_attr_e('Save Changes', 'akismet');?>">
+ </div>
+ <div
class="clear"></div>
</div>
+ </form>
+ </div>
+ </div>
+
+ <div class="akismet-card">
+ <div class="akismet-section-header">
+ <div
class="akismet-section-header__label">
+ <span><?php esc_html_e(
'Account' , 'akismet'); ?></span>
</div>
</div>
- <div class="postbox-container"
style="width:44%;">
- <div id="normal-sortables"
class="meta-box-sortables ui-sortable">
- <div id="referrers"
class="postbox ">
- <div class="handlediv"
title="Click to toggle"><br></div>
- <h3
class="hndle"><span><?php esc_html_e( 'Account' , 'akismet');?></span></h3>
- <div class="inside">
- <table
cellspacing="0">
- <tbody>
-
<tr>
-
<th scope="row" align="left"><?php esc_html_e( 'Subscription Type' ,
'akismet');?></th>
-
<td width="5%"/>
-
<td align="left">
-
<span><?php echo esc_html( $akismet_user->account_name );
?></span>
-
</td>
-
</tr>
-
<tr>
-
<th scope="row" align="left"><?php esc_html_e( 'Status' ,
'akismet');?></th>
-
<td width="5%"/>
-
<td align="left">
-
<span><?php
-
if ( 'cancelled' == $akismet_user->status ) :
-
esc_html_e( 'Cancelled', 'akismet' );
-
elseif ( 'suspended' == $akismet_user->status ) :
-
esc_html_e( 'Suspended', 'akismet' );
-
elseif ( 'missing' == $akismet_user->status ) :
-
esc_html_e( 'Missing', 'akismet' );
-
elseif ( 'no-sub' == $akismet_user->status ) :
-
esc_html_e( 'No Subscription Found', 'akismet'
);
-
else :
-
esc_html_e( 'Active', 'akismet' );
-
endif; ?></span>
-
</td>
-
</tr>
-
<?php if ( $akismet_user->next_billing_date ) : ?>
-
<tr>
-
<th scope="row" align="left"><?php esc_html_e( 'Next Billing Date' ,
'akismet');?></th>
-
<td width="5%"/>
-
<td align="left">
-
<span><?php echo date( 'F j, Y',
$akismet_user->next_billing_date ); ?></span>
-
</td>
-
</tr>
-
<?php endif; ?>
- </tbody>
- </table>
- </div>
- <div
id="major-publishing-actions">
- <div
id="publishing-action">
- <?php
Akismet::view( 'get', array( 'text' => ( $akismet_user->account_type ==
'free-api-key' && $akismet_user->status == 'active' ? __( 'Upgrade' ,
'akismet') : __( 'Change' , 'akismet') ), 'redirect' => 'upgrade' ) ); ?>
- </div>
- <div
class="clear"></div>
- </div>
+
+ <div class="inside">
+ <table cellspacing="0" border="0"
class="akismet-settings">
+ <tbody>
+ <tr>
+ <th scope="row"
align="left"><?php esc_html_e( 'Subscription Type' , 'akismet');?></th>
+ <td width="5%"/>
+ <td
align="left">
+
<p><?php echo esc_html( $akismet_user->account_name ); ?></p>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row"
align="left"><?php esc_html_e( 'Status' , 'akismet');?></th>
+ <td width="5%"/>
+ <td
align="left">
+
<p><?php
+
if ( 'cancelled' == $akismet_user->status ) :
+
esc_html_e( 'Cancelled', 'akismet' );
+
elseif ( 'suspended' == $akismet_user->status ) :
+
esc_html_e( 'Suspended', 'akismet' );
+
elseif ( 'missing' == $akismet_user->status ) :
+
esc_html_e( 'Missing', 'akismet' );
+
elseif ( 'no-sub' == $akismet_user->status ) :
+
esc_html_e( 'No Subscription Found', 'akismet' );
+
else :
+
esc_html_e( 'Active', 'akismet' );
+
endif; ?></p>
+ </td>
+ </tr>
+ <?php if (
$akismet_user->next_billing_date ) : ?>
+ <tr>
+ <th scope="row"
align="left"><?php esc_html_e( 'Next Billing Date' , 'akismet');?></th>
+ <td width="5%"/>
+ <td
align="left">
+
<p><?php echo date( 'F j, Y', $akismet_user->next_billing_date ); ?></p>
+ </td>
+ </tr>
+ <?php endif; ?>
+ </tbody>
+ </table>
+ <div class="akismet-card-actions">
+ <div id="publishing-action">
+ <?php Akismet::view(
'get', array( 'text' => ( $akismet_user->account_type == 'free-api-key' &&
$akismet_user->status == 'active' ? __( 'Upgrade' , 'akismet') : __( 'Change' ,
'akismet') ), 'redirect' => 'upgrade' ) ); ?>
</div>
+ <div class="clear"></div>
</div>
</div>
</div>
-
<?php endif;?>
-
</div>
</div>
\ No newline at end of file
diff --git a/plugins/akismet/views/get.php b/plugins/akismet/views/get.php
index 4bd6a9c..c9dbf10 100644
--- a/plugins/akismet/views/get.php
+++ b/plugins/akismet/views/get.php
@@ -2,5 +2,5 @@
<input type="hidden" name="passback_url" value="<?php echo esc_url(
Akismet_Admin::get_page_url() ); ?>"/>
<input type="hidden" name="blog" value="<?php echo esc_url( get_option(
'home' ) ); ?>"/>
<input type="hidden" name="redirect" value="<?php echo isset( $redirect
) ? $redirect : 'plugin-signup'; ?>"/>
- <input type="submit" class="<?php echo isset( $classes ) && count(
$classes ) > 0 ? implode( ' ', $classes ) : 'button button-primary';?>"
value="<?php echo esc_attr( $text ); ?>"/>
+ <input type="submit" class="<?php echo isset( $classes ) && count(
$classes ) > 0 ? implode( ' ', $classes ) : 'akismet-button
akismet-is-primary';?>" value="<?php echo esc_attr( $text ); ?>"/>
</form>
\ No newline at end of file
diff --git a/plugins/akismet/views/notice.php b/plugins/akismet/views/notice.php
index 8e6e508..e82f168 100644
--- a/plugins/akismet/views/notice.php
+++ b/plugins/akismet/views/notice.php
@@ -5,10 +5,10 @@
<div class="aa_a">A</div>
<div class="aa_button_container">
<div class="aa_button_border">
- <input type="submit" class="aa_button"
value="<?php esc_attr_e( 'Activate your Akismet account', 'akismet' ); ?>" />
+ <input type="submit" class="aa_button"
value="<?php esc_attr_e( 'Set up your Akismet account', 'akismet' ); ?>" />
</div>
</div>
- <div class="aa_description"><?php _e('<strong>Almost
done</strong> - activate Akismet and say goodbye to spam', 'akismet');?></div>
+ <div class="aa_description"><?php _e('<strong>Almost
done</strong> - configure Akismet and say goodbye to spam', 'akismet');?></div>
</div>
</form>
</div>
@@ -20,8 +20,6 @@
<p><?php echo $link_text; ?></p>
<?php } ?>
</div>
-<?php elseif ( $type == 'version' ) :?>
-<div id="akismet-warning" class="updated fade"><p><strong><?php printf(
esc_html__('Akismet %s requires WordPress 3.0 or higher.', 'akismet'),
AKISMET_VERSION);?></strong> <?php printf(__('Please <a href="%1$s">upgrade
WordPress</a> to a current version, or <a href="%2$s">downgrade to version 2.4
of the Akismet plugin</a>.', 'akismet'),
'https://codex.wordpress.org/Upgrading_WordPress',
'https://wordpress.org/extend/plugins/akismet/download/');?></p></div>
<?php elseif ( $type == 'alert' ) :?>
<div class='error'>
<p><strong><?php printf( esc_html__( 'Akismet Error Code: %s',
'akismet' ), $code ); ?></strong></p>
@@ -35,88 +33,102 @@
</p>
</div>
<?php elseif ( $type == 'notice' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status failed"><?php echo $notice_header; ?></h3>
- <p class="description">
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status failed"><?php echo $notice_header; ?></h3>
+ <p class="akismet-description">
<?php echo $notice_text; ?>
</p>
</div>
<?php elseif ( $type == 'missing-functions' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status failed"><?php esc_html_e('Network functions are
disabled.', 'akismet'); ?></h3>
- <p class="description"><?php printf( __('Your web host or server
administrator has disabled PHP’s <code>gethostbynamel</code> function.
<strong>Akismet cannot work correctly until this is fixed.</strong> Please
contact your web host or firewall administrator and give them <a href="%s"
target="_blank">this information about Akismet’s system
requirements</a>.', 'akismet'),
'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status failed"><?php esc_html_e('Network
functions are disabled.', 'akismet'); ?></h3>
+ <p class="akismet-description"><?php printf( __('Your web host or
server administrator has disabled PHP’s <code>gethostbynamel</code>
function. <strong>Akismet cannot work correctly until this is fixed.</strong>
Please contact your web host or firewall administrator and give them <a
href="%s" target="_blank">this information about Akismet’s system
requirements</a>.', 'akismet'),
'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
</div>
<?php elseif ( $type == 'servers-be-down' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status failed"><?php esc_html_e("Akismet can’t
connect to your site.", 'akismet'); ?></h3>
- <p class="description"><?php printf( __('Your firewall may be blocking
Akismet. Please contact your host and refer to <a href="%s" target="_blank">our
guide about firewalls</a>.', 'akismet'),
'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status failed"><?php esc_html_e("Akismet
can’t connect to your site.", 'akismet'); ?></h3>
+ <p class="akismet-description"><?php printf( __('Your firewall may be
blocking Akismet. Please contact your host and refer to <a href="%s"
target="_blank">our guide about firewalls</a>.', 'akismet'),
'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
</div>
<?php elseif ( $type == 'active-dunning' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status"><?php esc_html_e("Please update your payment
information.", 'akismet'); ?></h3>
- <p class="description"><?php printf( __('We cannot process your
payment. Please <a href="%s" target="_blank">update your payment details</a>.',
'akismet'), 'https://akismet.com/account/'); ?></p>
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status"><?php esc_html_e("Please update your
payment information.", 'akismet'); ?></h3>
+ <p class="akismet-description"><?php printf( __('We cannot process your
payment. Please <a href="%s" target="_blank">update your payment details</a>.',
'akismet'), 'https://akismet.com/account/'); ?></p>
</div>
<?php elseif ( $type == 'cancelled' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status"><?php esc_html_e("Your Akismet plan has been
cancelled.", 'akismet'); ?></h3>
- <p class="description"><?php printf( __('Please visit your <a href="%s"
target="_blank">Akismet account page</a> to reactivate your subscription.',
'akismet'), 'https://akismet.com/account/'); ?></p>
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status"><?php esc_html_e("Your Akismet plan has
been cancelled.", 'akismet'); ?></h3>
+ <p class="akismet-description"><?php printf( __('Please visit your <a
href="%s" target="_blank">Akismet account page</a> to reactivate your
subscription.', 'akismet'), 'https://akismet.com/account/'); ?></p>
</div>
<?php elseif ( $type == 'suspended' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status failed"><?php esc_html_e("Your Akismet
subscription is suspended.", 'akismet'); ?></h3>
- <p class="description"><?php printf( __('Please contact <a href="%s"
target="_blank">Akismet support</a> for assistance.', 'akismet'),
'https://akismet.com/contact/'); ?></p>
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status failed"><?php esc_html_e("Your Akismet
subscription is suspended.", 'akismet'); ?></h3>
+ <p class="akismet-description"><?php printf( __('Please contact <a
href="%s" target="_blank">Akismet support</a> for assistance.', 'akismet'),
'https://akismet.com/contact/'); ?></p>
</div>
<?php elseif ( $type == 'active-notice' && $time_saved ) :?>
-<div class="wrap alert active">
- <h3 class="key-status"><?php echo esc_html( $time_saved ); ?></h3>
- <p class="description"><?php printf( __('You can help us fight spam and
upgrade your account by <a href="%s" target="_blank">contributing a token
amount</a>.', 'akismet'), 'https://akismet.com/account/upgrade/'); ?></p>
+<div class="akismet-alert akismet-active">
+ <h3 class="akismet-key-status"><?php echo esc_html( $time_saved );
?></h3>
+ <p class="akismet-description"><?php printf( __('You can help us fight
spam and upgrade your account by <a href="%s" target="_blank">contributing a
token amount</a>.', 'akismet'), 'https://akismet.com/account/upgrade/'); ?></p>
</div>
<?php elseif ( $type == 'missing' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status failed"><?php esc_html_e( 'There is a problem
with your API key.', 'akismet'); ?></h3>
- <p class="description"><?php printf( __('Please contact <a href="%s"
target="_blank">Akismet support</a> for assistance.', 'akismet'),
'https://akismet.com/contact/'); ?></p>
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status failed"><?php esc_html_e( 'There is a
problem with your API key.', 'akismet'); ?></h3>
+ <p class="akismet-description"><?php printf( __('Please contact <a
href="%s" target="_blank">Akismet support</a> for assistance.', 'akismet'),
'https://akismet.com/contact/'); ?></p>
</div>
<?php elseif ( $type == 'no-sub' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status failed"><?php esc_html_e( 'You don’t have
an Akismet plan.', 'akismet'); ?></h3>
- <p class="description">
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status failed"><?php esc_html_e( 'You
don’t have an Akismet plan.', 'akismet'); ?></h3>
+ <p class="akismet-description">
<?php printf( __( 'In 2012, Akismet began using subscription
plans for all accounts (even free ones). A plan has not been assigned to your
account, and we’d appreciate it if you’d <a href="%s"
target="_blank">sign into your account</a> and choose one.', 'akismet'),
'https://akismet.com/account/upgrade/' ); ?>
<br /><br />
<?php printf( __( 'Please <a href="%s" target="_blank">contact
our support team</a> with any questions.', 'akismet' ),
'https://akismet.com/contact/' ); ?>
</p>
</div>
-<?php elseif ( $type == 'new-key-valid' ) :?>
-<div class="wrap alert active">
- <h3 class="key-status"><?php esc_html_e('Akismet is now activated.
Happy blogging!', 'akismet'); ?></h3>
+<?php elseif ( $type == 'new-key-valid' ) :
+ global $wpdb;
+
+ $check_pending_link = false;
+
+ $at_least_one_comment_in_moderation = !! $wpdb->get_var( "SELECT
comment_ID FROM {$wpdb->comments} WHERE comment_approved = '0' LIMIT 1" );
+
+ if ( $at_least_one_comment_in_moderation) {
+ $check_pending_link = 'edit-comments.php?akismet_recheck=' .
wp_create_nonce( 'akismet_recheck' );
+ }
+
+ ?>
+<div class="akismet-alert akismet-active">
+ <h3 class="akismet-key-status"><?php esc_html_e( 'Akismet is now
protecting your site from spam. Happy blogging!', 'akismet' ); ?></h3>
+ <?php if ( $check_pending_link ) { ?>
+ <p class="akismet-description"><?php printf( __( 'Would you
like to <a href="%s">check pending comments</a>?', 'akismet' ), esc_url(
$check_pending_link ) ); ?></p>
+ <?php } ?>
</div>
<?php elseif ( $type == 'new-key-invalid' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status"><?php esc_html_e( 'The key you entered is
invalid. Please double-check it.' , 'akismet'); ?></h3>
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status"><?php esc_html_e( 'The key you entered
is invalid. Please double-check it.' , 'akismet'); ?></h3>
</div>
<?php elseif ( $type == 'existing-key-invalid' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status"><?php esc_html_e( 'Your API key is no longer
valid. Please enter a new key or contact [email protected].' , 'akismet');
?></h3>
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status"><?php esc_html_e( 'Your API key is no
longer valid. Please enter a new key or contact [email protected].' ,
'akismet'); ?></h3>
</div>
<?php elseif ( $type == 'new-key-failed' ) :?>
-<div class="wrap alert critical">
- <h3 class="key-status"><?php esc_html_e( 'The API key you entered could
not be verified.' , 'akismet'); ?></h3>
- <p class="description"><?php printf( __('The connection to akismet.com
could not be established. Please refer to <a href="%s" target="_blank">our
guide about firewalls</a> and check your server configuration.', 'akismet'),
'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
+<div class="akismet-alert akismet-critical">
+ <h3 class="akismet-key-status"><?php esc_html_e( 'The API key you
entered could not be verified.' , 'akismet'); ?></h3>
+ <p class="akismet-description"><?php printf( __('The connection to
akismet.com could not be established. Please refer to <a href="%s"
target="_blank">our guide about firewalls</a> and check your server
configuration.', 'akismet'), 'https://blog.akismet.com/akismet-hosting-faq/');
?></p>
</div>
<?php elseif ( $type == 'limit-reached' && in_array( $level, array( 'yellow',
'red' ) ) ) :?>
-<div class="wrap alert critical">
+<div class="akismet-alert akismet-critical">
<?php if ( $level == 'yellow' ): ?>
- <h3 class="key-status failed"><?php esc_html_e( 'You’re using
your Akismet key on more sites than your Pro subscription allows.', 'akismet'
); ?></h3>
- <p class="description">
+ <h3 class="akismet-key-status failed"><?php esc_html_e( 'You’re
using your Akismet key on more sites than your Pro subscription allows.',
'akismet' ); ?></h3>
+ <p class="akismet-description">
<?php printf( __( 'Your Pro subscription allows the use of
Akismet on only one site. Please <a href="%s" target="_blank">purchase
additional Pro subscriptions</a> or upgrade to an Enterprise subscription that
allows the use of Akismet on unlimited sites.', 'akismet' ),
'https://docs.akismet.com/billing/add-more-sites/' ); ?>
<br /><br />
<?php printf( __( 'Please <a href="%s" target="_blank">contact
our support team</a> with any questions.', 'akismet' ),
'https://akismet.com/contact/'); ?>
</p>
<?php elseif ( $level == 'red' ): ?>
- <h3 class="key-status failed"><?php esc_html_e( 'You’re using
Akismet on far too many sites for your Pro subscription.', 'akismet' ); ?></h3>
- <p class="description">
- <?php printf( __( 'To continue your service, <a href="%s"
target="_blank">upgrade to an Enterprise subscription</a>, which covers an
unlimited number of sites.', 'akismet'), 'https://akismet.com/account/upgrade/'
); ?></p>
+ <h3 class="akismet-key-status failed"><?php esc_html_e( 'You’re
using Akismet on far too many sites for your Pro subscription.', 'akismet' );
?></h3>
+ <p class="akismet-description">
+ <?php printf( __( 'To continue your service, <a href="%s"
target="_blank">upgrade to an Enterprise subscription</a>, which covers an
unlimited number of sites.', 'akismet'), 'https://akismet.com/account/upgrade/'
); ?>
<br /><br />
- <?php printf( __( 'Please <a href="%s" target="_blank">contact
our support team</a> with any questions.', 'akismet' ),
'https://akismet.com/contact/'); ?></p>
+ <?php printf( __( 'Please <a href="%s" target="_blank">contact
our support team</a> with any questions.', 'akismet' ),
'https://akismet.com/contact/'); ?>
</p>
<?php endif; ?>
</div>
diff --git a/plugins/akismet/views/start.php b/plugins/akismet/views/start.php
index 751da6e..d17b53d 100644
--- a/plugins/akismet/views/start.php
+++ b/plugins/akismet/views/start.php
@@ -1,97 +1,93 @@
-<div class="no-key config-wrap"><?php
- if ( $akismet_user && in_array( $akismet_user->status, array( 'active',
'active-dunning', 'no-sub', 'missing', 'cancelled', 'suspended' ) ) ) :
- if ( in_array( $akismet_user->status, array( 'no-sub',
'missing' ) ) ) :?>
-<p><?php esc_html_e('Akismet eliminates spam from your site. Register below to
get started.', 'akismet'); ?></p>
-<div class="activate-highlight activate-option">
- <div class="option-description">
- <strong class="small-heading"><?php esc_html_e('Connected via
Jetpack', 'akismet'); ?></strong>
- <?php echo esc_html( $akismet_user->user_email ); ?>
+<div id="akismet-plugin-container">
+ <div class="akismet-masthead">
+ <div class="akismet-masthead__inside-container">
+ <div class="akismet-masthead__logo-container">
+ <img class="akismet-masthead__logo" src="<?php
echo esc_url( plugins_url( '../_inc/img/logo-full-2x.png', __FILE__ ) ); ?>"
alt="Akismet" />
+ </div>
+ </div>
</div>
- <form name="akismet_activate" id="akismet_activate"
action="https://akismet.com/get/" method="post" class="right" target="_blank">
- <input type="hidden" name="passback_url" value="<?php echo
esc_url( Akismet_Admin::get_page_url() ); ?>"/>
- <input type="hidden" name="blog" value="<?php echo esc_url(
get_option( 'home' ) ); ?>"/>
- <input type="hidden" name="auto-connect" value="<?php echo
esc_attr( $akismet_user->ID ); ?>"/>
- <input type="hidden" name="redirect" value="plugin-signup"/>
- <input type="submit" class="button button-primary" value="<?php
esc_attr_e( 'Register for Akismet' , 'akismet'); ?>"/>
- </form>
-</div>
-<?php elseif ( $akismet_user->status == 'cancelled' ) :?>
-<p><?php esc_html_e('Akismet eliminates spam from your site.', 'akismet');
?></p>
-<div class="activate-highlight activate-option">
- <div class="option-description" style="width:75%;">
- <strong class="small-heading"><?php esc_html_e('Connected via
Jetpack', 'akismet'); ?></strong>
- <?php echo esc_html( sprintf( __( 'Your subscription for %s is
cancelled' , 'akismet'), $akismet_user->user_email ) ); ?>
+ <div class="akismet-lower">
+ <?php Akismet_Admin::display_status(); ?>
+ <div class="akismet-box">
+ <h2><?php esc_html_e( 'Eliminate spam from your site',
'akismet' ); ?></h2>
+ <p><?php esc_html_e( 'Select one of the options below
to get started.', 'akismet' ); ?></p>
+ </div>
+ <div class="akismet-boxes">
+ <?php if ( $akismet_user && in_array( $akismet_user->status,
array( 'active', 'active-dunning', 'no-sub', 'missing', 'cancelled',
'suspended' ) ) ) { ?>
+ <?php if ( in_array( $akismet_user->status, array(
'no-sub', 'missing' ) ) ) { ?>
+ <div class="akismet-box">
+ <h3><?php esc_html_e( 'Connect via
Jetpack', 'akismet' ); ?></h3>
+ <p><?php esc_html_e( 'Use your Jetpack
connection to activate Akismet.', 'akismet' ); ?></p>
+ <form name="akismet_activate"
id="akismet_activate" action="https://akismet.com/get/" method="post"
class="akismet-right" target="_blank">
+ <input type="hidden"
name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() );
?>"/>
+ <input type="hidden"
name="blog" value="<?php echo esc_url( get_option( 'home' ) ); ?>"/>
+ <input type="hidden"
name="auto-connect" value="<?php echo esc_attr( $akismet_user->ID ); ?>"/>
+ <input type="hidden"
name="redirect" value="plugin-signup"/>
+ <input type="submit"
class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Connect
with Jetpack' , 'akismet' ); ?>"/>
+ </form>
+ <?php echo get_avatar(
$akismet_user->user_email, null, null, null, array( 'class' =>
'akismet-jetpack-gravatar' ) ); ?>
+ <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>
+ </div>
+ <?php } elseif ( $akismet_user->status == 'cancelled' )
{ ?>
+ <div class="akismet-box">
+ <h3><?php esc_html_e( 'Connect via
Jetpack', 'akismet' ); ?></h3>
+ <form name="akismet_activate"
id="akismet_activate" action="https://akismet.com/get/" method="post"
class="akismet-right" target="_blank">
+ <input type="hidden"
name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() );
?>"/>
+ <input type="hidden"
name="blog" value="<?php echo esc_url( get_option( 'home' ) ); ?>"/>
+ <input type="hidden"
name="user_id" value="<?php echo esc_attr( $akismet_user->ID ); ?>"/>
+ <input type="hidden"
name="redirect" value="upgrade"/>
+ <input type="submit"
class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Reactivate
Akismet' , 'akismet' ); ?>"/>
+ </form>
+ <p><?php echo esc_html( sprintf( __(
'Your subscription for %s is cancelled.' , 'akismet' ),
$akismet_user->user_email ) ); ?></p>
+ </div>
+ <?php } elseif ( $akismet_user->status == 'suspended' )
{ ?>
+ <div class="centered akismet-box">
+ <h3><?php esc_html_e( 'Connected via
Jetpack' , 'akismet' ); ?></h3>
+ <p class="akismet-alert-text"><?php
echo esc_html( sprintf( __( 'Your subscription for %s is suspended.' ,
'akismet' ), $akismet_user->user_email ) ); ?></p>
+ <p><?php esc_html_e( 'No worries! Get
in touch and we’ll sort this out.', 'akismet' ); ?></p>
+ <p><a
href="https://akismet.com/contact" class="akismet-button
akismet-is-primary"><?php esc_html_e( 'Contact Akismet support' , 'akismet' );
?></a></p>
+ </div>
+ <?php } else { // ask do they want to use akismet
account found using jetpack wpcom connection ?>
+ <div class="akismet-box">
+ <h3><?php esc_html_e( 'Connect via
Jetpack', 'akismet' ); ?></h3>
+ <p><?php esc_html_e( 'Use your Jetpack
connection to activate Akismet.', 'akismet' ); ?></p>
+ <form name="akismet_use_wpcom_key"
action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="post"
id="akismet-activate" class="akismet-right">
+ <input type="hidden" name="key"
value="<?php echo esc_attr( $akismet_user->api_key );?>"/>
+ <input type="hidden"
name="action" value="enter-key">
+ <?php wp_nonce_field(
Akismet_Admin::NONCE ) ?>
+ <input type="submit"
class="akismet-button akismet-is-primary" value="<?php esc_attr_e( 'Connect
with Jetpack' , 'akismet' ); ?>"/>
+ </form>
+ <?php echo get_avatar(
$akismet_user->user_email, null, null, null, array( 'class' =>
'akismet-jetpack-gravatar' ) ); ?>
+ <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>
+ </div>
+ <?php } ?>
+ <div class="akismet-box">
+ <h3><?php esc_html_e( 'Or sign up with a
different email address', 'akismet' ); ?></h3>
+ <div class="akismet-right">
+ <?php Akismet::view( 'get', array(
'text' => __( 'Sign up with a different email address' , 'akismet' ), 'classes'
=> array( 'akismet-button' ) ) ); ?>
+ </div>
+ <p><?php esc_html_e( 'Choose this option to use
Akismet independently of your Jetpack connection.', 'akismet' ); ?></p>
+ </div>
+ <?php } else { ?>
+ <div class="akismet-box">
+ <h3><?php esc_html_e( 'Activate Akismet' ,
'akismet' );?></h3>
+ <div class="akismet-right">
+ <?php Akismet::view( 'get', array(
'text' => __( 'Get your API key' , 'akismet' ), 'classes' => array(
'akismet-button', 'akismet-is-primary' ) ) ); ?>
+ </div>
+ <p><?php esc_html_e( 'Log in or sign up now.',
'akismet' ); ?></p>
+ </div>
+ <?php } ?>
+ <div class="akismet-box">
+ <h3><?php esc_html_e( 'Or enter an API key', 'akismet'
); ?></h3>
+ <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>
+ <form action="<?php echo esc_url(
Akismet_Admin::get_page_url() ); ?>" method="post">
+ <?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
+ <input type="hidden" name="action"
value="enter-key">
+ <p style="width: 100%; display: flex;
flex-wrap: nowrap; box-sizing: border-box;">
+ <input id="key" name="key" type="text"
size="15" value="" class="regular-text code" style="flex-grow: 1; margin-right:
1rem;">
+ <input type="submit" name="submit"
id="submit" class="akismet-button" value="<?php esc_attr_e( 'Connect with API
key', 'akismet' );?>">
+ </p>
+ </form>
+ </div>
</div>
- <form name="akismet_activate" id="akismet_activate"
action="https://akismet.com/get/" method="post" class="right" target="_blank">
- <input type="hidden" name="passback_url" value="<?php echo
esc_url( Akismet_Admin::get_page_url() ); ?>"/>
- <input type="hidden" name="blog" value="<?php echo esc_url(
get_option( 'home' ) ); ?>"/>
- <input type="hidden" name="user_id" value="<?php echo esc_attr(
$akismet_user->ID ); ?>"/>
- <input type="hidden" name="redirect" value="upgrade"/>
- <input type="submit" class="button button-primary" value="<?php
esc_attr_e( 'Reactivate Akismet' , 'akismet'); ?>"/>
- </form>
-</div>
-<?php elseif ( $akismet_user->status == 'suspended' ) : ?>
-<p><?php esc_html_e('Akismet eliminates spam from your site.', 'akismet');
?></p>
-<div class="activate-highlight centered activate-option">
- <strong class="small-heading"><?php esc_html_e( 'Connected via Jetpack'
, 'akismet'); ?></strong>
- <h3 class="alert-text"><?php echo esc_html( sprintf( __( 'Your
subscription for %s is suspended' , 'akismet'), $akismet_user->user_email ) );
?></h3>
- <p><?php esc_html_e('No worries! Get in touch and we’ll sort this
out.', 'akismet'); ?></p>
- <a href="https://akismet.com/contact" class="button
button-primary"><?php esc_html_e( 'Contact Akismet support' , 'akismet'); ?></a>
-</div>
-<?php else : // ask do they want to use akismet account found using jetpack
wpcom connection ?>
-<p style="margin-right:10px"><?php esc_html_e('Akismet eliminates spam from
your site. To set up Akismet, select one of the options below.', 'akismet');
?></p>
-<div class="activate-highlight activate-option">
- <div class="option-description">
- <strong class="small-heading"><?php esc_html_e('Connected via
Jetpack', 'akismet'); ?></strong>
- <?php echo esc_html( $akismet_user->user_email ); ?>
- </div>
- <form name="akismet_use_wpcom_key" action="<?php echo esc_url(
Akismet_Admin::get_page_url() ); ?>" method="post" id="akismet-activate"
class="right">
- <input type="hidden" name="key" value="<?php echo esc_attr(
$akismet_user->api_key );?>"/>
- <input type="hidden" name="action" value="enter-key">
- <?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
- <input type="submit" class="button button-primary" value="<?php
esc_attr_e( 'Use this account' , 'akismet'); ?>"/>
- </form>
-</div>
-<?php endif;?>
-<div class="activate-highlight secondary activate-option">
- <div class="option-description">
- <strong><?php esc_html_e('Sign up for a plan with a different
email address', 'akismet'); ?></strong>
- <p><?php esc_html_e('Use this option to use Akismet
independently of your Jetpack connection.', 'akismet'); ?></p>
- </div>
- <?php Akismet::view( 'get', array( 'text' => __( 'Sign up with a
different email address' , 'akismet'), 'classes' => array( 'right', 'button',
'button-secondary' ) ) ); ?>
-</div>
-<div class="activate-highlight secondary activate-option">
- <div class="option-description">
- <strong><?php esc_html_e('Enter an API key', 'akismet');
?></strong>
- <p><?php esc_html_e('Already have your key? Enter it here.',
'akismet'); ?></p>
- </div>
- <form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"
method="post" id="akismet-enter-api-key" class="right">
- <input id="key" name="key" type="text" size="15" value=""
class="regular-text code">
- <input type="hidden" name="action" value="enter-key">
- <?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
- <input type="submit" name="submit" id="submit" class="button
button-secondary" value="<?php esc_attr_e('Use this key', 'akismet');?>">
- </form>
-</div>
-<?php else :?>
-<p><?php esc_html_e('Akismet eliminates spam from your site. To set up
Akismet, select one of the options below.', 'akismet'); ?></p>
-<div class="activate-highlight activate-option">
- <div class="option-description">
- <strong><?php esc_html_e( 'Activate Akismet' ,
'akismet');?></strong>
- <p><?php esc_html_e('Log in or sign up now.', 'akismet'); ?></p>
- </div>
- <?php Akismet::view( 'get', array( 'text' => __( 'Get your API key' ,
'akismet'), 'classes' => array( 'right', 'button', 'button-primary' ) ) ); ?>
-</div>
-<div class="activate-highlight secondary activate-option">
- <div class="option-description">
- <strong><?php esc_html_e('Manually enter an API key',
'akismet'); ?></strong>
- <p><?php esc_html_e('If you already know your API key.',
'akismet'); ?></p>
- </div>
- <form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"
method="post" id="akismet-enter-api-key" class="right">
- <input id="key" name="key" type="text" size="15" value="<?php
echo esc_attr( Akismet::get_api_key() ); ?>" class="regular-text code">
- <input type="hidden" name="action" value="enter-key">
- <?php wp_nonce_field( Akismet_Admin::NONCE ); ?>
- <input type="submit" name="submit" id="submit" class="button
button-secondary" value="<?php esc_attr_e('Use this key', 'akismet');?>">
- </form>
-</div><?php
- endif;?>
</div>
\ No newline at end of file
diff --git a/plugins/akismet/views/stats.php b/plugins/akismet/views/stats.php
index a536f3a..2302c11 100644
--- a/plugins/akismet/views/stats.php
+++ b/plugins/akismet/views/stats.php
@@ -1,4 +1,11 @@
-<div class="wrap">
- <h2><?php esc_html_e( 'Akismet Stats' , 'akismet');?><?php if ( !isset(
$hide_settings_link ) ): ?> <a href="<?php echo esc_url(
Akismet_Admin::get_page_url() );?>" class="add-new-h2"><?php esc_html_e(
'Settings' , 'akismet');?></a><?php endif;?></h2>
- <iframe src="<?php echo esc_url( sprintf(
'//akismet.com/web/1.0/user-stats.php?blog=%s&api_key=%s&locale=%s', urlencode(
get_option( 'home' ) ), Akismet::get_api_key(), get_locale() ) ); ?>"
width="100%" height="2500px" frameborder="0" id="akismet-stats-frame"></iframe>
+<div id="akismet-plugin-container">
+ <div class="akismet-masthead">
+ <div class="akismet-masthead__inside-container">
+ <a href="<?php echo esc_url(
Akismet_Admin::get_page_url() );?>" class="akismet-right"><?php esc_html_e(
'Akismet Settings' , 'akismet' ); ?></a>
+ <div class="akismet-masthead__logo-container">
+ <img class="akismet-masthead__logo" src="<?php
echo esc_url( plugins_url( '../_inc/img/logo-full-2x.png', __FILE__ ) ); ?>"
alt="Akismet" />
+ </div>
+ </div>
+ </div>
+ <iframe src="<?php echo esc_url( sprintf(
'//akismet.com/web/1.0/user-stats.php?blog=%s&api_key=%s&locale=%s', urlencode(
get_option( 'home' ) ), Akismet::get_api_key(), get_locale() ) ); ?>"
width="100%" height="2500px" frameborder="0"></iframe>
</div>
\ No newline at end of file
diff --git a/plugins/akismet/views/strict.php b/plugins/akismet/views/strict.php
deleted file mode 100644
index 83d7a50..0000000
--- a/plugins/akismet/views/strict.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<fieldset>
- <legend class="screen-reader-text">
- <span><?php esc_html_e( 'Akismet anti-spam strictness',
'akismet' ); ?></span>
- </legend>
- <p>
- <label for="akismet_strictness_1">
- <input type="radio" name="akismet_strictness"
id="akismet_strictness_1" value="1" <?php checked( '1', get_option(
'akismet_strictness' ) ); ?> />
- <?php esc_html_e( 'Strict: silently discard the worst
and most pervasive spam.', 'akismet' ); ?>
- </label>
- </p>
- <p>
- <label for="akismet_strictness_0">
- <input type="radio" name="akismet_strictness"
id="akismet_strictness_0" value="0" <?php checked( '0', get_option(
'akismet_strictness' ) ); ?> />
- <?php esc_html_e( 'Safe: always put spam in the Spam
folder for review.', 'akismet' ); ?>
- </label>
- </p>
-</fieldset>
diff --git a/plugins/akismet/wrapper.php b/plugins/akismet/wrapper.php
index a77d4ce..f687e09 100644
--- a/plugins/akismet/wrapper.php
+++ b/plugins/akismet/wrapper.php
@@ -175,7 +175,7 @@ function akismet_get_ip_address() {
function akismet_cron_recheck() {
return Akismet::cron_recheck();
}
-function akismet_add_comment_nonce() {
+function akismet_add_comment_nonce( $post_id ) {
return Akismet::add_comment_nonce( $post_id );
}
function akismet_fix_scheduled_recheck() {