Jump to content
metalice

Anti spam - adding captcha to contact form

Recommended Posts

hi there,

 

lately i got really heavily spammed from indian seo companies, i dont know how they got on my site,

maybe scrape for presta shop footprints.

 

so i decided to add captcha to my contact form.

 

i looked in presta shop addons, and found http://addons.presta...25-captcha.html

 

im using ps 1.4.4.1 with deco theme, and this module isnt working for me... installed it it and nothing is shown in the contact from, so maybe it only working with the regular theme of ps, i dont know.

 

i need to add captcha to my contact page, how will i do that?

i can see this addon is for v1.2-v1.3...

so how cani adapt it to 1.4.4.1?

 

 

thanks

M.

Share this post


Link to post
Share on other sites

great! thanks! itw working!

 

do you know how to i move it to the middle? im stuck on the left side..

attached a screenshot..

post-288012-0-28947000-1327417038_thumb.jpg

 

thanks!!

Share this post


Link to post
Share on other sites

I'm not an expert on coding but you can achieve this by editing \modules\slidecaptcha\jquery\QapTcha.jquery.css

 

Around line #4 and include

 

padding-left: 225px;

  • Like 2

Share this post


Link to post
Share on other sites
im using ps 1.4.4.1 with deco theme, and this module isnt working for me... installed it it and nothing is shown in the contact from, so maybe it only working with the regular theme of ps, i dont know.

 

After you install the module you need to go to the module configuration and copy the supplied code into the contact-form.tpl file.

 

Did you do this?

Share this post


Link to post
Share on other sites

There is a really neat Slide Captcha module HERE. And it's for free :)

try the new version

Share this post


Link to post
Share on other sites

Hi shacker, what are the changes in the new version?

Share this post


Link to post
Share on other sites

depending of your version, we have updated the code in last version (of the captcha.js) and the implementation on the contact form

Share this post


Link to post
Share on other sites

Hi perhaps you guys can help I had the slider module working great and loved it compared to others out there as my customers are mature and dont like the letters (neither do I!!) however when the module is active it does not allow the site to scroll when used on Ipad or Iphone.

Share this post


Link to post
Share on other sites

UPDATE: I found what the problem was. The module was not positioned in the footer. Thanks.

 

Hello. I'm having a problem. I've downloaded the module, unzipped it, copied the folder in prestashop/root/modules, activated the module, made sure forced compilation is on, included the code in my contact-form.tpl just above the submit button code and all I see is the

Form locked. Slide to unlock and send

text. The slider image is not there. I've also turned error reporting on to see if I could see something that would be messing with the code, but nothing shows up. Unfortunately, I cannot include a link since I'm not presently working on a live server. Does anyone have any idea as to what the problem can be? Thanks in advance.

Edited by bribrigig (see edit history)

Share this post


Link to post
Share on other sites

Here is my Free reCaptcha based module for protect contact, productcomments and sendtofriend forms.

CURL bots protected too.

You can try.

 

http://forum.prestas...pic,9033.0.html

 

I have used it and it works fine but in order to have reCaptcha to be aligned with the rest of the form I had to change recaptcha.tpl at line 31 to show padding-left: 157px;

and added at line 32 <p></p> so that the reCaptcha box is not stuck together to the Message box.

 

I used it only with the Contact form as I am not using the others.

 

Hope this helps,

Thanks

Edited by nanozombi (see edit history)

Share this post


Link to post
Share on other sites

Where exactly should I place the code: {include file="$tpl_dir./../../modules/slidecaptcha/slidecaptcha.tpl"} in the tpl file?

 

 

{capture name=path}{l s='Contact'}{/capture}

{include file="$tpl_dir./breadcrumb.tpl"}

 

<h1>{l s='Customer Service'} - {if isset($customerThread) && $customerThread}{l s='Your reply'}{else}{l s='Contact us'}{/if}</h1>

 

{if isset($confirmation)}

<p>{l s='Your message has been successfully sent to our team.'}</p>

<ul class="footer_links">

<li><a href="{$base_dir}"><img class="icon" alt="" src="{$img_dir}icon/home.gif"/></a><a href="{$base_dir}">{l s='Home'}</a></li>

</ul>

{elseif isset($alreadySent)}

<p>{l s='Your message has already been sent.'}</p>

<ul class="footer_links">

<li><a href="{$base_dir}"><img class="icon" alt="" src="{$img_dir}icon/home.gif"/></a><a href="{$base_dir}">{l s='Home'}</a></li>

</ul>

{else}

<p class="bold">{l s='For questions about an order or for more information about our products'}.</p>

{include file="$tpl_dir./errors.tpl"}

<form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" enctype="multipart/form-data">

<fieldset>

<h3>{l s='Send a message'}</h3>

<p class="select">

<label for="id_contact">{l s='Subject Heading'}</label>

{if isset($customerThread.id_contact)}

{foreach from=$contacts item=contact}

{if $contact.id_contact == $customerThread.id_contact}

