akismet_auto_check_update_meta

Definition:
function akismet_auto_check_update_meta( $id, $comment ) {}

Parameters

  • $id
  • $comment

Source code

function akismet_auto_check_update_meta( $id, $comment ) {

	global $akismet_last_comment;



	// failsafe for old WP versions

	if ( !function_exists('add_comment_meta') )

		return false;



	// wp_insert_comment() might be called in other contexts, so make sure this is the same comment

	// as was checked by akismet_auto_check_comment

	if ( is_object($comment) && !empty($akismet_last_comment) && is_array($akismet_last_comment) ) {

		if ( intval($akismet_last_comment['comment_post_ID']) == intval($comment->comment_post_ID)

			&& $akismet_last_comment['comment_author'] == $comment->comment_author

			&& $akismet_last_comment['comment_author_email'] == $comment->comment_author_email ) {

				// normal result: true or false

				if ( $akismet_last_comment['akismet_result'] == 'true' ) {

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

					akismet_update_comment_history( $comment->comment_ID, __('Akismet caught this comment as spam'), 'check-spam' );

					if ( $comment->comment_approved != 'spam' )

						akismet_update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s'), $comment->comment_approved), 'status-changed'.$comment->comment_approved );

				} elseif ( $akismet_last_comment['akismet_result'] == 'false' ) {

					update_comment_meta( $comment->comment_ID, 'akismet_result', 'false' );

					akismet_update_comment_history( $comment->comment_ID, __('Akismet cleared this comment'), 'check-ham' );

					if ( $comment->comment_approved == 'spam' ) {

						if ( wp_blacklist_check($comment->comment_author, $comment->comment_author_email, $comment->comment_author_url, $comment->comment_content, $comment->comment_author_IP, $comment->comment_agent) )

							akismet_update_comment_history( $comment->comment_ID, __('Comment was caught by wp_blacklist_check'), 'wp-blacklisted' );

						else

							akismet_update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s'), $comment->comment_approved), 'status-changed-'.$comment->comment_approved );

					}

				// abnormal result: error

				} else {

					update_comment_meta( $comment->comment_ID, 'akismet_error', time() );

					akismet_update_comment_history( $comment->comment_ID, sprintf( __('Akismet was unable to check this comment (response: %s), will automatically retry again later.'), $akismet_last_comment['akismet_result']), 'check-error' );

				}

				

				// record the complete original data as submitted for checking

				if ( isset($akismet_last_comment['comment_as_submitted']) )

					update_comment_meta( $comment->comment_ID, 'akismet_as_submitted', $akismet_last_comment['comment_as_submitted'] );

		}

	}

}

9000

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: