akismet_check_for_spam_button

Definition:
function akismet_check_for_spam_button($comment_status) {}

Parameters

  • $comment_status

Source code

function akismet_check_for_spam_button($comment_status) {

	if ( 'approved' == $comment_status )

		return;

	if ( function_exists('plugins_url') )

		$link = 'admin.php?action=akismet_recheck_queue';

	else

		$link = 'edit-comments.php?page=akismet-admin&recheckqueue=true&noheader=true';

	echo "</div><div class='alignleft'><a class='button-secondary checkforspam' href='$link'>" . __('Check for Spam') . "</a>";

}

421

akismet_check_db_comment

Definition:
function akismet_check_db_comment( $id, $recheck_reason = 'recheck_queue' ) {}

Parameters

  • $id
  • $recheck_reason

Source code

function akismet_check_db_comment( $id, $recheck_reason = 'recheck_queue' ) {

    global $wpdb, $akismet_api_host, $akismet_api_port;



    $id = (int) $id;

    $c = $wpdb->get_row( "SELECT * FROM $wpdb->comments WHERE comment_ID = '$id'", ARRAY_A );

    if ( !$c )

        return;



    $c['user_ip']    = $c['comment_author_IP'];

    $c['user_agent'] = $c['comment_agent'];

    $c['referrer']   = '';

    $c['blog']       = get_option('home');

    $c['blog_lang']  = get_locale();

    $c['blog_charset'] = get_option('blog_charset');

    $c['permalink']  = get_permalink($c['comment_post_ID']);

    $id = $c['comment_ID'];

	if ( akismet_test_mode() )

		$c['is_test'] = 'true';

	$c['recheck_reason'] = $recheck_reason;



    $query_string = '';

    foreach ( $c as $key => $data )

    $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';



    $response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port);

    return $response[1];

}

419

akismet_caught

Definition:
function akismet_caught() {}

Defined actions

  • delete_comment
    do_action( 'delete_comment', $comment_ids );
  • akismet_tabs
    do_action( 'akismet_tabs' );

Source code

function akismet_caught() {

	global $wpdb, $comment, $akismet_caught, $akismet_nonce;



	akismet_recheck_queue();

	if (isset($_POST['submit']) && 'recover' == $_POST['action'] && ! empty($_POST['not_spam'])) {

		check_admin_referer( $akismet_nonce );

		if ( function_exists('current_user_can') && !current_user_can('moderate_comments') )

			die(__('You do not have sufficient permission to moderate comments.'));



		$i = 0;

		foreach ($_POST['not_spam'] as $comment):

			$comment = (int) $comment;

			if ( function_exists('wp_set_comment_status') )

				wp_set_comment_status($comment, 'approve');

			else

				$wpdb->query("UPDATE $wpdb->comments SET comment_approved = '1' WHERE comment_ID = '$comment'");

			akismet_submit_nonspam_comment($comment);

			++$i;

		endforeach;

		$to = add_query_arg( 'recovered', $i, $_SERVER['HTTP_REFERER'] );

		wp_redirect( $to );

		exit;

	}

	if ('delete' == $_POST['action']) {

		check_admin_referer( $akismet_nonce );

		if ( function_exists('current_user_can') && !current_user_can('moderate_comments') )

			die(__('You do not have sufficient permission to moderate comments.'));



		$delete_time = $wpdb->escape( $_POST['display_time'] );

		$comment_ids = $wpdb->get_col( "SELECT comment_id FROM $wpdb->comments WHERE comment_approved = 'spam' AND '$delete_time' > comment_date_gmt" );

		if ( !empty( $comment_ids ) ) {

			do_action( 'delete_comment', $comment_ids );

			$wpdb->query( "DELETE FROM $wpdb->comments WHERE comment_id IN ( " . implode( ', ', $comment_ids ) . " )");

			wp_cache_delete( 'akismet_spam_count', 'widget' );

		}

		$to = add_query_arg( 'deleted', 'all', $_SERVER['HTTP_REFERER'] );

		wp_redirect( $to );

		exit;

	}



if ( isset( $_GET['recovered'] ) ) {

	$i = (int) $_GET['recovered'];

	echo '<div class="updated"><p>' . sprintf(__('%1$s comments recovered.'), $i) . "</p></div>";

}



if (isset( $_GET['deleted'] ) )

	echo '<div class="updated"><p>' . __('All spam deleted.') . '</p></div>';



if ( isset( $GLOBALS['submenu']['edit-comments.php'] ) )

	$link = 'edit-comments.php';

else

	$link = 'edit.php';

?>

<style type="text/css">

.akismet-tabs {

	list-style: none;

	margin: 0;

	padding: 0;

	clear: both;

	border-bottom: 1px solid #ccc;

	height: 31px;

	margin-bottom: 20px;

	background: #ddd;

	border-top: 1px solid #bdbdbd;

}

.akismet-tabs li {

	float: left;

	margin: 5px 0 0 20px;

}

.akismet-tabs a {

	display: block;

	padding: 4px .5em 3px;

	border-bottom: none;

	color: #036;

}

.akismet-tabs .active a {

	background: #fff;

	border: 1px solid #ccc;

	border-bottom: none;

	color: #000;

	font-weight: bold;

	padding-bottom: 4px;

}

#akismetsearch {

	float: right;

	margin-top: -.5em;

}



