From deb56dae38123d0a47612f01fe40122dbe001147 Mon Sep 17 00:00:00 2001 From: Dylan Lloyd Date: Wed, 9 Mar 2011 16:24:36 -0500 Subject: [PATCH] reCAPTCHA image now loaded w/ AJAX --- index.php | 60 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 23 deletions(-) diff --git a/index.php b/index.php index f15b999..a0c48f2 100644 --- a/index.php +++ b/index.php @@ -55,7 +55,7 @@ abstract class cms { call_user_func_array("mysqli_stmt_bind_result", $fields); $i = 0; while ($statement->fetch()) { - foreach ($row as $key1=>$value1) $return[$i][$key1] = $value1; + foreach ($row as $key=>$value) $return[$i][$key] = $value; $i++; } $statement->free_result(); @@ -66,8 +66,11 @@ abstract class cms { $home_link = "/") { $scripts = ""; $stylesheets = ""; - if (cms::determine_type() == "index") { $scripts = ""; } echo <<db->query($sql); $result = $result->fetch_array(); $this->number_of_comments = $result[0]; + if (isset($_GET['verify'])) { + $this->verify(); + } } public function display() { @@ -355,7 +362,7 @@ class note extends cms { $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if (!$resp->is_valid) { - echo "sorry, reCAPTCHA said you're not human.


"; + $this->failed_captcha = true; } else { $sql = ("INSERT INTO comments (date_posted, author, email, text, note) @@ -384,6 +391,9 @@ class note extends cms {

END_OF_NAVIGATION; + if ($this->failed_captcha) { + echo "sorry, reCAPTCHA said you're not human.


"; + } if (!$this->comments_enabled) { $this->display_comment_link(); } @@ -430,21 +440,30 @@ END_OF_COMMENT; } private function display_comment_form() { + $publickey = $this->recaptcha_publickey; echo << -var RecaptchaOptions = { - theme : 'custom', - custom_theme_widget: 'recaptcha_widget' - }; +function showRecaptcha(element) { +Recaptcha.create("$publickey", + "recaptcha_div", + { + theme : 'custom', + custom_theme_widget: 'recaptcha_widget', + callback: Recaptcha.focus_response_field + }); +} END_CAPTCHA_STYLE; require_once('includes/recaptchalib.php'); // Trailing slash is necessary for reloads to work $url = $this->url . "verify"; echo "
"; - echo << + echo << + +
+

comment:

name:

@@ -455,22 +474,17 @@ END_CAPTCHA_STYLE;

what's this say?

-

enter the numbers you hear:

-(another/audio/Get an image CAPTCHAhelp)

+

enter the numbers you hear:

(another/audio/Get an image CAPTCHAhelp)

-

-
-



+

+
+



+
+
+ + +

-FORM; - echo recaptcha_get_html($this->recaptcha_publickey); - if (isset($_GET['verify'])) { - $this->verify(); - } - echo << - - END_OF_FORM; } } -- 2.30.2