From 4df9a781d4abf12d1d5ccb1e9ae70c97f5bdbcbd Mon Sep 17 00:00:00 2001 From: jatiny <jatiny@consultbop.com> Date: Mon, 16 Dec 2024 09:11:48 +0000 Subject: [PATCH] chore: captcha impl --- .../views/templates/widget/contactform.tpl | 2 +- .../templates/widget/contactform.tpl.backup | 134 ++++++++++++++++++ templates/customer/_partials/login-form.tpl | 2 +- .../customer/_partials/login-form.tpl.backup | 59 ++++++++ 4 files changed, 195 insertions(+), 2 deletions(-) create mode 100644 modules/contactform/views/templates/widget/contactform.tpl.backup create mode 100644 templates/customer/_partials/login-form.tpl.backup diff --git a/modules/contactform/views/templates/widget/contactform.tpl b/modules/contactform/views/templates/widget/contactform.tpl index 7549219..dfc410c 100644 --- a/modules/contactform/views/templates/widget/contactform.tpl +++ b/modules/contactform/views/templates/widget/contactform.tpl @@ -113,7 +113,7 @@ </div> {/if} - </section> + {hook h='displayPaCaptcha' posTo='contact'}</section> <footer class="form-footer text-sm-right"> <style> diff --git a/modules/contactform/views/templates/widget/contactform.tpl.backup b/modules/contactform/views/templates/widget/contactform.tpl.backup new file mode 100644 index 0000000..7549219 --- /dev/null +++ b/modules/contactform/views/templates/widget/contactform.tpl.backup @@ -0,0 +1,134 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA <contact@prestashop.com> + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} +<section class="mx-auto max-w-6xl"> + <form class="w-full flex flex-col gap-4" action="{$urls.pages.contact}" method="post" {if $contact.allow_file_upload}enctype="multipart/form-data"{/if}> + {if !$notifications || $notifications.nw_error} + <div class="form-group row"> + <div class="col-md-9 col-md-offset-3"> + <h3 class="text-xl font-medium">{l s='Contact us' d='Shop.Theme.Global'}</h3> + </div> + </div> + <section class="form-fields w-full flex max-md:flex-col flex-wrap"> + <div class="form-group flex flex-col gap-2 w-full md:w-1/2 px-2 my-2"> + <label class="col-md-3 font-medium">{l s='Subject' d='Shop.Forms.Labels'}</label> + <select name="id_contact" class="dropdown-toggle relative py-1 px-4 pr-8 w-full leading-1 border border-gray-300 text-left"> + {foreach from=$contact.contacts item=contact_elt} + <option value="{$contact_elt.id_contact}">{$contact_elt.name}</option> + {/foreach} + </select> + </div> + + <div class="form-group flex flex-col gap-2 w-full md:w-1/2 px-2 my-2"> + <label class="col-md-3 font-medium">{l s='Email address' d='Shop.Forms.Labels'}</label> + <input + class="form-control px-4 py-1 border border-gray-300 w-full" + name="from" + type="email" + value="{$contact.email}" + placeholder="{l s='your@email.com' d='Shop.Forms.Help'}" + > + </div> + + {if $contact.orders} + <div class="form-group flex flex-col gap-2 w-full md:w-1/2 px-2 my-2"> + <label class="col-md-3 font-medium"> + {l s='Order reference' d='Shop.Forms.Labels'} + + <i class="text-xs font-light"> + {l s='( optional )' d='Shop.Forms.Help'} + </i> + </label> + <div class="flex flex-col"> + <select name="id_order" class="dropdown-toggle relative w-full py-1 px-4 pr-8 leading-1 border border-gray-300 text-left"> + <option value="">{l s='Select reference' d='Shop.Forms.Help'}</option> + {foreach from=$contact.orders item=order} + <option value="{$order.id_order}">{$order.reference}</option> + {/foreach} + </select> + </div> + </div> + {/if} + + <div class="form-group flex flex-col gap-2 w-full md:w-1/2 px-2 my-2"> + <label class="col-md-3 font-medium">{l s='Message' d='Shop.Forms.Labels'}</label> + <div class="col-md-9"> + <textarea + class="form-control px-4 py-1 border border-gray-300 w-full" + name="message" + placeholder="{l s='How can we help?' d='Shop.Forms.Help'}" + rows="1" + >{if $contact.message}{$contact.message}{/if}</textarea> + </div> + </div> + + + {if $contact.allow_file_upload} + <div class="form-group flex flex-col gap-2 px-2 my-2 w-full md:w-1/2"> + <label class="col-md-3 font-medium">{l s='Attachment' d='Shop.Forms.Labels'} + <i class="text-xs font-light"> + {l s='( optional )' d='Shop.Forms.Help'} + </i> + </label> + <div class="flex flex-col w-full"> + <input type="file" name="fileUpload" + class="form-control text-sm text-blue-950 + border border-gray-300 w-full + file:mr-4 file:py-1.5 file:px-4 + file:rounded-full file:border-0 + file:text-sm file:font-semibold + file:bg-transparent file:text-blue-950 + hover:file:text-blue-900" + data-buttonText="{l s='Choose file' d='Shop.Theme.Actions'}"> + </div> + </div> + {/if} + + {if isset($id_module)} + <div class="form-group row"> + <div class="offset-md-3"> + {hook h='displayGDPRConsent' id_module=$id_module} + </div> + </div> + {/if} + + </section> + + <footer class="form-footer text-sm-right"> + <style> + input[name=url] { + display: none !important; + } + </style> + <input type="text" name="url" value=""/> + <input type="hidden" name="token" value="{$token}" /> + <input class="uppercase font-medium py-2 text-center w-full bg-blue-950 hover:bg-blue-900 text-gray-50" type="submit" name="submitMessage" value="{l s='Send' d='Shop.Theme.Actions'}"> + </footer> + {else} + <div class="flex w-full justify-center font-semibold text-center"> + {l s='Thank You for contacting us, we will get back to you shortly.' d='Shop.Theme.Global'} + </div> + {/if} + </form> +</section> diff --git a/templates/customer/_partials/login-form.tpl b/templates/customer/_partials/login-form.tpl index c1e1213..0c4e85b 100644 --- a/templates/customer/_partials/login-form.tpl +++ b/templates/customer/_partials/login-form.tpl @@ -37,7 +37,7 @@ {/block} {/foreach} {/block} - <div class="forgot-password"> + {hook h='displayPaCaptcha' posTo='login'}<div class="forgot-password"> <a class="text-base hover:underline underline-offset-2 hover:text-blue-900" href="{$urls.pages.password}" rel="nofollow"> {l s='Forgot your password?' d='Shop.Theme.Customeraccount'} </a> diff --git a/templates/customer/_partials/login-form.tpl.backup b/templates/customer/_partials/login-form.tpl.backup new file mode 100644 index 0000000..c1e1213 --- /dev/null +++ b/templates/customer/_partials/login-form.tpl.backup @@ -0,0 +1,59 @@ +{** + * 2007-2019 PrestaShop and Contributors + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License 3.0 (AFL-3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * https://opensource.org/licenses/AFL-3.0 + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to https://www.prestashop.com for more information. + * + * @author PrestaShop SA <contact@prestashop.com> + * @copyright 2007-2019 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + * International Registered Trademark & Property of PrestaShop SA + *} +{block name='login_form'} + + {block name='login_form_errors'} + {include file='_partials/form-errors.tpl' errors=$errors['']} + {/block} + + <form id="login-form" action="{block name='login_form_actionurl'}{$action}{/block}" method="post"> + <section class="flex flex-col gap-3"> + {block name='login_form_fields'} + {foreach from=$formFields item="field"} + {block name='form_field'} + {form_field field=$field} + {/block} + {/foreach} + {/block} + <div class="forgot-password"> + <a class="text-base hover:underline underline-offset-2 hover:text-blue-900" href="{$urls.pages.password}" rel="nofollow"> + {l s='Forgot your password?' d='Shop.Theme.Customeraccount'} + </a> + </div> + </section> + + {block name='login_form_footer'} + <footer class="form-footer w-full mt-8"> + <input type="hidden" name="submitLogin" value="1"> + {block name='form_buttons'} + <button id="submit-login" class="uppercase font-medium py-2 text-center w-full bg-blue-950 hover:bg-blue-900 text-gray-50" data-link-action="sign-in" type="submit" > + {l s='Sign in' d='Shop.Theme.Actions'} + </button> + {/block} + </footer> + {/block} + + </form> +{/block}