#akismetsearch p {

	margin: 0;

	padding: 0;

}

</style>

<div class="wrap">

<h2><?php _e('Caught Spam') ?></h2>

<?php

$count = get_option( 'akismet_spam_count' );

if ( $count ) {

?>

<p><?php printf(__('Akismet has caught <strong>%1$s spam</strong> for you since you first installed it.'), number_format_i18n($count) ); ?></p>

<?php

}



$spam_count = akismet_spam_count();



if ( 0 == $spam_count ) {

	echo '<p>'.__('You have no spam currently in the queue. Must be your lucky day. :)').'</p>';

	echo '</div>';

} else {

	echo '<p>'.__('You can delete all of the spam from your database with a single click. This operation cannot be undone, so you may wish to check to ensure that no legitimate comments got through first. Spam is automatically deleted after 15 days, so don’t sweat it.').'</p>';

?>

<?php if ( !isset( $_POST['s'] ) ) { ?>

<form method="post" action="<?php echo attribute_escape( add_query_arg( 'noheader', 'true' ) ); ?>">

<?php akismet_nonce_field($akismet_nonce) ?>

<input type="hidden" name="action" value="delete" />

<?php printf(__('There are currently %1$s comments identified as spam.'), $spam_count); ?>&nbsp; &nbsp; <input type="submit" class="button delete" name="Submit" value="<?php _e('Delete all'); ?>" />

<input type="hidden" name="display_time" value="<?php echo current_time('mysql', 1); ?>" />

</form>

<?php } ?>

</div>

<div class="wrap">

<?php if ( isset( $_POST['s'] ) ) { ?>

<h2><?php _e('Search'); ?></h2>

<?php } else { ?>

<?php echo '<p>'.__('These are the latest comments identified as spam by Akismet. If you see any mistakes, simply mark the comment as "not spam" and Akismet will learn from the submission. If you wish to recover a comment from spam, simply select the comment, and click Not Spam. After 15 days we clean out the junk for you.').'</p>'; ?>

<?php } ?>

<?php

if ( isset( $_POST['s'] ) ) {

	$s = $wpdb->escape($_POST['s']);

	$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments  WHERE

		(comment_author LIKE '%$s%' OR

		comment_author_email LIKE '%$s%' OR

		comment_author_url LIKE ('%$s%') OR

		comment_author_IP LIKE ('%$s%') OR

		comment_content LIKE ('%$s%') ) AND

		comment_approved = 'spam'

		ORDER BY comment_date DESC");

} else {

	if ( isset( $_GET['apage'] ) )

		$page = (int) $_GET['apage'];

	else

		$page = 1;



	if ( $page < 2 )

		$page = 1;



	$current_type = false;

	if ( isset( $_GET['ctype'] ) )

		$current_type = preg_replace( '|[^a-z]|', '', $_GET['ctype'] );



	$comments = akismet_spam_comments( $current_type, $page );

	$total = akismet_spam_count( $current_type );

	$totals = akismet_spam_totals();

?>

<ul class="akismet-tabs">

<li <?php if ( !isset( $_GET['ctype'] ) ) echo ' class="active"'; ?>><a href="edit-comments.php?page=akismet-admin"><?php _e('All'); ?></a></li>

<?php

foreach ( $totals as $type => $type_count ) {

	if ( 'comment' == $type ) {

		$type = 'comments';

		$show = __('Comments');

	} else {

		$show = ucwords( $type );

	}

	$type_count = number_format_i18n( $type_count );

	$extra = $current_type === $type ? ' class="active"' : '';

	echo "<li $extra><a href='edit-comments.php?page=akismet-admin&amp;ctype=$type'>$show ($type_count)</a></li>";

}

do_action( 'akismet_tabs' ); // so plugins can add more tabs easily

?>

</ul>

<?php

}



if ($comments) {

?>

<form method="post" action="<?php echo attribute_escape("$link?page=akismet-admin"); ?>" id="akismetsearch">

<p>  <input type="text" name="s" value="<?php if (isset($_POST['s'])) echo attribute_escape($_POST['s']); ?>" size="17" />

  <input type="submit" class="button" name="submit" value="<?php echo attribute_escape(__('Search Spam &raquo;')) ?>"  />  </p>

</form>

<?php if ( $total > 50 ) {

$total_pages = ceil( $total / 50 );

$r = '';

if ( 1 < $page ) {

	$args['apage'] = ( 1 == $page - 1 ) ? '' : $page - 1;

	$r .=  '<a class="prev" href="' . clean_url(add_query_arg( $args )) . '">'. __('&laquo; Previous Page') .'</a>' . "\n";

}

if ( ( $total_pages = ceil( $total / 50 ) ) > 1 ) {

	for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) :

		if ( $page == $page_num ) :

			$r .=  "<strong>$page_num</strong>\n";

		else :

			$p = false;

			if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) :

				$args['apage'] = ( 1 == $page_num ) ? '' : $page_num;

				$r .= '<a class="page-numbers" href="' . clean_url(add_query_arg($args)) . '">' . ( $page_num ) . "</a>\n";

				$in = true;

			elseif ( $in == true ) :

				$r .= "...\n";

				$in = false;

			endif;

		endif;

	endfor;

}

if ( ( $page ) * 50 < $total || -1 == $total ) {

	$args['apage'] = $page + 1;

	$r .=  '<a class="next" href="' . clean_url(add_query_arg($args)) . '">'. __('Next Page &raquo;') .'</a>' . "\n";

}

echo "<p>$r</p>";

?>



<?php } ?>

<form style="clear: both;" method="post" action="<?php echo attribute_escape( add_query_arg( 'noheader', 'true' ) ); ?>">

<?php akismet_nonce_field($akismet_nonce) ?>

<input type="hidden" name="action" value="recover" />

<ul id="spam-list" class="commentlist" style="list-style: none; margin: 0; padding: 0;">

<?php

$i = 0;

foreach($comments as $comment) {

	$i++;

	$comment_date = mysql2date(get_option("date_format") . " @ " . get_option("time_format"), $comment->comment_date);

	$post = get_post($comment->comment_post_ID);

	$post_title = $post->post_title;

	if ($i % 2) $class = 'class="alternate"';

	else $class = '';

	echo "\n\t<li id='comment-$comment->comment_ID' $class>";

	?>



<p><strong><?php comment_author() ?></strong> <?php if ($comment->comment_author_email) { ?>| <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url) { ?> | <?php comment_author_url_link() ?> <?php } ?>| <?php _e('IP:') ?> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p>



<?php comment_text() ?>



<p><label for="spam-<?php echo $comment->comment_ID; ?>">

<input type="checkbox" id="spam-<?php echo $comment->comment_ID; ?>" name="not_spam[]" value="<?php echo $comment->comment_ID; ?>" />

<?php _e('Not Spam') ?></label> — <?php comment_date('M j, g:i A');  ?> — [

<?php

$post = get_post($comment->comment_post_ID);

$post_title = wp_specialchars( $post->post_title, 'double' );

$post_title = ('' == $post_title) ? "# $comment->comment_post_ID" : $post_title;

?>

 <a href="<?php echo get_permalink($comment->comment_post_ID); ?>" title="<?php echo $post_title; ?>"><?php _e('View Post') ?></a> ] </p>





<?php

}

?>

</ul>

