Пример #1
0
/**
 * Checks if the reCAPTCHA guess was correct and sets an error session variable if not
 * @param array $comment_data
 * @return array $comment_data
 */
function recaptcha_wp_check_comment($comment_data)
{
    global $user_ID, $recaptcha_opt;
    global $recaptcha_saved_error;
    if (recaptcha_wp_show_captcha_for_comment()) {
        if ($comment_data['comment_type'] == '') {
            // Do not check trackbacks/pingbacks
            $challenge = $_POST['recaptcha_challenge_field'];
            $response = $_POST['recaptcha_response_field'];
            $recaptcha_response = recaptcha_check_answer($recaptcha_opt['privkey'], $_SERVER['REMOTE_ADDR'], $challenge, $response);
            if ($recaptcha_response->is_valid) {
                return $comment_data;
            } else {
                $recaptcha_saved_error = $recaptcha_response->error;
                add_filter('pre_comment_approved', create_function('$a', 'return \'spam\';'));
                return $comment_data;
            }
        }
    }
    return $comment_data;
}
Пример #2
0
            ?>
</small></label>
				</p>
			<?php 
        }
        ?>
			<!--<p><small><strong>XHTML:</strong> You can use these tags: <?php 
        echo allowed_tags();
        ?>
</small></p>-->
			<p>
				<textarea name="comment" id="comment" cols="50" rows="10" tabindex="4"></textarea>
			</p>
<!--added by raj-->
<?php 
        if (function_exists('recaptcha_wp_show_captcha_for_comment') && recaptcha_wp_show_captcha_for_comment()) {
            ?>
<script>
var RecaptchaOptions = {
   tabindex : 5
};
</script>

<?php 
            echo recaptcha_wp_get_html();
        }
        // should show captcha
        ?>

<p><input name="submit" type="submit" 
id="submit" tabindex="6" value="Submit Comment" />
Пример #3
0
/**
 * Checks if the reCAPTCHA guess was correct and sets an error session variable if not
 * @param array $comment_data
 * @return array $comment_data
 */
function recaptcha_wp_check_comment($comment_data)
{
    global $user_ID, $recaptcha_opt;
    global $recaptcha_saved_error;
    // set the minimum capability needed to skip the captcha if there is one
    if ($recaptcha_opt['re_bypass'] && $recaptcha_opt['re_bypasslevel']) {
        $needed_capability = $recaptcha_opt['re_bypasslevel'];
    }
    // skip the filtering if the minimum capability is met
    if ($needed_capability && current_user_can($needed_capability) || !$recaptcha_opt['re_comments']) {
        return $comment_data;
    }
    if (recaptcha_wp_show_captcha_for_comment()) {
        if ($comment_data['comment_type'] == '') {
            // Do not check trackbacks/pingbacks
            $challenge = $_POST['recaptcha_challenge_field'];
            $response = $_POST['recaptcha_response_field'];
            $recaptcha_response = recaptcha_check_answer($recaptcha_opt['privkey'], $_SERVER['REMOTE_ADDR'], $challenge, $response);
            if ($recaptcha_response->is_valid) {
                return $comment_data;
            } else {
                $recaptcha_saved_error = $recaptcha_response->error;
                add_filter('pre_comment_approved', create_function('$a', 'return \'spam\';'));
                return $comment_data;
            }
        }
    }
    return $comment_data;
}