diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:56:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:56:49 +0000 |
commit | a415c29efee45520ae252d2aa28f1083a521cd7b (patch) | |
tree | f4ade4b6668ecc0765de7e1424f7c1427ad433ff /wp-content/plugins/akismet/views | |
parent | Initial commit. (diff) | |
download | wordpress-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.php | 8 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/config.php | 326 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/connect-jp.php | 98 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/enter.php | 14 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/get.php | 18 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/logo.php | 13 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/notice.php | 330 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/predefined.php | 11 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/setup.php | 4 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/start.php | 29 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/stats.php | 12 | ||||
-rw-r--r-- | wp-content/plugins/akismet/views/title.php | 3 |
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’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’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’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' ), 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’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’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’d appreciate it if you’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’s limit', 'akismet' ); + break; + case 'THIRD_MONTH_APPROACHING_LIMIT': + esc_html_e( 'Your Akismet account usage is approaching your plan’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’s limit of %3$s.', 'akismet' ), + esc_html( gmdate( 'F' ) . ' 1' ), + number_format( $api_calls ), + number_format( $usage_limit ) + ) + ); + echo ' '; + 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’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 ' '; + 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’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 ' '; + 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’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 ' '; + 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 |