<input type="text" id="contact_name" name="contact_name" value="{$contact.name|escape:'htmlall':'UTF-8'}" readonly="readonly" />

<input type="hidden" name="id_contact" value="{$contact.id_contact}" />

{/if}

{/foreach}

</p>

{else}

<select id="id_contact" name="id_contact" onchange="showElemFromSelect('id_contact', 'desc_contact')">

<option value="0">{l s='-- Choose --'}</option>

{foreach from=$contacts item=contact}

<option value="{$contact.id_contact|intval}" {if isset($smarty.post.id_contact) && $smarty.post.id_contact == $contact.id_contact}selected="selected"{/if}>{$contact.name|escape:'htmlall':'UTF-8'}</option>

{/foreach}

</select>

</p>

<p id="desc_contact0" class="desc_contact"> </p>

{foreach from=$contacts item=contact}

<p id="desc_contact{$contact.id_contact|intval}" class="desc_contact" style="display:none;">

{$contact.description|escape:'htmlall':'UTF-8'}

</p>

{/foreach}

{/if}

<p class="text">

<label for="email">{l s='E-mail address'}</label>

{if isset($customerThread.email)}

<input type="text" id="email" name="from" value="{$customerThread.email|escape:'htmlall':'UTF-8'}" readonly="readonly" />

{else}

<input type="text" id="email" name="from" value="{$email|escape:'htmlall':'UTF-8'}" />

{/if}

</p>

{if !$PS_CATALOG_MODE}

{if (!isset($customerThread.id_order) || $customerThread.id_order > 0)}

<p class="text select">

<label for="id_order">{l s='Order ID'}</label>

{if !isset($customerThread.id_order) && isset($isLogged) && $isLogged == 1}

<select name="id_order" >

<option value="0">{l s='-- Choose --'}</option>

{foreach from=$orderList item=order}

<option value="{$order.value|intval}">{$order.label|escape:'htmlall':'UTF-8'}</option>

{/foreach}

</select>

{elseif !isset($customerThread.id_order) && !isset($isLogged)}

<input type="text" name="id_order" id="id_order" value="{if isset($customerThread.id_order) && $customerThread.id_order > 0}{$customerThread.id_order|intval}{else}{if isset($smarty.post.id_order)}{$smarty.post.id_order|intval}{/if}{/if}" />

{elseif $customerThread.id_order > 0}

<input type="text" name="id_order" id="id_order" value="{$customerThread.id_order|intval}" readonly="readonly" />

{/if}

</p>

{/if}

{if isset($isLogged) && $isLogged}

<p class="text select">

<label for="id_product">{l s='Product'}</label>

{if !isset($customerThread.id_product)}

{foreach from=$orderedProductList key=id_order item=products name=products}

<select name="id_product" id="{$id_order}_order_products" class="product_select" style="width:300px;{if !$smarty.foreach.products.first} display:none; {/if}" {if !$smarty.foreach.products.first}disabled="disabled" {/if}>

<option value="0">{l s='-- Choose --'}</option>

{foreach from=$products item=product}

<option value="{$product.value|intval}">{$product.label|escape:'htmlall':'UTF-8'}</option>

{/foreach}

</select>

{/foreach}

{elseif $customerThread.id_product > 0}

<input type="text" name="id_product" id="id_product" value="{$customerThread.id_product|intval}" readonly="readonly" />

{/if}

</p>

{/if}

{/if}

{if $fileupload == 1}

<p class="text">

<label for="fileUpload">{l s='Attach File'}</label>

<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />

<input type="file" name="fileUpload" id="fileUpload" />

</p>

{/if}

<p class="textarea">

<label for="message">{l s='Message'}</label>

<textarea id="message" name="message" rows="15" cols="10">{if isset($message)}{$message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea>

</p>

<p class="submit">

<input type="submit" name="submitMessage" id="submitMessage" value="{l s='Send'}" class="button_large" onclick="$(this).hide();" />

</p>

</fieldset>

</form>

{/if}

 

 

thanks

Share this post


Link to post
Share on other sites

Where exactly should I place the code: {include file="$tpl_dir./../../modules/slidecaptcha/slidecaptcha.tpl"} in the tpl file?

 

 

{capture name=path}{l s='Contact'}{/capture}

{include file="$tpl_dir./breadcrumb.tpl"}

 

<h1>{l s='Customer Service'} - {if isset($customerThread) && $customerThread}{l s='Your reply'}{else}{l s='Contact us'}{/if}</h1>

 

{if isset($confirmation)}

<p>{l s='Your message has been successfully sent to our team.'}</p>

<ul class="footer_links">

<li><a href="{$base_dir}"><img class="icon" alt="" src="{$img_dir}icon/home.gif"/></a><a href="{$base_dir}">{l s='Home'}</a></li>

</ul>

{elseif isset($alreadySent)}

<p>{l s='Your message has already been sent.'}</p>

<ul class="footer_links">

<li><a href="{$base_dir}"><img class="icon" alt="" src="{$img_dir}icon/home.gif"/></a><a href="{$base_dir}">{l s='Home'}</a></li>

</ul>

{else}

<p class="bold">{l s='For questions about an order or for more information about our products'}.</p>

{include file="$tpl_dir./errors.tpl"}

<form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" enctype="multipart/form-data">

<fieldset>

<h3>{l s='Send a message'}</h3>

<p class="select">

<label for="id_contact">{l s='Subject Heading'}</label>

{if isset($customerThread.id_contact)}

{foreach from=$contacts item=contact}

{if $contact.id_contact == $customerThread.id_contact}

<input type="text" id="contact_name" name="contact_name" value="{$contact.name|escape:'htmlall':'UTF-8'}" readonly="readonly" />

<input type="hidden" name="id_contact" value="{$contact.id_contact}" />

{/if}

{/foreach}

</p>

{else}

<select id="id_contact" name="id_contact" onchange="showElemFromSelect('id_contact', 'desc_contact')">

<option value="0">{l s='-- Choose --'}</option>

{foreach from=$contacts item=contact}

<option value="{$contact.id_contact|intval}" {if isset($smarty.post.id_contact) && $smarty.post.id_contact == $contact.id_contact}selected="selected"{/if}>{$contact.name|escape:'htmlall':'UTF-8'}</option>

{/foreach}

</select>

</p>

<p id="desc_contact0" class="desc_contact"> </p>

{foreach from=$contacts item=contact}

<p id="desc_contact{$contact.id_contact|intval}" class="desc_contact" style="display:none;">

{$contact.description|escape:'htmlall':'UTF-8'}

</p>

{/foreach}

{/if}

<p class="text">

<label for="email">{l s='E-mail address'}</label>

{if isset($customerThread.email)}

<input type="text" id="email" name="from" value="{$customerThread.email|escape:'htmlall':'UTF-8'}" readonly="readonly" />

{else}

<input type="text" id="email" name="from" value="{$email|escape:'htmlall':'UTF-8'}" />

{/if}

</p>

{if !$PS_CATALOG_MODE}

{if (!isset($customerThread.id_order) || $customerThread.id_order > 0)}

<p class="text select">

<label for="id_order">{l s='Order ID'}</label>

{if !isset($customerThread.id_order) && isset($isLogged) && $isLogged == 1}

<select name="id_order" >

<option value="0">{l s='-- Choose --'}</option>

{foreach from=$orderList item=order}

<option value="{$order.value|intval}">{$order.label|escape:'htmlall':'UTF-8'}</option>

{/foreach}

</select>

{elseif !isset($customerThread.id_order) && !isset($isLogged)}

<input type="text" name="id_order" id="id_order" value="{if isset($customerThread.id_order) && $customerThread.id_order > 0}{$customerThread.id_order|intval}{else}{if isset($smarty.post.id_order)}{$smarty.post.id_order|intval}{/if}{/if}" />

{elseif $customerThread.id_order > 0}

<input type="text" name="id_order" id="id_order" value="{$customerThread.id_order|intval}" readonly="readonly" />

{/if}

</p>

{/if}

{if isset($isLogged) && $isLogged}

<p class="text select">

<label for="id_product">{l s='Product'}</label>

{if !isset($customerThread.id_product)}

{foreach from=$orderedProductList key=id_order item=products name=products}

<select name="id_product" id="{$id_order}_order_products" class="product_select" style="width:300px;{if !$smarty.foreach.products.first} display:none; {/if}" {if !$smarty.foreach.products.first}disabled="disabled" {/if}>

<option value="0">{l s='-- Choose --'}</option>

{foreach from=$products item=product}

<option value="{$product.value|intval}">{$product.label|escape:'htmlall':'UTF-8'}</option>

{/foreach}

</select>

{/foreach}

{elseif $customerThread.id_product > 0}

<input type="text" name="id_product" id="id_product" value="{$customerThread.id_product|intval}" readonly="readonly" />

{/if}

</p>

{/if}

{/if}

{if $fileupload == 1}

<p class="text">

<label for="fileUpload">{l s='Attach File'}</label>

<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />

<input type="file" name="fileUpload" id="fileUpload" />

</p>

{/if}

<p class="textarea">

<label for="message">{l s='Message'}</label>

<textarea id="message" name="message" rows="15" cols="10">{if isset($message)}{$message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea>

</p>

<p class="submit">

<input type="submit" name="submitMessage" id="submitMessage" value="{l s='Send'}" class="button_large" onclick="$(this).hide();" />

</p>

</fieldset>

</form>

{/if}

 

 

thanks

 

You need to go via FTP to the themes folder and then look for the file: contact-form.tpl

This is the file to edit!

 

You put it here... Should look like this:

 

</div>
</div>
 {include file="$tpl_dir./../../modules/slidecaptcha/views/templates/front/slidecaptcha.tpl"}
<div class="submit">
<button type="submit" name="submitMessage" id="submitMessage" class="button btn btn-default button-medium"><span>{l s='Send'}<i class="icon-chevron-right right"></i></span></button>
</div>
Edited by Deragos Webdesign (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More