extensions development for Joomla!™

 

JProiCaptcha

User's guide for

JProiCaptcha

JProiCaptcha is a unique and innovative user friendly secure Captcha plugin for Joomla!™ 3. It's Joomla!™ R3ADY!

extension name: JProiCaptcha
current version: 3.0.5
previous versions: 1.0.0 > 3.0.4
languages: en-GB
included in package: n/a
demos: demo one | demo two
type: plug-in
release date: December 2012
updated on: October 24, 2013
compatibility: Joomla!™ 3 R3EADY!
min. requirements: Joomla!™ 3+
bootstrap framework (optional)
Gantry framework ready
download : JProiCaptcha
 

Listed on Joomla!™ official Extensions Directory here.

 

Introduction

What is JProiCaptcha

JProiCaptcha is a Joomla!™ 3.0 R3EADY! user friendly secure(1) system Captcha plugin.

JProiCaptcha allows you to protect your Joomla!™ 3+ forms from spammers and bots. When enabled, it renders automatically on all Joomla!™ system forms - user registration, password reminder, password reset, and contact forms. You can even add JProiCaptcha to other forms, either by the extension's configurations or with code.

With just a few lines of code, it can be set to work on any form of your website and avoid spamming and bots to submit your website forms undesirably. JProiCaptcha is a unique and proprietary JPro Extensions system plugin, initially developed to work with the JProEasyContact module, and now available to be used site wide and the new 3.0.0 version increases compatibility with non bootstrapped templates to also use JProiCaptcha on Joomla!™ 3. 

JProiCaptcha is packed with several options that can be set on your Joomla!™ 3 back-end, with a brand new user interface and live preview for some settings and with extra security layers for validation, to allow safe contacts and other forms to be sent/submitted.

Installation, updates and upgrades

How to install the JProiCaptcha plugin

The installation process is the standard Joomla!™ installation procedure and no special requirements are needed to perform a successful plugin installation, although you'll need to set specific configurations to enable the plugin to work on the forms (see below).

Administration

Configuring the backend options

JProiCaptcha allows you to perform basic configuration on your Joomla!™ plugins administration area.

There are tow configuration tabs - Details | Basic options. Although there's only need to configure the Basics, you will need to set additional configurations as in any other plugin, in order to get the plugin to be called in the specific areas for which it was designed to work. Each option has a description of it as you hover your mouse over the field label.

In the Basic Options tab you have the following plugin specific options:

 - Buttons to display - Select the maximum number of buttons that will be visible for selection. Default is 4;
 - Buttons to select - Select the number of buttons that the user must select. More buttons, more security. Default is 3;
 - Security level - Select the maximum number of buttons to use in random to display the 3 buttons. The greater number, the greater security;
 - Limit attempts - Select Yes if you wish to limit the number of attempts to submit the form with wrong captcha selection;
 - Maximum attempts - If selecting the above option to Yes, select/change the maximum form submission attempts before the action below is triggered. Default is 10;
 - Max. attempts behavior - Select the behavior when the maximum form submission attempt are reached. Default is "Show warning message" with options for "Refresh form" and "Redirect to Home page";
 - Add class validate - This option is useful if, for some reason, your custom form does not load the validate class to the submit button, which is required for the captcha. Setting yes, will add the class. If the button already has the class, this will be ignored. Default is Yes.
 - Use minified script - By default the JProiCaptcha jQuery script is minified to speed up the overall site loading. Select no to use the normal script. Default is Yes..
 - Load captcha bootstrap - Option to load a customized bootstrap css+js to allow usage on non bootstrapped templates.
 - Load full framework - Select Yes if you wish to load the full Joomla!™ bootstrap framework instead of just the needed jQuery scripts. This option is useful if you're having problems displaying the icons on non-bootstrapped templates. Default is No.
 

In the Captcha styling tab you have the following plugin specific options:

 - Live preview - This is not a field but the buttons sample that will change their icon colors and style when you change your settings.
 - Use custom buttons - Select Yes if you wish to use the custom button styling. Default is No.
 - Icon color - Joomla by default has two options - white and black. You may use this field (color-picker) to change the icon color. Note that in some templates, this might need you to override the stylesheet, but test first. Default is #ffffff (white).
 - Buttons custom style - Use this field to paste or type the buttons custom style. NOTE: You must ONLY use the css class "btn-custom". Other naming or improper css class definition may result in wrong icon display.
 - Icon name color - You may select a different color for the icon names that the user must read to make his/her choices. Default is #0088CC.
 - Name separator color - You may select a different color for the icon names separators (the comma "," and the "and" word) that the user must read to make his/her choices. Default is W3C standard #000000.
 - Warning label color - Select the background color for the "Wrong icon selection" message. Default is orange.
 - Warning label text color - Select the font color for the "Wrong icon selection" message. Default is white.

