notice.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <?php
  2. //phpcs:disable VariableAnalysis
  3. // There are "undefined" variables here because they're defined in the code that includes this file as a template.
  4. ?>
  5. <?php if ( $type == 'plugin' ) :?>
  6. <div class="updated" id="akismet_setup_prompt">
  7. <form name="akismet_activate" action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="POST">
  8. <div class="akismet_activate">
  9. <div class="aa_a">A</div>
  10. <div class="aa_button_container">
  11. <div class="aa_button_border">
  12. <input type="submit" class="aa_button" value="<?php esc_attr_e( 'Set up your Akismet account', 'akismet' ); ?>" />
  13. </div>
  14. </div>
  15. <div class="aa_description"><?php _e('<strong>Almost done</strong> - configure Akismet and say goodbye to spam', 'akismet');?></div>
  16. </div>
  17. </form>
  18. </div>
  19. <?php elseif ( $type == 'spam-check' ) :?>
  20. <div class="notice notice-warning">
  21. <p><strong><?php esc_html_e( 'Akismet has detected a problem.', 'akismet' );?></strong></p>
  22. <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>
  23. <?php if ( $link_text ) { ?>
  24. <p><?php echo $link_text; ?></p>
  25. <?php } ?>
  26. </div>
  27. <?php elseif ( $type == 'alert' ) :?>
  28. <div class='error'>
  29. <p><strong><?php printf( esc_html__( 'Akismet Error Code: %s', 'akismet' ), $code ); ?></strong></p>
  30. <p><?php echo esc_html( $msg ); ?></p>
  31. <p><?php
  32. /* translators: the placeholder is a clickable URL that leads to more information regarding an error code. */
  33. printf( esc_html__( 'For more information: %s' , 'akismet'), '<a href="https://akismet.com/errors/' . $code . '">https://akismet.com/errors/' . $code . '</a>' );
  34. ?>
  35. </p>
  36. </div>
  37. <?php elseif ( $type == 'notice' ) :?>
  38. <div class="akismet-alert akismet-critical">
  39. <h3 class="akismet-key-status failed"><?php echo $notice_header; ?></h3>
  40. <p class="akismet-description">
  41. <?php echo $notice_text; ?>
  42. </p>
  43. </div>
  44. <?php elseif ( $type == 'missing-functions' ) :?>
  45. <div class="akismet-alert akismet-critical">
  46. <h3 class="akismet-key-status failed"><?php esc_html_e('Network functions are disabled.', 'akismet'); ?></h3>
  47. <p class="akismet-description"><?php printf( __('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'), 'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
  48. </div>
  49. <?php elseif ( $type == 'servers-be-down' ) :?>
  50. <div class="akismet-alert akismet-critical">
  51. <h3 class="akismet-key-status failed"><?php esc_html_e("Your site can&#8217;t connect to the Akismet servers.", 'akismet'); ?></h3>
  52. <p class="akismet-description"><?php printf( __('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'), 'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
  53. </div>
  54. <?php elseif ( $type == 'active-dunning' ) :?>
  55. <div class="akismet-alert akismet-critical">
  56. <h3 class="akismet-key-status"><?php esc_html_e("Please update your payment information.", 'akismet'); ?></h3>
  57. <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>
  58. </div>
  59. <?php elseif ( $type == 'cancelled' ) :?>
  60. <div class="akismet-alert akismet-critical">
  61. <h3 class="akismet-key-status"><?php esc_html_e("Your Akismet plan has been cancelled.", 'akismet'); ?></h3>
  62. <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>
  63. </div>
  64. <?php elseif ( $type == 'suspended' ) :?>
  65. <div class="akismet-alert akismet-critical">
  66. <h3 class="akismet-key-status failed"><?php esc_html_e("Your Akismet subscription is suspended.", 'akismet'); ?></h3>
  67. <p class="akismet-description"><?php printf( __('Please contact <a href="%s" target="_blank">Akismet support</a> for assistance.', 'akismet'), 'https://akismet.com/contact/'); ?></p>
  68. </div>
  69. <?php elseif ( $type == 'active-notice' && $time_saved ) :?>
  70. <div class="akismet-alert akismet-active">
  71. <h3 class="akismet-key-status"><?php echo esc_html( $time_saved ); ?></h3>
  72. <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>
  73. </div>
  74. <?php elseif ( $type == 'missing' ) :?>
  75. <div class="akismet-alert akismet-critical">
  76. <h3 class="akismet-key-status failed"><?php esc_html_e( 'There is a problem with your API key.', 'akismet'); ?></h3>
  77. <p class="akismet-description"><?php printf( __('Please contact <a href="%s" target="_blank">Akismet support</a> for assistance.', 'akismet'), 'https://akismet.com/contact/'); ?></p>
  78. </div>
  79. <?php elseif ( $type == 'no-sub' ) :?>
  80. <div class="akismet-alert akismet-critical">
  81. <h3 class="akismet-key-status failed"><?php esc_html_e( 'You don&#8217;t have an Akismet plan.', 'akismet'); ?></h3>
  82. <p class="akismet-description">
  83. <?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&#8217;d appreciate it if you&#8217;d <a href="%s" target="_blank">sign into your account</a> and choose one.', 'akismet'), 'https://akismet.com/account/upgrade/' ); ?>
  84. <br /><br />
  85. <?php printf( __( 'Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet' ), 'https://akismet.com/contact/' ); ?>
  86. </p>
  87. </div>
  88. <?php elseif ( $type == 'new-key-valid' ) :
  89. global $wpdb;
  90. $check_pending_link = false;
  91. $at_least_one_comment_in_moderation = !! $wpdb->get_var( "SELECT comment_ID FROM {$wpdb->comments} WHERE comment_approved = '0' LIMIT 1" );
  92. if ( $at_least_one_comment_in_moderation) {
  93. $check_pending_link = 'edit-comments.php?akismet_recheck=' . wp_create_nonce( 'akismet_recheck' );
  94. }
  95. ?>
  96. <div class="akismet-alert akismet-active">
  97. <h3 class="akismet-key-status"><?php esc_html_e( 'Akismet is now protecting your site from spam. Happy blogging!', 'akismet' ); ?></h3>
  98. <?php if ( $check_pending_link ) { ?>
  99. <p class="akismet-description"><?php printf( __( 'Would you like to <a href="%s">check pending comments</a>?', 'akismet' ), esc_url( $check_pending_link ) ); ?></p>
  100. <?php } ?>
  101. </div>
  102. <?php elseif ( $type == 'new-key-invalid' ) :?>
  103. <div class="akismet-alert akismet-critical">
  104. <h3 class="akismet-key-status"><?php esc_html_e( 'The key you entered is invalid. Please double-check it.' , 'akismet'); ?></h3>
  105. </div>
  106. <?php elseif ( $type == 'existing-key-invalid' ) :?>
  107. <div class="akismet-alert akismet-critical">
  108. <h3 class="akismet-key-status"><?php esc_html_e( 'Your API key is no longer valid. Please enter a new key or contact support@akismet.com.' , 'akismet'); ?></h3>
  109. </div>
  110. <?php elseif ( $type == 'new-key-failed' ) :?>
  111. <div class="akismet-alert akismet-critical">
  112. <h3 class="akismet-key-status"><?php esc_html_e( 'The API key you entered could not be verified.' , 'akismet'); ?></h3>
  113. <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>
  114. </div>
  115. <?php elseif ( $type == 'limit-reached' && in_array( $level, array( 'yellow', 'red' ) ) ) :?>
  116. <div class="akismet-alert akismet-critical">
  117. <?php if ( $level == 'yellow' ): ?>
  118. <h3 class="akismet-key-status failed"><?php esc_html_e( 'You&#8217;re using your Akismet key on more sites than your Pro subscription allows.', 'akismet' ); ?></h3>
  119. <p class="akismet-description">
  120. <?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/' ); ?>
  121. <br /><br />
  122. <?php printf( __( 'Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet' ), 'https://akismet.com/contact/'); ?>
  123. </p>
  124. <?php elseif ( $level == 'red' ): ?>
  125. <h3 class="akismet-key-status failed"><?php esc_html_e( 'You&#8217;re using Akismet on far too many sites for your Pro subscription.', 'akismet' ); ?></h3>
  126. <p class="akismet-description">
  127. <?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/' ); ?>
  128. <br /><br />
  129. <?php printf( __( 'Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet' ), 'https://akismet.com/contact/'); ?>
  130. </p>
  131. <?php endif; ?>
  132. </div>
  133. <?php elseif ( $type == 'privacy' ) :?>
  134. <div class="notice notice-warning is-dismissible" id="akismet-privacy-notice-admin-notice">
  135. <p><strong><?php esc_html_e( 'Akismet & Privacy.', 'akismet' );?></strong></p>
  136. <p><?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. This feature is disabled by default, however, you can turn it on below.', 'akismet' ); ?></p>
  137. <p><?php printf( __(' Please <a href="%s">enable</a> or <a href="%s">disable</a> this feature. <a href="%s" id="akismet-privacy-notice-control-notice-info-link" target="_blank">More information</a>.', 'akismet' ), admin_url( apply_filters( 'akismet_comment_form_privacy_notice_url_display', 'options-general.php?page=akismet-key-config&akismet_comment_form_privacy_notice=display' ) ), admin_url( apply_filters( 'akismet_comment_form_privacy_notice_url_hide', 'options-general.php?page=akismet-key-config&akismet_comment_form_privacy_notice=hide' ) ), 'https://akismet.com/privacy/' ); ?></p>
  138. </div>
  139. <?php endif;?>