<?php if ( $total > 50 ) {

$total_pages = ceil( $total / 50 );

$r = '';

if ( 1 < $page ) {

	$args['apage'] = ( 1 == $page - 1 ) ? '' : $page - 1;

	$r .=  '<a class="prev" href="' . clean_url(add_query_arg( $args )) . '">'. __('&laquo; Previous Page') .'</a>' . "\n";

}

if ( ( $total_pages = ceil( $total / 50 ) ) > 1 ) {

	for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) :

		if ( $page == $page_num ) :

			$r .=  "<strong>$page_num</strong>\n";

		else :

			$p = false;

			if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) :

				$args['apage'] = ( 1 == $page_num ) ? '' : $page_num;

				$r .= '<a class="page-numbers" href="' . clean_url(add_query_arg($args)) . '">' . ( $page_num ) . "</a>\n";

				$in = true;

			elseif ( $in == true ) :

				$r .= "...\n";

				$in = false;

			endif;

		endif;

	endfor;

}

if ( ( $page ) * 50 < $total || -1 == $total ) {

	$args['apage'] = $page + 1;

	$r .=  '<a class="next" href="' . clean_url(add_query_arg($args)) . '">'. __('Next Page &raquo;') .'</a>' . "\n";

}

echo "<p>$r</p>";

}

?>

<p class="submit">

<input type="submit" name="submit" value="<?php echo attribute_escape(__('De-spam marked comments &raquo;')); ?>" />

</p>

<p><?php _e('Comments you de-spam will be submitted to Akismet as mistakes so it can learn and get better.'); ?></p>

</form>

<?php

} else {

?>

<p><?php _e('No results found.'); ?></p>

<?php } ?>



<?php if ( !isset( $_POST['s'] ) ) { ?>

<form method="post" action="<?php echo attribute_escape( add_query_arg( 'noheader', 'true' ) ); ?>">

<?php akismet_nonce_field($akismet_nonce) ?>

<p><input type="hidden" name="action" value="delete" />

<?php printf(__('There are currently %1$s comments identified as spam.'), $spam_count); ?>&nbsp; &nbsp; <input type="submit" name="Submit" class="button" value="<?php echo attribute_escape(__('Delete all')); ?>" />

<input type="hidden" name="display_time" value="<?php echo current_time('mysql', 1); ?>" /></p>

</form>

<?php } ?>

</div>

<?php

	}

}

415

akismet_auto_check_comment

Definition:
function akismet_auto_check_comment( $commentdata ) {}

Parameters

  • $commentdata

Defined filters

  • akismet_comment_nonce
    apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' )

Source code