System configurations following plugin basic configuration:

By default, and after you set it, the JProiCaptcha will load on the main platform forms - user registration, password reminder, password reset, and contact forms.

 - Access you administration menu:  System > Global configuration;
 - The seventh field from top on this page is " Default Captcha * ". From the drop down, you should see now the option -  "Captcha - JProiCaptcha". Select and save your edit.
 - To make sure everything is set as default, access your users administration menu (just next to the system) in: Users > User manager. The top bar (below the main top menu) will show you a set of buttons.
 - Select the "Options". Again, the seventh form field is the captcha field. Make sure it is set to use the JProiCaptcha plugin. If not, set it and save.

You're good to go and the JProiCaptcha plugin should now be ready to protect your forms! For other forms in your system, read below the Tips & Tricks on how you can easily install the plugin in your code.

Front-end

Rendering JProiCaptcha in your front-end Joomla!™ site

After configuring the backend options, including the basic menu assignment, position, and publishing it, the JProiCaptcha plugin will automatically render on the forms/areas selected.

If using JProiCaptcha on custom forms, the submit button must have the attribute class defined as "validate" (Ex: <button type="submit" class="btn btn-primary validate">Submit</button>). For this you may use the new (v 1.3.0) configuration option - "Add class validate" which will automatically add the class to the submit button if it hasn't been set on your form.

Tips & Tricks

A few simple tips and tricks

Translating the JProiCaptcha
If you need to translate the JProiCaptcha strings, you have to create a new language file in your Joomla!™ administrator/language/ folder. The file name should follow Joomla!™ conventions and start with the language definition - ex: de-DE for german. So the filename should be de-DE.plg_captcha_jproicaptcha.ini

As you may have found already, the JProiCaptcha renders in all basic main system forms, but you probably want to add the JProiCaptcha security to other forms of other extensions that you mays use. To do so, you have to locate the respective scripts where the forms are rendered and edit the code.

Caution! This is your responsibility and you should at least have a basic knowledge of PHP and Html!

Check that the form tag has the class validate and that the button for submitting the form is the standard button type <button type="submit" class="validate">Submit</button> (not an input type). Now that you've found the place to add the few lines of code, here's what you'll need to add and no other configurations are necessary. The plugin will render correctly if the code is correctly written. If not, you should debug your changes. Use the following lines of code:

<div style="padding: 15px;">
     <?php
     /**
     * Get the captcha
     */

     // Import the plugin
     JPluginHelper::importPlugin('captcha','jproicaptcha');

     // Get the dispatcher.
     $dispatcher = JEventDispatcher::getInstance();

     // Trigger the form preparation event.
     $results = $dispatcher->trigger('onDisplay');
     echo JText::_('PLG_CAPTCHA_JPROICAPTCHA_CAPTCHA_LABEL').' *';
     foreach($results as $result){
         echo $result;
     }

    ?>
 </div>

click to highlight the text

Alternatively, in case you want to embed a captcha in your pre-existent extension manifest, you can add the following field inside your form fieldset: 

<field name="captcha"
       type="captcha"
       label="COM_USERS_CAPTCHA_LABEL"
       description="COM_USERS_CAPTCHA_DESC"
       validate="captcha"/>

click to highlight the text

License

Please read the LICENSE.TXT that ships with the JProiCaptcha plugin package

Miscellaneous

None

 

Translations

The plugin ships with the default English (en-GB) translation files that are located in the following directory in your Joomla!™ website:

  • /administrator/language/en-GB/

You can check our GitHub page and see if there are already other community translations for the component and the language you want. If not, you can create your own following Joomla!™ translation guidelines that you can read here.
Then, if you wish, you can contribute to the community and fork our translations repository from GitHub and make a pull request.

 

(1) - Note: The security provided, as in any other Captcha systems, only prevents and not completely disables the possibility of spammers and bots from hacking online forms, thus, the security provided allows the prevention and is not mended to function as a bullet proof system. 

Related Information


Shopping cart

The cart is empty
Extension added to cart! x
Back to Top