|
SecurityImages BETA will be available in no more than 2 days... Note that SecurityImages is still WAY to intrusive toward Joomla! as core file has to be changed in order to use Captcha. Lets take the contact section of Joomla! as an example. - Download the patch HERE (soon available as a ready to use patch) and overwrite file on your server OR
- Do it on your own, this is more for 3rd party developer, or people wanting to understand the internal of Joomla! or SecurityImages
Click Read MORE!
It is always recommended to use a switch in all your component to activate deactivate SecurityImages per components through the administrator control panel. This is done by adding to administrator/components/com_contact/contact_items.xml the following code: <param name="useSecurityImages" type="radio" default="1" label="Use SecurityImage Captcha" description="Enable Captcha verification"> <option value="0">No</option> <option value="1">Yes</option> </param> Joomla will read this xml file on the fly and build the graphical user interface for the contact settings. Since Joomla! 1.5 now use a Model View Controller paradigm, we have to alter the controller, and add a new Task displaySecurityImagesCaptcha()in components/com_contact/controller.php: function displaySecurityImagesCaptcha() { global $mainframe; //Per contact you can define if the user has to resolve the capctha $contactId = JRequest::getVar('contact_id', 0, '', 'int'); // load the contact details $model = &$this->getModel('contact'); $qOptions['id'] = $contactId; $contact = $model->getContact( $qOptions ); $params = new JParameter( $contact->params ); if ($params->get('useSecurityImages')) { $check = null; $mainframe->triggerEvent('onSecurityImagesDisplay', array($check)); if (!$check) { echo "<br/>Erreur affichage du Captcha<br/>"; } } }
As you can see, the event "onSecurityImagesDisplay" is triggered on a per contact name basis. That mean that some contact can have a Captcha while other have not. The next step is to add the task checkSecurityImagesCaptcha() checking the captcha in the components/com_contact/controller.php function checkSecurityImagesCaptcha() { global $mainframe; $contactId = JRequest::getVar('id', 0, '', 'int'); // load the contact details $model = &$this->getModel('contact'); $qOptions['id'] = $contactId; $contact = $model->getContact( $qOptions ); $params = new JParameter( $contact->params ); //check if that user has a capctha if (!$params->get('useSecurityImages')) { return true; } $return = false; $securityImagesJoomlaContactUserTry = JRequest::getVar('securityImagesJoomlaContactUserTry', false, '', 'CMD'); $mainframe->triggerEvent('onSecurityImagesCheck', array($securityImagesJoomlaContactUserTry &$return)); return $return; }
One more step is to alter the original submit() method of the controller in components/com_contact/controller.php global $mainframe; if (!$this->checkSecurityImagesCaptcha()) { JError::raiseWarning("999","Invalid Captcha Code"); $this->display(); return false; }
And finally altering the view /com_contact/views/contact/tmpl/default_form.php to display the Captcha field <?php if ($this->params->get('useSecurityImages')) { ?> <img src="/index.php?option=com_contact&task=displaySecurityImagesCaptcha&contact_id=<?php echo $this->contact->id; ?>"> <br /> <input type="text" name="securityImagesJoomlaContactUserTry" /> <br /> <?php } ?> As you see a lot of thing have been done, and I am still testing and improving the code.Related Posts
-
Just in case I take too much time to deliver a ready to use download, duration 5 minutes, but you need to understand basic php coding Create a temporary directory c:\patch Copy an existing patch distribution, under a new name For example, lets download Joomla_1.5.13-Stable-Full_PackageForSecurityImages5.1.x_v01.01.00.zip into c:\patch\ 222 days ago
-
Only for SecurityImages 5.1.x and Joomla! 1.5.13 Allow login views, login modules, register, lost password, lost user account and contact section to be protected by SecurityImages Are for Joomla! 1.5.13 only and SecurityImages 5.1.x or later 14 files has been altered, mostly views, and com_contact/com_user controller, click on picture 232 days ago
-
Only for SecurityImages 5.1.x and Joomla! 1.5.12 Allow login views, login modules, register, lost password, lost user account and contact section to be protected by SecurityImages Are for Joomla! 1.5.12 only and SecurityImages 5.1.x or later 14 files has been altered, mostly views, and com_contact/com_user controller, click on picture 254 days ago
-
This version should improve installations on some host, where the plugin securityimages.php did not always install properly. The reason behind is that I did add falsely an additional file index.html in plugin.zip. This may lead to permissions issues during installation. SecurityImages 5.1.2 do not contains any other changes, so If you’re happil 254 days ago
-
The Joomla! community is pleased to announce the immediate availability of Joomla! 1.5.11 Since Joomla 1.5.11 is released...Here are the new patches for SecurityImages 5.1.1 AND Joomla! 1.5.11 Allow login views, login modules, register, lost password, lost user account and contact section to be protected by SecurityImages Are for J 285 days ago
-
The Joomla! community is pleased to announce the immediate availability of Joomla! 1.5.10 Since Joomla 1.5.10 is released...Here are the new patches for SecurityImages 5.1.1 Allow login views, login modules, register, lost password, lost user account and contact section to be protected by SecurityImages Are for Joomla! 1.5.10 only 352 days ago
-
Following the Preview of SecurityImages 5.2.0, I am currently developing a proof of concept using the Ajax library JQUERY jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write Jav 398 days ago
-
Some people have reported issue in the forum I've found the error in my code in some views but not all: img src="/<?php echo JURI :: root() ?>/index.php? as a result, there is in image URL a double / which cause issues on some web host (no image displayed) I now provide a new patches versions for Joomla! 1.5.8 and 1.5.9 that 420 days ago
-
The Joomla! community is pleased to announce the immediate availability of Joomla! 1.5.9 Since Joomla 1.5.9 is released...Here are the new patches for SecurityImages 5.1.0 Allow login views, login modules, register, lost password, lost user account and contact section to be protected by SecurityImages Are for Joomla! 1.5.9 only 427 days ago
-
An insight at securityimages 5.2.0 still in development, as usual, all comments are welcome either in this post or in my forum NEW: fonts are now auto detected, and a better widget is now available for selecting them, sorry still no font preview in php ;-) You can install your own true type fonts at /administrator/components/com_securityimages 468 days ago
relatedArticles
|