NAME
Mojolicious::Plugin::Qaptcha - jQuery QapTcha Plugin for Mojolicious
SYNOPSIS
# Mojolicious
$app->plugin('Qaptcha', {
inbuild_jquery => 1,
inbuild_jquery_ui => 1,
inbuild_jquery_ui_touch => 1,
txtLock => "LOCKED",
txtUnlock => "UNLOCKED",
disabledSubmit => "true",
autoRevert => "false",
autoSubmit => "true",
qaptcha_url => '/do_unlock',
});
# Mojolicious::Lite
plugin 'Qaptcha', {
inbuild_jquery => 1,
inbuild_jquery_ui => 1,
inbuild_jquery_ui_touch => 1,
txtLock => "LOCKED",
txtUnlock => "UNLOCKED",
disabledSubmit => "true",
autoRevert => "false",
autoSubmit => "true",
qaptcha_url => '/do_unlock',
};
and in your templates
@@ layouts/default.html.ep
<!DOCTYPE html>
<html>
<head>
%= qaptcha_include
</head>
<body>
%= content;
</body>
</html>
@@ index.html.ep
%= layout 'default';
<form method="post">
<fieldset>
<label>First Name</label> <input name="firstname" type="text"><br>
<label>Last Name</label> <input name="lastname" type="text">
<input name="submit" value="Submit form" style="margin-top:15px;" type="submit">
<br />
<!-- put a qaptcha element inside a form -->
<div class="QapTcha"></div>
</fieldset>
</form>
and in your controller
# Mojolicious::Lite
any '/' => sub {
my $self = shift;
do_something if $self->qaptcha_is_unlocked;
$self->render('index');
};
# Mojolicious
sub index {
my $self = shift;
do_something if $self->qaptcha_is_unlocked;
$self->render('index');
}
DESCRIPTION
Mojolicious::Plugin::Qaptcha is a Mojolicious plugin.
It brings jQuery QapTcha functionality inside your html form in an element with class 'QapTcha'. When QapTcha is unlocked, next request has to submit form. Otherwise QapTcha will be locked back.
METHODS
Mojolicious::Plugin::Qaptcha inherits all methods from Mojolicious::Plugin and implements the following new ones.
register
$plugin->register(Mojolicious->new, $options_hash);
Register plugin in Mojolicious application.
HELPERS
- qaptcha_include
-
Includes (optional configured) jquery and qaptcha javascript.
- qaptcha_is_unlocked
-
Returns 1 if QapTcha is unlocked.
OPTIONS
- inbuild_jquery
-
If set to 1 jQuery 1.8.2 is rendered into %= qaptcha_include.
- inbuild_jquery_ui
-
If set to 1 jQuery UI - v1.8.2 is rendered into %= qaptcha_include.
- inbuild_jquery_ui_touch
-
If set to 1 jQuery.UI.iPad plugin is rendered into %= qaptcha_include.
- txtLock
-
Text to display for locked QapTcha
- txtUnlock
-
Text to display for unlocked QapTcha
- disabledSubmit
-
Add the "disabled" attribut to the submit button default: false
- autoRevert
-
Slider returns to the init-position, when the user hasn't dragged it to end default: true
- autoSubmit
-
If true, auto-submit form when the user has dragged it to the end default: false
- qaptcha_url
-
Configurable route to unlock qaptcha
an example is located in ex/qaptcha.pl.
INSTALLATION
To install this module, run the following commands:
perl Build.PL
./Build
./Build test
./Build install
SUPPORT AND DOCUMENTATION
After installing, you can find documentation for this module with the perldoc command.
perldoc Mojolicious::Plugin::Qaptcha
You can also look for information at:
AnnoCPAN, Annotated CPAN documentation
http://annocpan.org/dist/Mojolicious-Plugin-Qaptcha
CPAN Ratings
http://cpanratings.perl.org/d/Mojolicious-Plugin-Qaptcha
Search CPAN
http://search.cpan.org/dist/Mojolicious-Plugin-Qaptcha/
SOURCE REPOSITORY
http://github.com/hrupprecht/Mojolicious-Plugin-Qaptcha
AUTHOR
Holger Rupprecht - Holger.Rupprecht@gmx.de
SEE ALSO
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
COPYRIGHT AND LICENSE
Copyright (C) 2013 by Holger Rupprecht
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.