X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/8f374b7233bc2815ccc387e448d208c5434eb961..6d3aa5fe58b2f91735fe04e94a2c12b7dd9adb09:/wp-content/plugins/akismet/admin.php?ds=sidebyside diff --git a/wp-content/plugins/akismet/admin.php b/wp-content/plugins/akismet/admin.php index aa30cde7..56d8c92d 100644 --- a/wp-content/plugins/akismet/admin.php +++ b/wp-content/plugins/akismet/admin.php @@ -10,9 +10,9 @@ function akismet_admin_init() { if ( !function_exists('is_multisite') && version_compare( $wp_version, '3.0', '<' ) ) { function akismet_version_warning() { - echo " -
- "; + echo ' + + '; } add_action('admin_notices', 'akismet_version_warning'); @@ -23,7 +23,6 @@ function akismet_admin_init() { $hook = get_plugin_page_hook( 'akismet-stats-display', 'index.php' ); else $hook = 'dashboard_page_akismet-stats-display'; - add_action('admin_head-'.$hook, 'akismet_stats_script'); add_meta_box('akismet-status', __('Comment History'), 'akismet_comment_status_meta_box', 'comment', 'normal'); } add_action('admin_init', 'akismet_admin_init'); @@ -32,20 +31,28 @@ add_action( 'admin_enqueue_scripts', 'akismet_load_js_and_css' ); function akismet_load_js_and_css() { global $hook_suffix; - if ( - $hook_suffix == 'index.php' # dashboard - || $hook_suffix == 'edit-comments.php' - || $hook_suffix == 'comment.php' - || $hook_suffix == 'post.php' - || $hook_suffix == 'plugins_page_akismet-key-config' - ) { - wp_register_style( 'akismet.css', AKISMET_PLUGIN_URL . 'akismet.css', array(), '2.5.4.4' ); + if ( in_array( $hook_suffix, array( + 'index.php', # dashboard + 'edit-comments.php', + 'comment.php', + 'post.php', + 'plugins_page_akismet-key-config', + 'jetpack_page_akismet-key-config', + ) ) ) { + wp_register_style( 'akismet.css', AKISMET_PLUGIN_URL . 'akismet.css', array(), AKISMET_VERSION ); wp_enqueue_style( 'akismet.css'); - wp_register_script( 'akismet.js', AKISMET_PLUGIN_URL . 'akismet.js', array('jquery'), '2.5.4.6' ); + wp_register_script( 'akismet.js', AKISMET_PLUGIN_URL . 'akismet.js', array('jquery'), AKISMET_VERSION ); wp_enqueue_script( 'akismet.js' ); wp_localize_script( 'akismet.js', 'WPAkismet', array( - 'comment_author_url_nonce' => wp_create_nonce( 'comment_author_url_nonce' ) + 'comment_author_url_nonce' => wp_create_nonce( 'comment_author_url_nonce' ), + 'strings' => array( + 'Remove this URL' => __( 'Remove this URL' ), + 'Removing...' => __( 'Removing...' ), + 'URL removed' => __( 'URL removed' ), + '(undo)' => __( '(undo)' ), + 'Re-adding...' => __( 'Re-adding...' ), + ) ) ); } } @@ -56,7 +63,7 @@ $akismet_nonce = 'akismet-update-key'; function akismet_plugin_action_links( $links, $file ) { if ( $file == plugin_basename( dirname(__FILE__).'/akismet.php' ) ) { - $links[] = ''.__('Settings').''; + $links[] = ''.__( 'Settings' ).''; } return $links; @@ -65,35 +72,54 @@ function akismet_plugin_action_links( $links, $file ) { add_filter( 'plugin_action_links', 'akismet_plugin_action_links', 10, 2 ); function akismet_conf() { - global $akismet_nonce, $wpcom_api_key; + global $akismet_nonce, $current_user; + + $new_key_link = 'https://akismet.com/get/'; + $config_link = esc_url( add_query_arg( array( 'page' => 'akismet-key-config', 'show' => 'enter-api-key' ), class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'plugins.php' ) ) ); + $stats_link = esc_url( add_query_arg( array( 'page' => 'akismet-stats-display' ), class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'index.php' ) ) ); + $api_key = akismet_get_key(); + $show_key_form = $api_key; + $key_status = 'empty'; + $saved_ok = false; + $key_status_text = ''; + + $ms = array(); - if ( isset($_POST['submit']) ) { + if ( isset( $_POST['submit'] ) ) { if ( function_exists('current_user_can') && !current_user_can('manage_options') ) die(__('Cheatin’ uh?')); + + $show_key_form = true; check_admin_referer( $akismet_nonce ); - $key = preg_replace( '/[^a-h0-9]/i', '', $_POST['key'] ); + $key = preg_replace( '/[^a-h0-9]/i', '', $_POST['key'] ); $home_url = parse_url( get_bloginfo('url') ); - - if ( empty($key) ) { - $key_status = 'empty'; - $ms[] = 'new_key_empty'; - delete_option('wordpress_api_key'); - } elseif ( empty($home_url['host']) ) { - $key_status = 'empty'; + + if ( empty( $home_url['host'] ) ) $ms[] = 'bad_home_url'; - } else { - $key_status = akismet_verify_key( $key ); - } - if ( $key_status == 'valid' ) { - update_option('wordpress_api_key', $key); + if ( empty( $key ) ) { + if ( $api_key ) { + delete_option('wordpress_api_key'); + $saved_ok = true; + $ms[] = 'new_key_empty'; + } + else + $ms[] = 'key_empty'; + } + else + $key_status = akismet_verify_key( $key ); + + if ( $key != $api_key && $key_status == 'valid' ) { $ms[] = 'new_key_valid'; - } else if ( $key_status == 'invalid' ) { + update_option('wordpress_api_key', $key); + } + elseif ( $key_status == 'invalid' ) $ms[] = 'new_key_invalid'; - } else if ( $key_status == 'failed' ) { + elseif ( $key_status == 'failed' ) $ms[] = 'new_key_failed'; - } + + $api_key = $key_status == 'valid' ? $key : false; if ( isset( $_POST['akismet_discard_month'] ) ) update_option( 'akismet_discard_month', 'true' ); @@ -104,174 +130,208 @@ function akismet_conf() { update_option( 'akismet_show_user_comments_approved', 'true' ); else update_option( 'akismet_show_user_comments_approved', 'false' ); + + if ( empty( $ms ) ) + $saved_ok = true; - } elseif ( isset($_POST['check']) ) { + } + elseif ( isset( $_POST['check'] ) ) { + $show_key_form = true; + check_admin_referer( $akismet_nonce ); akismet_get_server_connectivity(0); } - - if ( empty( $key_status) || $key_status != 'valid' ) { - $key = get_option('wordpress_api_key'); - if ( empty( $key ) ) { - if ( empty( $key_status ) || $key_status != 'failed' ) { - if ( akismet_verify_key( '1234567890ab' ) == 'failed' ) - $ms[] = 'no_connection'; - else - $ms[] = 'key_empty'; - } - $key_status = 'empty'; - } else { - $key_status = akismet_verify_key( $key ); + elseif ( isset( $_GET['show'] ) && $_GET['show'] == 'enter-api-key' ) { + $show_key_form = true; + } + + if ( $show_key_form ) { + //check current key status + //only get this if showing the key form otherwise takes longer for page to load for new user + //no need to get it if we already know it and its valid + if ( in_array( $key_status, array( 'invalid', 'failed', 'empty' ) ) ) { + $key = get_option('wordpress_api_key'); + if ( empty( $key ) ) { + //no key saved yet - maybe connection to Akismet down? + if ( in_array( $key_status, array( 'invalid', 'empty' ) ) ) { + if ( akismet_verify_key( '1234567890ab' ) == 'failed' ) + $ms[] = 'no_connection'; + } + } + else + $key_status = akismet_verify_key( $key ); } - if ( $key_status == 'valid' ) { - $ms[] = 'key_valid'; - } else if ( $key_status == 'invalid' ) { - $ms[] = 'key_invalid'; - } else if ( !empty($key) && $key_status == 'failed' ) { - $ms[] = 'key_failed'; + + if ( !isset( $_POST['submit'] ) ) { + if ( $key_status == 'invalid' ) + $ms[] = 'key_invalid'; + elseif ( !empty( $key ) && $key_status == 'failed' ) + $ms[] = 'key_failed'; } - } + } + + $key_status_strings = array( + 'empty' => __( 'Empty' ), + 'valid' => __( 'Valid' ), + 'invalid' => __( 'Invalid' ), + 'failed' => __( 'Failed' ), + ); $messages = array( - 'new_key_empty' => array('color' => 'aa0', 'text' => __('Your key has been cleared.')), - 'new_key_valid' => array('color' => '4AB915', 'text' => __('Your key has been verified. Happy blogging!')), - 'new_key_invalid' => array('color' => '888', 'text' => __('The key you entered is invalid. Please double-check it.')), - 'new_key_failed' => array('color' => '888', 'text' => __('The key you entered could not be verified because a connection to akismet.com could not be established. Please check your server configuration.')), - 'no_connection' => array('color' => '888', 'text' => __('There was a problem connecting to the Akismet server. Please check your server configuration.')), - 'key_empty' => array('color' => 'aa0', 'text' => sprintf(__('Please enter an API key. (Get your key.)'), 'http://akismet.com/get/?return=true')), - 'key_valid' => array('color' => '4AB915', 'text' => __('This key is valid.')), - 'key_invalid' => array('color' => '888', 'text' => __('This key is invalid.')), - 'key_failed' => array('color' => 'aa0', 'text' => __('The key below was previously validated but a connection to akismet.com can not be established at this time. Please check your server configuration.')), - 'bad_home_url' => array('color' => '888', 'text' => sprintf( __('Your WordPress home URL %s is invalid. Please fix the home option.'), esc_html( get_bloginfo('url') ), admin_url('options.php#home') ) ), + 'new_key_empty' => array( 'class' => 'updated fade', 'text' => __('Your key has been cleared.' ) ), + 'new_key_valid' => array( 'class' => 'updated fade', 'text' => __('Your Akismet account has been successfully set up and activated. Happy blogging!' ) ), + 'new_key_invalid' => array( 'class' => 'error', 'text' => __('The key you entered is invalid. Please double-check it.' ) ), + 'new_key_failed' => array( 'class' => 'error', 'text' => __('The key you entered could not be verified because a connection to akismet.com could not be established. Please check your server configuration.' ) ), + 'no_connection' => array( 'class' => 'error', 'text' => __('There was a problem connecting to the Akismet server. Please check your server configuration.' ) ), + 'key_empty' => array( 'class' => 'updated fade', 'text' => __('Please enter an API key' ) ), + 'key_invalid' => array( 'class' => 'error', 'text' => __('This key is invalid.' ) ), + 'key_failed' => array( 'class' => 'error', 'text' => __('The key below was previously validated but a connection to akismet.com can not be established at this time. Please check your server configuration.' ) ), + 'bad_home_url' => array( 'class' => 'error', 'text' => sprintf( __('Your WordPress home URL %s is invalid. Please fix the home option.'), esc_html( get_bloginfo('url') ), admin_url('options.php#home') ) ) ); ?> - -Sign up success! Please check your email for your Akismet API Key and enter it below.' ); ?>
'.sprintf( _n( 'Akismet has protected your site from %3$s spam comments.', 'Akismet has protected your site from %3$s spam comments.', $count ), 'http://akismet.com/?return=true', clean_url("$link?page=akismet-admin"), number_format_i18n($count) ).'
'; + echo ''.sprintf( _n( 'Akismet has protected your site from %3$s spam comments.', 'Akismet has protected your site from %3$s spam comments.', $count ), 'http://akismet.com/?return=true', esc_url( add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( isset( $submenu['edit-comments.php'] ) ? 'edit-comments.php' : 'edit.php' ) ) ), number_format_i18n($count) ).'
'; } add_action('activity_box_end', 'akismet_stats'); @@ -306,9 +362,11 @@ function akismet_admin_warnings() { ); ?>Akismet Error Code:
+:
-More information is available at https://akismet.com/errors/
+%s' , 'https://akismet.com/errors/'.$alert['code'], 'https://akismet.com/errors/'.$alert['code'] );?> +
".__('Akismet is almost ready.')." ".sprintf(__('You must enter your Akismet API key for it to work.'), "admin.php?page=akismet-key-config")."
- "; + global $hook_suffix, $current_user; + + if ( $hook_suffix == 'plugins.php' ) { + echo ' +