From a30c28b5fc2ff8152de61c2c3440d9a7131deab8 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Tue, 27 Jan 2009 08:21:54 +0000 Subject: Make the comment -> recaptcha binding happen via an event dispatch as opposed to a direct call. --- modules/comment/helpers/comment.php | 7 +------ modules/recaptcha/helpers/recaptcha_event.php | 25 +++++++++++++++++++++++++ modules/recaptcha/libraries/Form_Recaptcha.php | 18 ++++++++++-------- 3 files changed, 36 insertions(+), 14 deletions(-) create mode 100644 modules/recaptcha/helpers/recaptcha_event.php (limited to 'modules') diff --git a/modules/comment/helpers/comment.php b/modules/comment/helpers/comment.php index 82b4f4b0..d2d5aee0 100644 --- a/modules/comment/helpers/comment.php +++ b/modules/comment/helpers/comment.php @@ -77,9 +77,7 @@ class comment_Core { $group->input("url") ->label(t("Website (hidden)"))->id("gUrl"); $group->textarea("text")->label(t("Comment")) ->id("gText"); $group->hidden("item_id")->value($item->id); - if (module::is_installed("recaptcha")) { - $group->recaptcha("recaptcha")->label("")->id("gRecaptcha"); - } + module::event("comment_add_form", $form); $group->submit("")->value(t("Add")); $active = user::active(); @@ -103,9 +101,6 @@ class comment_Core { $group->input("email") ->label(t("Email (hidden)")) ->id("gEmail"); $group->input("url") ->label(t("Website (hidden)"))->id("gUrl"); $group->textarea("text")->label(t("Comment")) ->id("gText"); - if (module::is_installed("recaptcha")) { - $group->recaptcha("recaptcha")->label("")->id("gRecaptcha"); - } $group->submit("")->value(t("Edit")); $group->text = $comment->text; diff --git a/modules/recaptcha/helpers/recaptcha_event.php b/modules/recaptcha/helpers/recaptcha_event.php new file mode 100644 index 00000000..d5dac756 --- /dev/null +++ b/modules/recaptcha/helpers/recaptcha_event.php @@ -0,0 +1,25 @@ +add_comment->recaptcha("recaptcha")->label("")->id("gRecaptcha"); + } +} diff --git a/modules/recaptcha/libraries/Form_Recaptcha.php b/modules/recaptcha/libraries/Form_Recaptcha.php index f834f068..271045c2 100644 --- a/modules/recaptcha/libraries/Form_Recaptcha.php +++ b/modules/recaptcha/libraries/Form_Recaptcha.php @@ -27,26 +27,28 @@ class Form_Recaptcha_Core extends Form_Input { public function __construct($name) { parent::__construct($name); - $this->error_messages("incorrect-captcha-sol", t("The values supplied to recaptcha are incorrect.")); + $this->error_messages("incorrect-captcha-sol", + t("The values supplied to recaptcha are incorrect.")); $this->error_messages("invalid-site-private-key", t("The site private key is incorrect.")); } public function render() { $public_key = module::get_var("recaptcha", "public_key"); - if (empty($public_key)) { + if (empty($public_key)) { throw new Exception("@todo NEED KEY " . - "http://recaptcha.net/api/getkey"); - } + "http://recaptcha.net/api/getkey"); + } - $server = "http://api.recaptcha.net"; + $server = "http://api.recaptcha.net"; $options[] = "callback: Recaptcha.focus_response_field"; $options[] = "lang: \"" . Kohana::config("locale.root_locale") . "\""; $options[] = "theme: \"white\""; $options = implode(", ", $options); - + $html = "
"; - $html .= ""; + $html .= ""; $html .= ""; @@ -72,4 +74,4 @@ class Form_Recaptcha_Core extends Form_Input { return empty($this->_error); } -} \ No newline at end of file +} \ No newline at end of file -- cgit v1.2.3