function akismet_auto_check_comment( $commentdata ) {

	global $akismet_api_host, $akismet_api_port, $akismet_last_comment;



	$comment = $commentdata;

	$comment['user_ip']    = $_SERVER['REMOTE_ADDR'];

	$comment['user_agent'] = $_SERVER['HTTP_USER_AGENT'];

	$comment['referrer']   = $_SERVER['HTTP_REFERER'];

	$comment['blog']       = get_option('home');

	$comment['blog_lang']  = get_locale();

	$comment['blog_charset'] = get_option('blog_charset');

	$comment['permalink']  = get_permalink($comment['comment_post_ID']);

	

	$comment['user_role'] = akismet_get_user_roles($comment['user_ID']);



	$akismet_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) );

	$comment['akismet_comment_nonce'] = 'inactive';

	if ( $akismet_nonce_option == 'true' || $akismet_nonce_option == '' ) {

		$comment['akismet_comment_nonce'] = 'failed';

		if ( isset( $_POST['akismet_comment_nonce'] ) && wp_verify_nonce( $_POST['akismet_comment_nonce'], 'akismet_comment_nonce_' . $comment['comment_post_ID'] ) )

			$comment['akismet_comment_nonce'] = 'passed';



		// comment reply in wp-admin

		if ( isset( $_POST['_ajax_nonce-replyto-comment'] ) && check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' ) )

			$comment['akismet_comment_nonce'] = 'passed';



	}



	if ( akismet_test_mode() )

		$comment['is_test'] = 'true';

		

	foreach ($_POST as $key => $value ) {

		if ( is_string($value) )

			$comment["POST_{$key}"] = $value;

	}

413

akismet_admin_warnings

Definition:
function akismet_admin_warnings() {}

Defined filters

  • akismet_show_user_comments_approved
    apply_filters( 'akismet_show_user_comments_approved', get_option('akismet_show_user_comments_approved')

Source code

function akismet_admin_warnings() {

	global $wpcom_api_key;

	if ( !get_option('wordpress_api_key') && !$wpcom_api_key && !isset($_POST['submit']) ) {

		function akismet_warning() {

			echo "

			<div id='akismet-warning' class='updated fade'><p><strong>".__('Akismet is almost ready.')."</strong> ".sprintf(__('You must <a href="%1$s">enter your Akismet API key</a> for it to work.'), "plugins.php?page=akismet-key-config")."</p></div>

			";

		}

		add_action('admin_notices', 'akismet_warning');

		return;

	} elseif ( ( empty($_SERVER['SCRIPT_FILENAME']) || basename($_SERVER['SCRIPT_FILENAME']) == 'edit-comments.php' ) &&  wp_next_scheduled('akismet_schedule_cron_recheck') ) {

		function akismet_warning() {

			global $wpdb;

				$waiting = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->commentmeta WHERE meta_key = 'akismet_error'" ) );

				$next_check = human_time_diff( wp_next_scheduled('akismet_schedule_cron_recheck') );

				if ( $waiting > 0 )

					echo "

			<div id='akismet-warning' class='updated fade'><p><strong>".__('Akismet has detected a problem.')."</strong> ".sprintf(_n('A server or network problem prevented Akismet from checking %d comment. It has been temporarily held for moderation and will be automatically re-checked in %s.', 'A server or network problem prevented Akismet from checking %d comments. They have been temporarily held for moderation and will be automatically re-checked in %s.', $waiting), number_format_i18n( $waiting ), $next_check)."</p></div>

			";

		}

		add_action('admin_notices', 'akismet_warning');

		return;

	}

}



// FIXME placeholder



function akismet_comment_row_action( $a, $comment ) {



	// failsafe for old WP versions

	if ( !function_exists('add_comment_meta') )

		return $a;



	$akismet_result = get_comment_meta( $comment->comment_ID, 'akismet_result', true );

	$user_result = get_comment_meta( $comment->comment_ID, 'akismet_user_result', true);

	$comment_status = wp_get_comment_status( $comment->comment_ID );

	$desc = null;

	if ( !$user_result || $user_result == $akismet_result ) {

		// Show the original Akismet result if the user hasn't overridden it, or if their decision was the same

		if ( $akismet_result == 'true' && $comment_status != 'spam' && $comment_status != 'trash' )

			$desc = __( 'Flagged as spam by Akismet' );

		elseif ( $akismet_result == 'false' && $comment_status == 'spam' )

			$desc = __( 'Cleared by Akismet' );

	} else {

		$who = get_comment_meta( $comment->comment_ID, 'akismet_user', true );

		if ( $user_result == 'true' )

			$desc = sprintf( __('Flagged as spam by %s'), $who );

		else

			$desc = sprintf( __('Un-spammed by %s'), $who );

	}



	// add a History item to the hover links, just after Edit

	if ( $akismet_result ) {

		$b = array();

		foreach ( $a as $k => $item ) {

			$b[ $k ] = $item;

			if ( $k == 'edit' )

				$b['history'] = '<a href="comment.php?action=editcomment&amp;c='.$comment->comment_ID.'#akismet-status" title="'. esc_attr__( 'View comment history' ) . '"> '. __('History') . '</a>';

		}

		

		$a = $b;

	}

		

	if ( $desc )

		echo '<span class="akismet-status" commentid="'.$comment->comment_ID.'"><a href="comment.php?action=editcomment&amp;c='.$comment->comment_ID.'#akismet-status" title="' . esc_attr__( 'View comment history' ) . '">'.htmlspecialchars($desc).'</a></span>';

		

	if ( apply_filters( 'akismet_show_user_comments_approved', get_option('akismet_show_user_comments_approved') ) == 'true' ) {

		$comment_count = akismet_get_user_comments_approved( $comment->user_id, $comment->comment_author_email, $comment->comment_author, $comment->comment_author_url );

		$comment_count = intval( $comment_count );

		echo '<span class="akismet-user-comment-count" commentid="'.$comment->comment_ID.'" style="display:none;"><br><span class="akismet-user-comment-counts">'.sprintf( _n( '%s approved', '%s approved', $comment_count ), number_format_i18n( $comment_count ) ) . '</span></span>';

	}

	

	return $a;

}



add_filter( 'comment_row_actions', 'akismet_comment_row_action', 10, 2 );



function akismet_comment_status_meta_box($comment) {

	$history = akismet_get_comment_history( $comment->comment_ID );



	if ( $history ) {

		echo '<div class="akismet-history" style="margin: 13px;">';

		foreach ( $history as $row ) {

			$time = date( 'D d M Y @ h:i:m a', $row['time'] ) . ' GMT';

			echo '<div style="margin-bottom: 13px;"><span style="color: #999;" alt="' . $time . '" title="' . $time . '">' . sprintf( __('%s ago'), human_time_diff( $row['time'] ) ) . '</span> - ';

			echo htmlspecialchars( $row['message'] ) . '</div>';

		}

		

		echo '</div>';



	}

}





// add an extra column header to the comments screen

function akismet_comments_columns( $columns ) {

	$columns[ 'akismet' ] = __( 'Akismet' );

	return $columns;

}



#add_filter( 'manage_edit-comments_columns', 'akismet_comments_columns' );



// Show stuff in the extra column

function akismet_comment_column_row( $column, $comment_id ) {

	if ( $column != 'akismet' )

		return;

		

	$history = akismet_get_comment_history( $comment_id );

	

	if ( $history ) {

		echo '<dl class="akismet-history">';

		foreach ( $history as $row ) {

			echo '<dt>' . sprintf( __('%s ago'), human_time_diff( $row['time'] ) ) . '</dt>';

			echo '<dd>' . htmlspecialchars( $row['message'] ) . '</dd>';

		}

		

		echo '</dl>';

	}

}



#add_action( 'manage_comments_custom_column', 'akismet_comment_column_row', 10, 2 );



// END FIXME



// call out URLS in comments

function akismet_text_add_link_callback( $m ) {

	

		// bare link?

        if ( $m[4] == $m[2] )

                return '<a '.$m[1].' href="'.$m[2].'" '.$m[3].' class="comment-link">'.$m[4].'</a>';

        else

                return '<span title="'.$m[2].'" class="comment-link"><a '.$m[1].' href="'.$m[2].'" '.$m[3].' class="comment-link">'.$m[4].'</a></span>';

}



function akismet_text_add_link_class( $comment_text ) {



        return preg_replace_callback( '#<a ([^>]*)href="([^"]+)"([^>]*)>(.*?)</a>#i', 'akismet_text_add_link_callback', $comment_text );

}



add_filter('comment_text', 'akismet_text_add_link_class');





// WP 2.5+

function akismet_rightnow() {

	global $submenu, $wp_db_version;



	// clean_url was deprecated in WP 3.0

	$esc_url = 'clean_url';

	if ( function_exists( 'esc_url' ) )

		$esc_url = 'esc_url';



	if ( 8645 < $wp_db_version  ) // 2.7

		$link = 'edit-comments.php?comment_status=spam';

	elseif ( isset( $submenu['edit-comments.php'] ) )

		$link = 'edit-comments.php?page=akismet-admin';

	else

		$link = 'edit.php?page=akismet-admin';



	if ( $count = get_option('akismet_spam_count') ) {

		$intro = sprintf( _n(

			'<a href="%1$s">Akismet</a> has protected your site from %2$s spam comment already. ',

			'<a href="%1$s">Akismet</a> has protected your site from %2$s spam comments already. ',

			$count

		), 'http://akismet.com/', number_format_i18n( $count ) );

	} else {

		$intro = sprintf( __('<a href="%1$s">Akismet</a> blocks spam from getting to your blog. '), 'http://akismet.com/' );

	}



	if ( $queue_count = akismet_spam_count() ) {

		$queue_text = sprintf( _n(

			'There\'s <a href="%2$s">%1$s comment</a> in your spam queue right now.',

			'There are <a href="%2$s">%1$s comments</a> in your spam queue right now.',

			$queue_count

		), number_format_i18n( $queue_count ), $esc_url($link) );

	} else {

		$queue_text = sprintf( __( "There's nothing in your <a href='%1\$s'>spam queue</a> at the moment." ), $esc_url($link) );

	}



	$text = $intro . '<br />' . $queue_text;

	echo "<p class='akismet-right-now'>$text</p>\n";

}

	

411