hrupprecht / Mojolicious-Plugin-Qaptcha

Mojolicious Plugin for JQuery QapTcha
1 stars 0 forks source link

=pod

=encoding utf8

=head1 NAME

Mojolicious::Plugin::Qaptcha - jQuery QapTcha Plugin for Mojolicious

=head1 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>

%= qaptcha_include %= content;

@@ index.html.ep %= layout 'default';



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');

}

=head1 DESCRIPTION

L is a L 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.

=head1 METHODS

L inherits all methods from L and implements the following new ones.

=head2 register

$plugin->register(Mojolicious->new, $options_hash);

Register plugin in L application.

=head2 HELPERS

=over 4

=item qaptcha_include

Includes (optional configured) jquery and qaptcha javascript.

=item qaptcha_is_unlocked

Returns 1 if QapTcha is unlocked.

=back

=head2 OPTIONS

=over 4

=item inbuild_jquery

If set to 1 jQuery 1.8.2 is rendered into %= qaptcha_include.

=item inbuild_jquery_ui

If set to 1 jQuery UI - v1.8.2 is rendered into %= qaptcha_include.

=item inbuild_jquery_ui_touch

If set to 1 jQuery.UI.iPad plugin is rendered into %= qaptcha_include.

=item txtLock

Text to display for locked QapTcha

=item txtUnlock

Text to display for unlocked QapTcha

=item disabledSubmit

Add the "disabled" attribut to the submit button default: false

=item autoRevert

Slider returns to the init-position, when the user hasn't dragged it to end default: true

=item autoSubmit

If true, auto-submit form when the user has dragged it to the end default: false

=item qaptcha_url

Configurable route to unlock qaptcha

=back

an example is located in L<ex/qaptcha.pl|https://github.com/hrupprecht/Mojolicious-Plugin-Qaptcha/blob/master/ex/qaptcha.pl>.

=head1 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/

=head1 SOURCE REPOSITORY

Lhttp://github.com/hrupprecht/Mojolicious-Plugin-Qaptcha

=head1 AUTHOR

Holger Rupprecht - CHolger.Rupprecht@gmx.de

=head1 SEE ALSO

L, L, Lhttp://mojolicio.us.

=head1 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.

=cut