summaryrefslogtreecommitdiffstats
path: root/wp-content/plugins/akismet/views
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:56:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:56:49 +0000
commita415c29efee45520ae252d2aa28f1083a521cd7b (patch)
treef4ade4b6668ecc0765de7e1424f7c1427ad433ff /wp-content/plugins/akismet/views
parentInitial commit. (diff)
downloadwordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.tar.xz
wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.zip
Adding upstream version 6.4.3+dfsg1.upstream/6.4.3+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wp-content/plugins/akismet/views')
-rw-r--r--wp-content/plugins/akismet/views/activate.php8
-rw-r--r--wp-content/plugins/akismet/views/config.php326
-rw-r--r--wp-content/plugins/akismet/views/connect-jp.php98
-rw-r--r--wp-content/plugins/akismet/views/enter.php14
-rw-r--r--wp-content/plugins/akismet/views/get.php18
-rw-r--r--wp-content/plugins/akismet/views/logo.php13
-rw-r--r--wp-content/plugins/akismet/views/notice.php330
-rw-r--r--wp-content/plugins/akismet/views/predefined.php11
-rw-r--r--wp-content/plugins/akismet/views/setup.php4
-rw-r--r--wp-content/plugins/akismet/views/start.php29
-rw-r--r--wp-content/plugins/akismet/views/stats.php12
-rw-r--r--wp-content/plugins/akismet/views/title.php3
12 files changed, 866 insertions, 0 deletions
diff --git a/wp-content/plugins/akismet/views/activate.php b/wp-content/plugins/akismet/views/activate.php
new file mode 100644
index 0000000..7be1309
--- /dev/null
+++ b/wp-content/plugins/akismet/views/activate.php
@@ -0,0 +1,8 @@
+<div class="akismet-box">
+ <?php Akismet::view( 'title' ); ?>
+ <?php Akismet::view( 'setup' );?>
+</div>
+<br/>
+<div class="akismet-box">
+ <?php Akismet::view( 'enter' );?>
+</div> \ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/config.php b/wp-content/plugins/akismet/views/config.php
new file mode 100644
index 0000000..77e5914
--- /dev/null
+++ b/wp-content/plugins/akismet/views/config.php
@@ -0,0 +1,326 @@
+<?php
+
+//phpcs:disable VariableAnalysis
+// There are "undefined" variables here because they're defined in the code that includes this file as a template.
+$kses_allow_link_href = array(
+ 'a' => array(
+ 'href' => true,
+ ),
+);
+?>
+<div id="akismet-plugin-container">
+ <div class="akismet-masthead">
+ <div class="akismet-masthead__inside-container">
+ <?php Akismet::view( 'logo' ); ?>
+ </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 } ?>
+
+ <div class="akismet-card">
+ <div class="akismet-section-header">
+ <h2 class="akismet-section-header__label">
+ <span><?php esc_html_e( 'Statistics', 'akismet' ); ?></span>
+ </h2>
+
+ <?php if ( $stat_totals && isset( $stat_totals['all'] ) && (int) $stat_totals['all']->spam > 0 ) : ?>
+ <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> <!-- close akismet-section-header -->
+
+ <div class="akismet-new-snapshot">
+ <?php /* name attribute on iframe is used as a cache-buster here to force Firefox to load the new style charts: https://bugzilla.mozilla.org/show_bug.cgi?id=356558 */ ?>
+ <div class="akismet-new-snapshot__chart">
+ <iframe id="stats-iframe" allowtransparency="true" scrolling="no" frameborder="0" style="width: 100%; height: 220px; overflow: hidden;" src="<?php echo esc_url( sprintf( 'https://tools.akismet.com/1.0/snapshot.php?blog=%s&token=%s&height=200&locale=%s&is_redecorated=1', rawurlencode( get_option( 'home' ) ), rawurlencode( Akismet::get_access_token() ), get_locale() ) ); ?>" name="<?php echo esc_attr( 'snapshot-' . filemtime( __FILE__ ) ); ?>" title="<?php echo esc_attr__( 'Akismet stats' ); ?>"></iframe>
+ </div>
+ <ul class="akismet-new-snapshot__list">
+ <li class="akismet-new-snapshot__item">
+ <h3 class="akismet-new-snapshot__header"><?php esc_html_e( 'Past six months', 'akismet' ); ?></h3>
+ <span class="akismet-new-snapshot__number"><?php echo number_format( $stat_totals['6-months']->spam ); ?></span>
+ <span class="akismet-new-snapshot__text"><?php echo esc_html( _n( 'Spam blocked', 'Spam blocked', $stat_totals['6-months']->spam, 'akismet' ) ); ?></span>
+ </li>
+ <li class="akismet-new-snapshot__item">
+ <h3 class="akismet-new-snapshot__header"><?php esc_html_e( 'All time', 'akismet' ); ?></h3>
+ <span class="akismet-new-snapshot__number"><?php echo number_format( $stat_totals['all']->spam ); ?></span>
+ <span class="akismet-new-snapshot__text"><?php echo esc_html( _n( 'Spam blocked', 'Spam blocked', $stat_totals['all']->spam, 'akismet' ) ); ?></span>
+ </li>
+ <li class="akismet-new-snapshot__item">
+ <h3 class="akismet-new-snapshot__header"><?php esc_html_e( 'Accuracy', 'akismet' ); ?></h3>
+ <span class="akismet-new-snapshot__number"><?php echo floatval( $stat_totals['all']->accuracy ); ?>%</span>
+ <span class="akismet-new-snapshot__text">
+ <?php
+ /* translators: %s: number of spam missed by Akismet */
+ echo esc_html( sprintf( _n( '%s missed spam', '%s missed spam', $stat_totals['all']->missed_spam, 'akismet' ), number_format( $stat_totals['all']->missed_spam ) ) ) . ', ';
+ /* translators: %s: number of false positive spam flagged by Akismet */
+ echo esc_html( sprintf( _n( '%s false positive', '%s false positives', $stat_totals['all']->false_positives, 'akismet' ), number_format( $stat_totals['all']->false_positives ) ) );
+ ?>
+ </span>
+ </li>
+ </ul>
+ </div> <!-- close akismet-new-snapshot -->
+
+ <?php else : ?>
+ </div> <!-- close akismet-section-header -->
+ <div class="inside">
+ <p class="akismet-awaiting-stats"><?php esc_html_e( 'Akismet is active and ready to stop spam. Your site&#8217;s spam statistics will be displayed here.', 'akismet' ); ?></p>
+ </div>
+ <?php endif; ?>
+
+ </div> <!-- close akismet-card -->
+
+ <?php if ( $akismet_user ) : ?>
+ <div class="akismet-card">
+ <div class="akismet-section-header">
+ <h2 class="akismet-section-header__label">
+ <span><?php esc_html_e( 'Settings', 'akismet' ); ?></span>
+ </h2>
+ </div>
+
+ <div class="inside">
+ <form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" autocomplete="off" method="POST" id="akismet-settings-form">
+
+ <div class="akismet-settings">
+ <?php if ( ! Akismet::predefined_api_key() ) : ?>
+ <div class="akismet-settings__row">
+ <h3 class="akismet-settings__row-title">
+ <label class="akismet-settings__row-label" for="key"><?php esc_html_e( 'API key', 'akismet' ); ?></label>
+ </h3>
+ <div class="akismet-settings__row-input">
+ <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>
+ </div>
+ </div>
+ <?php endif; ?>
+
+ <?php
+ //phpcs:ignore WordPress.Security.NonceVerification.Recommended
+ if ( isset( $_GET['ssl_status'] ) ) :
+ ?>
+ <div class="akismet-settings__row">
+ <div class="akismet-settings__row-text">
+ <h3 class="akismet-settings__row-title"><?php esc_html_e( 'SSL status', 'akismet' ); ?></h3>
+ <div class="akismet-settings__row-description">
+ <?php if ( ! wp_http_supports( array( 'ssl' ) ) ) : ?>
+ <strong><?php esc_html_e( 'Disabled.', 'akismet' ); ?></strong>
+ <?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 : ?>
+ <?php $ssl_disabled = get_option( 'akismet_ssl_disabled' ); ?>
+
+ <?php if ( $ssl_disabled ) : ?>
+ <strong><?php esc_html_e( 'Temporarily disabled.', 'akismet' ); ?></strong>
+ <?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 : ?>
+ <strong><?php esc_html_e( 'Enabled.', 'akismet' ); ?></strong>
+ <?php esc_html_e( 'All systems functional.', 'akismet' ); ?>
+ <?php endif; ?>
+ <?php endif; ?>
+ </div>
+ </div>
+ </div>
+ <?php endif; ?>
+
+ <div class="akismet-settings__row">
+ <div class="akismet-settings__row-text">
+ <h3 class="akismet-settings__row-title"><?php esc_html_e( 'Comments', 'akismet' ); ?></h3>
+ </div>
+ <div class="akismet-settings__row-input">
+ <label class="akismet-settings__row-input-label" for="akismet_show_user_comments_approved">
+ <input
+ name="akismet_show_user_comments_approved"
+ id="akismet_show_user_comments_approved"
+ value="1"
+ type="checkbox"
+ <?php
+ // 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 ) ) );
+ ?>
+ />
+ <span class="akismet-settings__row-label-text">
+ <?php esc_html_e( 'Show the number of approved comments beside each comment author.', 'akismet' ); ?>
+ </span>
+ </label>
+ </div>
+ </div>
+
+ <div class="akismet-settings__row is-radio">
+ <div class="akismet-settings__row-text">
+ <h3 class="akismet-settings__row-title"><?php esc_html_e( 'Spam filtering', 'akismet' ); ?></h3>
+ </div>
+ <div class="akismet-settings__row-input">
+ <fieldset>
+ <legend class="screen-reader-text">
+ <span><?php esc_html_e( 'Akismet Anti-spam strictness', 'akismet' ); ?></span>
+ </legend>
+ <div>
+ <label class="akismet-settings__row-input-label" for="akismet_strictness_1">
+ <input type="radio" name="akismet_strictness" id="akismet_strictness_1" value="1" <?php checked( '1', get_option( 'akismet_strictness' ) ); ?> />
+ <span class="akismet-settings__row-label-text">
+ <?php esc_html_e( 'Silently discard the worst and most pervasive spam so I never see it.', 'akismet' ); ?>
+ </span>
+ </label>
+ </div>
+ <div>
+ <label class="akismet-settings__row-input-label" for="akismet_strictness_0">
+ <input type="radio" name="akismet_strictness" id="akismet_strictness_0" value="0" <?php checked( '0', get_option( 'akismet_strictness' ) ); ?> />
+ <span class="akismet-settings__row-label-text">
+ <?php esc_html_e( 'Always put spam in the Spam folder for review.', 'akismet' ); ?>
+ </span>
+ </label>
+ </div>
+ </fieldset>
+
+ <div class="akismet-settings__row-note">
+ <strong><?php esc_html_e( 'Note:', 'akismet' ); ?></strong>
+ <?php
+ $delete_interval = max( 1, intval( apply_filters( 'akismet_delete_comment_interval', 15 ) ) );
+
+ $spam_folder_link = sprintf(
+ '<a href="%s">%s</a>',
+ esc_url( admin_url( 'edit-comments.php?comment_status=spam' ) ),
+ esc_html__( 'spam folder', 'akismet' )
+ );
+
+ // The _n() needs to be on one line so the i18n tooling can extract the translator comment.
+ /* translators: %1$s: spam folder link, %2$d: delete interval in days */
+ $delete_message = _n( 'Spam in the %1$s older than %2$d day is deleted automatically.', 'Spam in the %1$s older than %2$d days is deleted automatically.', $delete_interval, 'akismet' );
+
+ printf(
+ wp_kses( $delete_message, $kses_allow_link_href ),
+ wp_kses( $spam_folder_link, $kses_allow_link_href ),
+ esc_html( $delete_interval )
+ );
+ ?>
+ </div>
+ </div>
+ </div>
+
+ <div class="akismet-settings__row is-radio">
+ <div class="akismet-settings__row-text">
+ <h3 class="akismet-settings__row-title"><?php esc_html_e( 'Privacy', 'akismet' ); ?></h3>
+ </div>
+ <div class="akismet-settings__row-input">
+ <fieldset>
+ <legend class="screen-reader-text">
+ <span><?php esc_html_e( 'Akismet privacy notice', 'akismet' ); ?></span>
+ </legend>
+ <div>
+ <label class="akismet-settings__row-input-label" for="akismet_comment_form_privacy_notice_display">
+ <input type="radio" name="akismet_comment_form_privacy_notice" id="akismet_comment_form_privacy_notice_display" value="display" <?php checked( 'display', get_option( 'akismet_comment_form_privacy_notice' ) ); ?> />
+ <span class="akismet-settings__row-label-text">
+ <?php esc_html_e( 'Display a privacy notice under your comment forms.', 'akismet' ); ?>
+ </span>
+ </label>
+ </div>
+ <div>
+ <label class="akismet-settings__row-input-label" for="akismet_comment_form_privacy_notice_hide">
+ <input type="radio" name="akismet_comment_form_privacy_notice" id="akismet_comment_form_privacy_notice_hide" value="hide" <?php echo in_array( get_option( 'akismet_comment_form_privacy_notice' ), array( 'display', 'hide' ), true ) ? checked( 'hide', get_option( 'akismet_comment_form_privacy_notice' ), false ) : 'checked="checked"'; ?> />
+ <span class="akismet-settings__row-label-text">
+ <?php esc_html_e( 'Do not display privacy notice.', 'akismet' ); ?>
+ </span>
+ </label>
+ </div>
+ </fieldset>
+
+ <div class="akismet-settings__row-note">
+ <?php esc_html_e( 'To help your site with transparency under privacy laws like the GDPR, Akismet can display a notice to your users under your comment forms.', 'akismet' ); ?>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="akismet-card-actions">
+ <?php if ( ! Akismet::predefined_api_key() ) : ?>
+ <div id="delete-action" class="akismet-card-actions__secondary-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-could-be-primary" value="<?php esc_attr_e( 'Save changes', 'akismet' ); ?>">
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+
+ <?php if ( ! Akismet::predefined_api_key() ) : ?>
+ <div class="akismet-card">
+ <div class="akismet-section-header">
+ <h2 class="akismet-section-header__label">
+ <span><?php esc_html_e( 'Account', 'akismet' ); ?></span>
+ </h2>
+ </div>
+
+ <div class="inside">
+ <table class="akismet-account">
+ <tbody>
+ <tr>
+ <th scope="row"><?php esc_html_e( 'Subscription type', 'akismet' ); ?></th>
+ <td>
+ <?php echo esc_html( $akismet_user->account_name ); ?>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row"><?php esc_html_e( 'Status', 'akismet' ); ?></th>
+ <td>
+ <?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;
+ ?>
+ </td>
+ </tr>
+ <?php if ( $akismet_user->next_billing_date ) : ?>
+ <tr>
+ <th scope="row"><?php esc_html_e( 'Next billing date', 'akismet' ); ?></th>
+ <td>
+ <?php echo esc_html( gmdate( 'F j, Y', $akismet_user->next_billing_date ) ); ?>
+ </td>
+ </tr>
+ <?php endif; ?>
+ </tbody>
+ </table>
+ <div class="akismet-card-actions">
+ <?php if ( $akismet_user->status === 'active' ) : ?>
+ <div class="akismet-card-actions__secondary-action">
+ <a href="https://akismet.com/account" target="_blank" rel="noopener noreferrer" aria-label="Account overview on akismet.com (opens in a new window)"><?php esc_html_e( 'Account overview', 'akismet' ); ?></a>
+ </div>
+ <?php endif; ?>
+ <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>
+ </div>
+ </div>
+ <?php endif; ?>
+ <?php endif; ?>
+ </div>
+</div>
diff --git a/wp-content/plugins/akismet/views/connect-jp.php b/wp-content/plugins/akismet/views/connect-jp.php
new file mode 100644
index 0000000..b7b2957
--- /dev/null
+++ b/wp-content/plugins/akismet/views/connect-jp.php
@@ -0,0 +1,98 @@
+<?php
+
+//phpcs:disable VariableAnalysis
+// There are "undefined" variables here because they're defined in the code that includes this file as a template.
+
+?>
+<div class="akismet-box">
+ <?php Akismet::view( 'title' ); ?>
+ <div class="akismet-jp-connect">
+ <h3><?php esc_html_e( 'Connect with Jetpack', 'akismet' ); ?></h3>
+ <?php if ( in_array( $akismet_user->status, array( 'no-sub', 'missing' ) ) ) { ?>
+ <p><?php esc_html_e( 'Use your Jetpack connection to set up 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
+
+ /* translators: %s is the WordPress.com username */
+ 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>
+ <?php } elseif ( $akismet_user->status == 'cancelled' ) { ?>
+ <p><?php esc_html_e( 'Use your Jetpack connection to set up 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="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( 'Connect with Jetpack', 'akismet' ); ?>"/>
+ </form>
+ <?php echo get_avatar( $akismet_user->user_email, null, null, null, array( 'class' => 'akismet-jetpack-gravatar' ) ); ?>
+ <p>
+ <?php
+
+ /* translators: %s is the WordPress.com email address */
+ echo esc_html( sprintf( __( 'Your subscription for %s is cancelled.', 'akismet' ), $akismet_user->user_email ) );
+
+ ?>
+ <br />
+ <span class="akismet-jetpack-email"><?php echo esc_html( $akismet_user->user_email ); ?></span>
+ </p>
+ <?php } elseif ( $akismet_user->status == 'suspended' ) { ?>
+ <div class="akismet-right">
+ <p><a href="https://akismet.com/contact" class="akismet-button akismet-is-primary"><?php esc_html_e( 'Contact Akismet support', 'akismet' ); ?></a></p>
+ </div>
+ <p>
+ <span class="akismet-alert-text">
+ <?php
+
+ /* translators: %s is the WordPress.com email address */
+ echo esc_html( sprintf( __( 'Your subscription for %s is suspended.', 'akismet' ), $akismet_user->user_email ) );
+
+ ?>
+ </span>
+ <?php esc_html_e( 'No worries! Get in touch and we&#8217;ll sort this out.', 'akismet' ); ?>
+ </p>
+ <?php } else { // ask do they want to use akismet account found using jetpack wpcom connection ?>
+ <p><?php esc_html_e( 'Use your Jetpack connection to set up 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
+
+ /* translators: %s is the WordPress.com username */
+ 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>
+ <?php } ?>
+ </div>
+ <div class="akismet-ak-connect">
+ <?php Akismet::view( 'setup' ); ?>
+ </div>
+ <div class="centered akismet-toggles">
+ <a href="#" class="toggle-jp-connect"><?php esc_html_e( 'Connect with Jetpack', 'akismet' ); ?></a>
+ <a href="#" class="toggle-ak-connect"><?php esc_html_e( 'Set up a different account', 'akismet' ); ?></a>
+ </div>
+</div>
+<br/>
+<div class="akismet-box">
+ <?php Akismet::view( 'enter' ); ?>
+</div>
diff --git a/wp-content/plugins/akismet/views/enter.php b/wp-content/plugins/akismet/views/enter.php
new file mode 100644
index 0000000..70b6f3a
--- /dev/null
+++ b/wp-content/plugins/akismet/views/enter.php
@@ -0,0 +1,14 @@
+<div class="akismet-enter-api-key-box centered">
+ <button class="akismet-enter-api-key-box__reveal"><?php esc_html_e( 'Manually enter an API key', 'akismet' ); ?></button>
+ <div class="akismet-enter-api-key-box__form-wrapper">
+ <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">
+ <h3 class="akismet-enter-api-key-box__header" id="akismet-enter-api-key-box__header"><?php esc_html_e( 'Enter your API key', 'akismet' ); ?></h3>
+ <div class="akismet-enter-api-key-box__input-wrapper">
+ <input id="key" name="key" type="text" size="15" value="" placeholder="<?php esc_attr_e( 'API key', 'akismet' ); ?>" class="akismet-enter-api-key-box__key-input regular-text code" aria-labelledby="akismet-enter-api-key-box__header">
+ <input type="submit" name="submit" id="submit" class="akismet-button" value="<?php esc_attr_e( 'Connect with API key', 'akismet' ); ?>">
+ </div>
+ </form>
+ </div>
+</div>
diff --git a/wp-content/plugins/akismet/views/get.php b/wp-content/plugins/akismet/views/get.php
new file mode 100644
index 0000000..49157fd
--- /dev/null
+++ b/wp-content/plugins/akismet/views/get.php
@@ -0,0 +1,18 @@
+<?php
+
+//phpcs:disable VariableAnalysis
+// There are "undefined" variables here because they're defined in the code that includes this file as a template.
+
+$submit_classes_attr = 'akismet-button';
+
+if ( isset( $classes ) && ( is_countable( $classes ) ? count( $classes ) : 0 ) > 0 ) {
+ $submit_classes_attr = implode( ' ', $classes );
+}
+?>
+
+<form name="akismet_activate" action="https://akismet.com/get/" method="POST" 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="redirect" value="<?php echo isset( $redirect ) ? $redirect : 'plugin-signup'; ?>"/>
+ <button type="submit" class="<?php echo esc_attr( $submit_classes_attr ); ?>" value="<?php echo esc_attr( $text ); ?>"><?php echo esc_attr( $text ) . '<span class="screen-reader-text">' . esc_html__( '(opens in a new tab)', 'akismet' ) . '</span>'; ?></button>
+</form>
diff --git a/wp-content/plugins/akismet/views/logo.php b/wp-content/plugins/akismet/views/logo.php
new file mode 100644
index 0000000..661d0a1
--- /dev/null
+++ b/wp-content/plugins/akismet/views/logo.php
@@ -0,0 +1,13 @@
+<?php
+//phpcs:disable VariableAnalysis
+// There are "undefined" variables here because they're defined in the code that includes this file as a template.
+?>
+<div class="akismet-masthead__logo-container">
+ <?php if ( isset( $include_logo_link ) && $include_logo_link === true ) : ?>
+ <a href="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" class="akismet-masthead__logo-link">
+ <?php endif; ?>
+ <img class="akismet-masthead__logo" src="<?php echo esc_url( plugins_url( '../_inc/img/akismet-refresh-logo@2x.png', __FILE__ ) ); ?>" srcset="<?php echo esc_url( plugins_url( '../_inc/img/akismet-refresh-logo.svg', __FILE__ ) ); ?>" alt="Akismet logo" />
+ <?php if ( isset( $include_logo_link ) && $include_logo_link === true ) : ?>
+ </a>
+ <?php endif; ?>
+</div>
diff --git a/wp-content/plugins/akismet/views/notice.php b/wp-content/plugins/akismet/views/notice.php
new file mode 100644
index 0000000..8bacc54
--- /dev/null
+++ b/wp-content/plugins/akismet/views/notice.php
@@ -0,0 +1,330 @@
+<?php
+//phpcs:disable VariableAnalysis
+// There are "undefined" variables here because they're defined in the code that includes this file as a template.
+$kses_allow_link = array(
+ 'a' => array(
+ 'href' => true,
+ 'target' => true,
+ ),
+);
+$kses_allow_strong = array( 'strong' => true );
+
+/*
+ * Some notices (plugin, spam-check, spam-check-cron-disabled, alert and usage-limit) are shown elsewhere in wp-admin,
+ * so look different to the standard notices.
+ */
+?>
+<?php if ( $type === 'plugin' ) : ?>
+<div class="updated" id="akismet_setup_prompt">
+ <form name="akismet_activate" action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="POST">
+ <div class="akismet_activate">
+ <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( 'Set up your Akismet account', 'akismet' ); ?>" />
+ </div>
+ </div>
+ <div class="aa_description">
+ <?php
+ echo wp_kses(
+ __( '<strong>Almost done</strong> - configure Akismet and say goodbye to spam', 'akismet' ),
+ $kses_allow_strong
+ );
+ ?>
+ </div>
+ </div>
+ </form>
+</div>
+
+<?php elseif ( $type === 'spam-check' ) : ?>
+<div class="notice notice-warning">
+ <p><strong><?php esc_html_e( 'Akismet has detected a problem.', 'akismet' ); ?></strong></p>
+ <p><?php esc_html_e( 'Some comments have not yet been checked for spam by Akismet. They have been temporarily held for moderation and will automatically be rechecked later.', 'akismet' ); ?></p>
+ <?php if ( $link_text ) : ?>
+ <p><?php echo wp_kses( $link_text, $kses_allow_link ); ?></p>
+ <?php endif; ?>
+</div>
+
+<?php elseif ( $type === 'spam-check-cron-disabled' ) : ?>
+<div class="notice notice-warning">
+ <p><strong><?php esc_html_e( 'Akismet has detected a problem.', 'akismet' ); ?></strong></p>
+ <p><?php esc_html_e( 'WP-Cron has been disabled using the DISABLE_WP_CRON constant. Comment rechecks may not work properly.', 'akismet' ); ?></p>
+</div>
+
+<?php elseif ( $type === 'alert' ) : ?>
+<div class="error">
+ <?php /* translators: The placeholder is an error code returned by Akismet. */ ?>
+ <p><strong><?php printf( esc_html__( 'Akismet error code: %s', 'akismet' ), esc_html( $code ) ); ?></strong></p>
+ <p><?php echo esc_html( $msg ); ?></p>
+ <p>
+ <?php
+ /* translators: the placeholder is a clickable URL that leads to more information regarding an error code. */
+ printf( esc_html__( 'For more information: %s', 'akismet' ), '<a href="https://akismet.com/errors/' . esc_attr( $code ) . '">https://akismet.com/errors/' . esc_attr( $code ) . '</a>' );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'notice' ) : ?>
+<div class="akismet-alert is-bad">
+ <h3 class="akismet-alert__heading"><?php echo wp_kses( $notice_header, Akismet_Admin::get_notice_kses_allowed_elements() ); ?></h3>
+ <p>
+ <?php echo wp_kses( $notice_text, Akismet_Admin::get_notice_kses_allowed_elements() ); ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'missing-functions' ) : ?>
+<div class="akismet-alert is-bad">
+ <h3 class="akismet-alert__heading"><?php esc_html_e( 'Network functions are disabled.', 'akismet' ); ?></h3>
+ <p>
+ <?php
+ /* translators: The placeholder is a URL. */
+ echo wp_kses( sprintf( __( 'Your web host or server administrator has disabled PHP&#8217;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&#8217;s system requirements</a>.', 'akismet' ), esc_url( 'https://akismet.com/akismet-hosting-faq/' ) ), array_merge( $kses_allow_link, $kses_allow_strong, array( 'code' => true ) ) );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'servers-be-down' ) : ?>
+<div class="akismet-alert is-bad">
+ <h3 class="akismet-alert__heading"><?php esc_html_e( 'Your site can&#8217;t connect to the Akismet servers.', 'akismet' ); ?></h3>
+ <p>
+ <?php
+ /* translators: The placeholder is a URL. */
+ echo wp_kses( sprintf( __( 'Your firewall may be blocking Akismet from connecting to its API. Please contact your host and refer to <a href="%s" target="_blank">our guide about firewalls</a>.', 'akismet' ), esc_url( 'https://akismet.com/akismet-hosting-faq/' ) ), $kses_allow_link );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'active-dunning' ) : ?>
+<div class="akismet-alert is-bad">
+ <h3 class="akismet-alert__heading"><?php esc_html_e( 'Please update your payment information.', 'akismet' ); ?></h3>
+ <p>
+ <?php
+ /* translators: The placeholder is a URL. */
+ echo wp_kses( sprintf( __( 'We cannot process your payment. Please <a href="%s" target="_blank">update your payment details</a>.', 'akismet' ), esc_url( 'https://akismet.com/account/' ) ), $kses_allow_link );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'cancelled' ) : ?>
+<div class="akismet-alert is-bad">
+ <h3 class="akismet-alert__heading"><?php esc_html_e( 'Your Akismet plan has been cancelled.', 'akismet' ); ?></h3>
+ <p>
+ <?php
+ /* translators: The placeholder is a URL. */
+ echo wp_kses( sprintf( __( 'Please visit your <a href="%s" target="_blank">Akismet account page</a> to reactivate your subscription.', 'akismet' ), esc_url( 'https://akismet.com/account/' ) ), $kses_allow_link );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'suspended' ) : ?>
+<div class="akismet-alert is-bad">
+ <h3 class="akismet-alert__heading"><?php esc_html_e( 'Your Akismet subscription is suspended.', 'akismet' ); ?></h3>
+ <p>
+ <?php
+ /* translators: The placeholder is a URL. */
+ echo wp_kses( sprintf( __( 'Please contact <a href="%s" target="_blank">Akismet support</a> for assistance.', 'akismet' ), esc_url( 'https://akismet.com/contact/' ) ), $kses_allow_link );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'active-notice' && $time_saved ) : ?>
+<div class="akismet-alert is-neutral">
+ <h3 class="akismet-alert__heading"><?php echo esc_html( $time_saved ); ?></h3>
+ <p>
+ <?php
+ /* translators: the placeholder is a clickable URL to the Akismet account upgrade page. */
+ echo wp_kses( sprintf( __( 'You can help us fight spam and upgrade your account by <a href="%s" target="_blank">contributing a token amount</a>.', 'akismet' ), esc_url( 'https://akismet.com/pricing' ) ), $kses_allow_link );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'missing' ) : ?>
+<div class="akismet-alert is-bad">
+ <h3 class="akismet-alert__heading"><?php esc_html_e( 'There is a problem with your API key.', 'akismet' ); ?></h3>
+ <p>
+ <?php
+ /* translators: The placeholder is a URL to the Akismet contact form. */
+ echo wp_kses( sprintf( __( 'Please contact <a href="%s" target="_blank">Akismet support</a> for assistance.', 'akismet' ), esc_url( 'https://akismet.com/contact/' ) ), $kses_allow_link );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'no-sub' ) : ?>
+<div class="akismet-alert is-bad">
+ <h3 class="akismet-alert__heading"><?php esc_html_e( 'You don&#8217;t have an Akismet plan.', 'akismet' ); ?></h3>
+ <p>
+ <?php
+ /* translators: the placeholder is a clickable URL to the Akismet account upgrade page. */
+ echo wp_kses( sprintf( __( 'In 2012, Akismet began using subscription plans for all accounts (even free ones). A plan has not been assigned to your account, and we&#8217;d appreciate it if you&#8217;d <a href="%s" target="_blank">sign into your account</a> and choose one.', 'akismet' ), esc_url( 'https://akismet.com/pricing' ) ), $kses_allow_link );
+ ?>
+ <br /><br />
+ <?php
+ /* translators: The placeholder is a URL to the Akismet contact form. */
+ echo wp_kses( sprintf( __( 'Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet' ), esc_url( 'https://akismet.com/contact/' ) ), $kses_allow_link );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'new-key-valid' ) : ?>
+ <?php
+ 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 is-good">
+ <p><?php esc_html_e( 'Akismet is now protecting your site from spam.', 'akismet' ); ?></p>
+ <?php if ( $check_pending_link ) : ?>
+ <p>
+ <?php
+ echo wp_kses(
+ sprintf(
+ /* translators: The placeholder is a URL for checking pending comments. */
+ __( 'Would you like to <a href="%s">check pending comments</a>?', 'akismet' ),
+ esc_url( $check_pending_link )
+ ),
+ $kses_allow_link
+ );
+ ?>
+ </p>
+ <?php endif; ?>
+ </div>
+
+<?php elseif ( $type === 'new-key-invalid' ) : ?>
+<div class="akismet-alert is-bad">
+ <p><?php esc_html_e( 'The key you entered is invalid. Please double-check it.', 'akismet' ); ?></p>
+</div>
+
+<?php elseif ( $type === 'existing-key-invalid' ) : ?>
+<div class="akismet-alert is-bad">
+ <h3 class="akismet-alert__heading"><?php echo esc_html( __( 'Your API key is no longer valid.', 'akismet' ) ); ?></h3>
+ <p>
+ <?php
+ echo wp_kses(
+ sprintf(
+ /* translators: The placeholder is a URL to the Akismet contact form. */
+ __( 'Please enter a new key or <a href="%s" target="_blank">contact Akismet support</a>.', 'akismet' ),
+ 'https://akismet.com/contact/'
+ ),
+ $kses_allow_link
+ );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'new-key-failed' ) : ?>
+<div class="akismet-alert is-bad">
+ <h3 class="akismet-alert__heading"><?php esc_html_e( 'The API key you entered could not be verified.', 'akismet' ); ?></h3>
+ <p>
+ <?php
+ echo wp_kses(
+ sprintf(
+ /* translators: The placeholder is a URL. */
+ __( '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/'
+ ),
+ $kses_allow_link
+ );
+ ?>
+ </p>
+</div>
+
+<?php elseif ( $type === 'usage-limit' && isset( Akismet::$limit_notices[ $code ] ) ) : ?>
+<div class="error akismet-usage-limit-alert">
+ <div class="akismet-usage-limit-logo">
+ <img src="<?php echo esc_url( plugins_url( '../_inc/img/logo-a-2x.png', __FILE__ ) ); ?>" alt="Akismet logo" />
+ </div>
+ <div class="akismet-usage-limit-text">
+ <h3>
+ <?php
+ switch ( Akismet::$limit_notices[ $code ] ) {
+ case 'FIRST_MONTH_OVER_LIMIT':
+ case 'SECOND_MONTH_OVER_LIMIT':
+ esc_html_e( 'Your Akismet account usage is over your plan&#8217;s limit', 'akismet' );
+ break;
+ case 'THIRD_MONTH_APPROACHING_LIMIT':
+ esc_html_e( 'Your Akismet account usage is approaching your plan&#8217;s limit', 'akismet' );
+ break;
+ case 'THIRD_MONTH_OVER_LIMIT':
+ case 'FOUR_PLUS_MONTHS_OVER_LIMIT':
+ esc_html_e( 'Your account has been restricted', 'akismet' );
+ break;
+ default:
+ }
+ ?>
+ </h3>
+ <p>
+ <?php
+ switch ( Akismet::$limit_notices[ $code ] ) {
+ case 'FIRST_MONTH_OVER_LIMIT':
+ echo esc_html(
+ sprintf(
+ /* translators: The first placeholder is a date, the second is a (formatted) number, the third is another formatted number. */
+ __( 'Since %1$s, your account made %2$s API calls, compared to your plan&#8217;s limit of %3$s.', 'akismet' ),
+ esc_html( gmdate( 'F' ) . ' 1' ),
+ number_format( $api_calls ),
+ number_format( $usage_limit )
+ )
+ );
+ echo '&nbsp;';
+ echo '<a href="https://docs.akismet.com/akismet-api-usage-limits/" target="_blank">';
+ echo esc_html( __( 'Learn more about usage limits.', 'akismet' ) );
+ echo '</a>';
+
+ break;
+ case 'SECOND_MONTH_OVER_LIMIT':
+ echo esc_html( __( 'Your Akismet usage has been over your plan&#8217;s limit for two consecutive months. Next month, we will restrict your account after you reach the limit. Please consider upgrading your plan.', 'akismet' ) );
+ echo '&nbsp;';
+ echo '<a href="https://docs.akismet.com/akismet-api-usage-limits/" target="_blank">';
+ echo esc_html( __( 'Learn more about usage limits.', 'akismet' ) );
+ echo '</a>';
+
+ break;
+ case 'THIRD_MONTH_APPROACHING_LIMIT':
+ echo esc_html( __( 'Your Akismet usage is nearing your plan&#8217;s limit for the third consecutive month. We will restrict your account after you reach the limit. Upgrade your plan so Akismet can continue blocking spam.', 'akismet' ) );
+ echo '&nbsp;';
+ echo '<a href="https://docs.akismet.com/akismet-api-usage-limits/" target="_blank">';
+ echo esc_html( __( 'Learn more about usage limits.', 'akismet' ) );
+ echo '</a>';
+
+ break;
+ case 'THIRD_MONTH_OVER_LIMIT':
+ case 'FOUR_PLUS_MONTHS_OVER_LIMIT':
+ echo esc_html( __( 'Your Akismet usage has been over your plan&#8217;s limit for three consecutive months. We have restricted your account for the rest of the month. Upgrade your plan so Akismet can continue blocking spam.', 'akismet' ) );
+ echo '&nbsp;';
+ echo '<a href="https://docs.akismet.com/akismet-api-usage-limits/" target="_blank">';
+ echo esc_html( __( 'Learn more about usage limits.', 'akismet' ) );
+ echo '</a>';
+
+ break;
+
+ default:
+ }
+ ?>
+ </p>
+ </div>
+ <div class="akismet-usage-limit-cta">
+ <a href="<?php echo esc_attr( $upgrade_url ); ?>" class="button" target="_blank">
+ <?php
+ // If only a qty upgrade is required, show a more generic message.
+ if ( ! empty( $upgrade_type ) && 'qty' === $upgrade_type ) {
+ esc_html_e( 'Upgrade your subscription level', 'akismet' );
+ } else {
+ echo esc_html(
+ sprintf(
+ /* translators: The placeholder is the name of a subscription level, like "Plus" or "Enterprise" . */
+ __( 'Upgrade to %s', 'akismet' ),
+ $upgrade_plan
+ )
+ );
+ }
+ ?>
+ </a>
+ </div>
+</div>
+<?php endif; ?>
diff --git a/wp-content/plugins/akismet/views/predefined.php b/wp-content/plugins/akismet/views/predefined.php
new file mode 100644
index 0000000..d978aaf
--- /dev/null
+++ b/wp-content/plugins/akismet/views/predefined.php
@@ -0,0 +1,11 @@
+<div class="akismet-box">
+ <h2><?php esc_html_e( 'Manual Configuration', 'akismet' ); ?></h2>
+ <p>
+ <?php
+
+ /* translators: %s is the wp-config.php file */
+ 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>
+</div> \ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/setup.php b/wp-content/plugins/akismet/views/setup.php
new file mode 100644
index 0000000..5078009
--- /dev/null
+++ b/wp-content/plugins/akismet/views/setup.php
@@ -0,0 +1,4 @@
+<div class="akismet-setup-instructions">
+ <p><?php esc_html_e( 'Set up your Akismet account to enable spam filtering on this site.', 'akismet' ); ?></p>
+ <?php Akismet::view( 'get', array( 'text' => __( 'Set up your Akismet account' , 'akismet' ), 'classes' => array( 'akismet-button', 'akismet-is-primary' ) ) ); ?>
+</div>
diff --git a/wp-content/plugins/akismet/views/start.php b/wp-content/plugins/akismet/views/start.php
new file mode 100644
index 0000000..3e17eb2
--- /dev/null
+++ b/wp-content/plugins/akismet/views/start.php
@@ -0,0 +1,29 @@
+<?php
+
+//phpcs:disable VariableAnalysis
+// There are "undefined" variables here because they're defined in the code that includes this file as a template.
+
+?>
+<div id="akismet-plugin-container">
+ <div class="akismet-masthead">
+ <div class="akismet-masthead__inside-container">
+ <?php Akismet::view( 'logo' ); ?>
+ </div>
+ </div>
+ <div class="akismet-lower">
+ <?php Akismet_Admin::display_status();?>
+ <div class="akismet-boxes">
+ <?php
+
+ if ( Akismet::predefined_api_key() ) {
+ Akismet::view( 'predefined' );
+ } elseif ( $akismet_user && in_array( $akismet_user->status, array( 'active', 'active-dunning', 'no-sub', 'missing', 'cancelled', 'suspended' ) ) ) {
+ Akismet::view( 'connect-jp', compact( 'akismet_user' ) );
+ } else {
+ Akismet::view( 'activate' );
+ }
+
+ ?>
+ </div>
+ </div>
+</div> \ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/stats.php b/wp-content/plugins/akismet/views/stats.php
new file mode 100644
index 0000000..59a11df
--- /dev/null
+++ b/wp-content/plugins/akismet/views/stats.php
@@ -0,0 +1,12 @@
+<div id="akismet-plugin-container">
+ <div class="akismet-masthead">
+ <div class="akismet-masthead__inside-container">
+ <?php Akismet::view( 'logo', array( 'include_logo_link' => true ) ); ?>
+ <div class="akismet-masthead__back-link-container">
+ <a class="akismet-masthead__back-link" href="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"><?php esc_html_e( 'Back to settings', 'akismet' ); ?></a>
+ </div>
+ </div>
+ </div>
+ <?php /* name attribute on iframe is used as a cache-buster here to force Firefox to load the new style charts: https://bugzilla.mozilla.org/show_bug.cgi?id=356558 */ ?>
+ <iframe id="stats-iframe" src="<?php echo esc_url( sprintf( 'https://tools.akismet.com/1.0/user-stats.php?blog=%s&token=%s&locale=%s&is_redecorated=1', urlencode( get_option( 'home' ) ), urlencode( Akismet::get_access_token() ), esc_attr( get_locale() ) ) ); ?>" name="<?php echo esc_attr( 'user-stats- ' . filemtime( __FILE__ ) ); ?>" width="100%" height="2500px" frameborder="0" title="<?php echo esc_attr__( 'Akismet detailed stats' ); ?>"></iframe>
+</div> \ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/title.php b/wp-content/plugins/akismet/views/title.php
new file mode 100644
index 0000000..b5abb41
--- /dev/null
+++ b/wp-content/plugins/akismet/views/title.php
@@ -0,0 +1,3 @@
+<div class="centered akismet-box-header">
+ <h2><?php esc_html_e( 'Eliminate spam from your site', 'akismet' ); ?></h2>
+</div> \ No newline at end of file