diff -r 000000000000 -r d970ebf37754 wp/wp-content/plugins/akismet/admin.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-content/plugins/akismet/admin.php Wed Nov 06 03:21:17 2013 +0000 @@ -0,0 +1,925 @@ +
'.sprintf(__('Akismet %s requires WordPress 3.0 or higher.'), AKISMET_VERSION) .' '.sprintf(__('Please upgrade WordPress to a current version, or downgrade to version 2.4 of the Akismet plugin.'), 'http://codex.wordpress.org/Upgrading_WordPress', 'http://wordpress.org/extend/plugins/akismet/download/'). '
+ '; + } + add_action('admin_notices', 'akismet_version_warning'); + + return; + } + + if ( function_exists( 'get_plugin_page_hook' ) ) + $hook = get_plugin_page_hook( 'akismet-stats-display', 'index.php' ); + else + $hook = 'dashboard_page_akismet-stats-display'; + add_meta_box('akismet-status', __('Comment History'), 'akismet_comment_status_meta_box', 'comment', 'normal'); +} +add_action('admin_init', 'akismet_admin_init'); + +add_action( 'admin_enqueue_scripts', 'akismet_load_js_and_css' ); +function akismet_load_js_and_css() { + global $hook_suffix; + + 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(), '2.5.9' ); + wp_enqueue_style( 'akismet.css'); + + wp_register_script( 'akismet.js', AKISMET_PLUGIN_URL . 'akismet.js', array('jquery'), '2.5.9' ); + wp_enqueue_script( 'akismet.js' ); + wp_localize_script( 'akismet.js', 'WPAkismet', array( + 'comment_author_url_nonce' => wp_create_nonce( 'comment_author_url_nonce' ) + ) ); + } +} + + +function akismet_nonce_field($action = -1) { return wp_nonce_field($action); } +$akismet_nonce = 'akismet-update-key'; + +function akismet_plugin_action_links( $links, $file ) { + if ( $file == plugin_basename( dirname(__FILE__).'/akismet.php' ) ) { + $links[] = ''.__( 'Settings' ).''; + } + + return $links; +} + +add_filter( 'plugin_action_links', 'akismet_plugin_action_links', 10, 2 ); + +function akismet_conf() { + 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 ( 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'] ); + $home_url = parse_url( get_bloginfo('url') ); + + if ( empty( $home_url['host'] ) ) + $ms[] = 'bad_home_url'; + + 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'; + update_option('wordpress_api_key', $key); + } + elseif ( $key_status == 'invalid' ) + $ms[] = 'new_key_invalid'; + 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' ); + else + update_option( 'akismet_discard_month', 'false' ); + + if ( isset( $_POST['akismet_show_user_comments_approved'] ) ) + 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'] ) ) { + $show_key_form = true; + check_admin_referer( $akismet_nonce ); + akismet_get_server_connectivity(0); + } + 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 ( !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( '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) ).'
'; +} +add_action('activity_box_end', 'akismet_stats'); + +function akismet_admin_warnings() { + global $wpcom_api_key, $pagenow; + + if ( + $pagenow == 'edit-comments.php' + || ( !empty( $_GET['page'] ) && $_GET['page'] == 'akismet-key-config' ) + || ( !empty( $_GET['page'] ) && $_GET['page'] == 'akismet-stats-display' ) + ) { + if ( get_option( 'akismet_alert_code' ) ) { + function akismet_alert() { + $alert = array( + 'code' => (int) get_option( 'akismet_alert_code' ), + 'msg' => get_option( 'akismet_alert_msg' ) + ); + ?> +:
+ +%s' , 'https://akismet.com/errors/'.$alert['code'], 'https://akismet.com/errors/'.$alert['code'] );?> +
+