From 27206f782dd6b1cdb321e56cf3e26e8b7cdff474 Mon Sep 17 00:00:00 2001 From: JoenioCosta Date: Thu, 27 Mar 2008 21:53:07 +0000 Subject: [PATCH] ActionItem146: added inverse_captcha plugin --- vendor/plugins/inverse_captcha/README | 29 +++++++++++++++++++++++++++++ vendor/plugins/inverse_captcha/init.rb | 3 +++ vendor/plugins/inverse_captcha/lib/inverse_captcha.rb | 18 ++++++++++++++++++ vendor/plugins/inverse_captcha/lib/inverse_captcha_helper.rb | 11 +++++++++++ 4 files changed, 61 insertions(+), 0 deletions(-) create mode 100644 vendor/plugins/inverse_captcha/README create mode 100644 vendor/plugins/inverse_captcha/init.rb create mode 100644 vendor/plugins/inverse_captcha/lib/inverse_captcha.rb create mode 100644 vendor/plugins/inverse_captcha/lib/inverse_captcha_helper.rb diff --git a/vendor/plugins/inverse_captcha/README b/vendor/plugins/inverse_captcha/README new file mode 100644 index 0000000..441a98e --- /dev/null +++ b/vendor/plugins/inverse_captcha/README @@ -0,0 +1,29 @@ +InverseCaptcha +============== + +Implement simple Anti-Comment-Spam Technique. + +Basic Usage +=========== + +Add method inverse_captcha on controller: + +ps.: dont use this method more than once time on same controller. + + inverse_captcha :field => 'e-mail'[, class => 'ghost'] + +Add the field in view form: + + <%= icaptcha_field() %> + +Check if field is blank in your controller: + + if params[controller.icaptcha_field].blank? + do... + else + dont... + end + +--- +Joenio Costa +Qui Mar 27 15:48:12 BRT 2008 diff --git a/vendor/plugins/inverse_captcha/init.rb b/vendor/plugins/inverse_captcha/init.rb new file mode 100644 index 0000000..f224c2c --- /dev/null +++ b/vendor/plugins/inverse_captcha/init.rb @@ -0,0 +1,3 @@ +ActionController::Base.extend(InverseCaptcha::ClassMethods) +ActionController::Base.send(:include, InverseCaptcha::InstanceMethods) +ActionView::Base.send(:include, InverseCaptchaHelper) diff --git a/vendor/plugins/inverse_captcha/lib/inverse_captcha.rb b/vendor/plugins/inverse_captcha/lib/inverse_captcha.rb new file mode 100644 index 0000000..b296571 --- /dev/null +++ b/vendor/plugins/inverse_captcha/lib/inverse_captcha.rb @@ -0,0 +1,18 @@ +module InverseCaptcha + + module ClassMethods + def inverse_captcha(opt = {}) + InverseCaptcha.const_set("ICAPTCHA_FIELD", opt[:field]) + InverseCaptcha.const_set("ICAPTCHA_LABEL", opt[:label] || N_("Don't fill this field")) + InverseCaptcha.const_set("ICAPTCHA_STYLECLASS", opt[:class] || 'ghost') + self.send(:include, InverseCaptcha) + end + end + + module InstanceMethods + def icaptcha_field + ICAPTCHA_FIELD + end + end + +end diff --git a/vendor/plugins/inverse_captcha/lib/inverse_captcha_helper.rb b/vendor/plugins/inverse_captcha/lib/inverse_captcha_helper.rb new file mode 100644 index 0000000..a756db8 --- /dev/null +++ b/vendor/plugins/inverse_captcha/lib/inverse_captcha_helper.rb @@ -0,0 +1,11 @@ +module InverseCaptchaHelper + + def icaptcha_field(opt = {}) + label = controller.class::ICAPTCHA_LABEL + field = controller.class::ICAPTCHA_FIELD + opt.merge!({:class => controller.class::ICAPTCHA_STYLECLASS}) + stylesheet = "" + stylesheet + content_tag('span', labelled_form_field(_(label), text_field_tag(field, nil)), opt) + end + +end -- libgit2 0.21.2