Rajout du module ReCaptcha

This commit is contained in:
2021-02-09 15:09:14 +01:00
parent de56924f04
commit aa4a44aea7
22 changed files with 713 additions and 15 deletions

View File

@@ -0,0 +1,69 @@
{extends file="admin-layout.tpl"}
{block name="after-bootstrap-css"}
<style>
.recaptcha_radio {
cursor: pointer;
}
</style>
{/block}
{block name="no-return-functions"}
{$admin_current_location = 'module'}
{/block}
{block name="page-title"}{intl l='ReCaptcha module configuration' d='recaptcha.bo.default'}{/block}
{block name="check-resource"}admin.module{/block}
{block name="check-access"}view{/block}
{block name="check-module"}ReCaptcha{/block}
{block name="main-content"}
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
{intl l="ReCaptcha configuration" d='recaptcha.bo.default'}
</h4>
</div>
{form name="recaptcha_configuration.form"}
<form action="{url path="/admin/module/recaptcha/configuration"}" method="post">
{form_hidden_fields form=$form}
{if $form_error}
<div class="alert alert-danger">{$form_error_message}</div>
{/if}
{form_field form=$form field='success_url'}
<input type="hidden" name="{$name}" value="{url path={navigate to="current"}}"/>
{/form_field}
<div class="panel-body">
<div class="row">
<h3 class="col-md-12">{intl l="reCAPTCHA access :" d='recaptcha.bo.default'}</h3>
<div class="col-md-6">
{render_form_field form=$form field="site_key" value={$data}}
</div>
<div class="col-md-6">
{render_form_field form=$form field="secret_key" value={$data}}
</div>
<div class="col-md-12">
{render_form_field form=$form field="captcha_style" value={$data}}
</div>
<div class="col-md-12">
<p>{intl l="These infos are available here : " d='recaptcha.bo.default'}<a href="http://www.google.com/recaptcha/admin">http://www.google.com/recaptcha/admin</a></p>
</div>
<div class="col-md-12">
<input type="submit" class="btn btn-success form-control">
</div>
</div>
</div>
</form>
{/form}
</div>
</div>
{/block}
{block name="javascript-initialization"}
{/block}

View File

@@ -0,0 +1,22 @@
<script src="https://www.google.com/recaptcha/api.js?hl={lang attr="code"}" async defer></script>
<script>
window.onload = function() {
var captchaDiv = document.getElementById("recaptcha-invisible");
if (captchaDiv !== null) {
var form = captchaDiv.parentElement;
form.addEventListener("submit", function(event) {
if (!grecaptcha.getResponse()) {
event.preventDefault(); //prevent form submit
grecaptcha.execute();
}
});
onCompleted = function() {
if (form.reportValidity() !== false) {
form.submit();
}
}
}
}
</script>