Tuesday, September 13, 2011

Joomla 1.7, JoomShopping and Core Design Captcha

So I recently started designing a website for a new client using Joomla 1.7 with JoomShopping and Core Design Captcha.

The website is to sell jewelry and much to my surprise, joomla 1.7, with JoomShopping worked pretty much right out of the box. no bugs or errors ... I also installed Akeeba Backup and Xmap.

The only major issues I've come accross so far (not including redesigning the template) have been:
1. the JoomShopping plugin for xmap does not work for joomla 1.7 - I wish it would
2. It was not easy to find a captcha security that would work on the website.

For the first one I have yet to find a solution ... but then again I have not yet been able to take a close look at it.

However, the second one ... the only security captcha I could find that worked with Joomla 1.7 was Core Design Captcha, but although that worked with Joomla 1.7 right out of the box, it did not work with the login / register pages of JoomShopping.

To get it to work with JoomShopping I found this blog post (http://www.webdesigner-profi.de/joomla-webdesign/joomla-shop/forum/posts/11/817.html?lang=en#4) - which essentially requires a hack of the original CDCaptcha - and followed the instructions ... however, when looking at the version of Core Design Captcha for 1.7 I realized there are some important changes to make to some of the code provided in that link. So here's the modified version for Joomla 1.7 with JoomShopping:

1. In edit plugins/system/cdcaptcha.xml, insert the following code:
(Please Note: This code is different from the original hack mentioned in the above link)


(let's say after COM_ZOO field)

2. Create a new php file called cdcaptcha_com_jshopping.php and save it in plugins/system/cdcaptcha/extension/site

3. In the file you just created place the following code:
(Please Note: This code is the same as that mentioned in the above link)


4. In plugins/system/cdcaptcha/language/en-GB/en-GB.plg_system_cdcaptcha.ini and also in administrator/language/en-GB/en-GB.plg_system_cdcaptcha.ini, place the following code:
PLG_SYSTEM_CDCAPTCHA_LABEL_ENABLED_FOR_COM_JSHOPPING="JoomShopping"
PLG_SYSTEM_CDCAPTCHA_PARAM_ENABLED_FOR_COM_JSHOPPING_NO="No"
PLG_SYSTEM_CDCAPTCHA_PARAM_ENABLED_FOR_COM_JSHOPPING_YES="Yes"
PLG_SYSTEM_CDCAPTCHA_DESC_ENABLED_FOR_COM_JSHOPPING=""

5. save all of these files (and upload them to the server if necessary).