Как создать и настроить свой веб-сервер на VDS (05 сен 2024)
Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?
Как подключить recaptcha 2.0
- Aleksej
- Автор темы
- Не в сети
- Модератор
Less
Больше
8 года 7 мес. назад - 8 года 7 мес. назад #1
от Aleksej
Aleksej создал тему: Как подключить recaptcha 2.0
Топик является продолжением статьи
Как подключить recaptcha 2.0. jTriad contact form
и показывает git show, иллюстрирующий процесс подключения recaptcha 2.0 для модуля jTriad Contact form. Приятного всем чтения!
Code:
Reinit recaptcha all time when error happened instead of ask user about it
diff --git a/assets/js/script.js b/assets/js/script.js
index 4003cc1..ae97480 100644
--- a/assets/js/script.js
+++ b/assets/js/script.js
@@ -16,27 +16,29 @@ jQuery(document).ready(function(){
})
jQuery('#contact-form').submit(function(e){
- if(use_ajax){
- jQuery('#loading').css('visibility','visible');
- jQuery.post(
- window.location
- ,jQuery(this).serialize() + '&ajax=1',
- function(data){
- if(data.Error){
- jQuery('#errorMessage').html(data.Data.strErr);
- jQuery('#errorMessage').slideDown();
- if (data.Data.err[7])
- jQuery.validationEngine.buildPrompt('#recaptcha_response_field', '* Неправильное значение! На
- }
- else{
- jQuery('#contact-form').hide('slow').after('<h1>Спасибо!</h1>');
- }
+ if(use_ajax){
+ jQuery('#loading').css('visibility','visible');
+ jQuery.post(
+ window.location
+ ,jQuery(this).serialize() + '&ajax=1',
+ function(data){
+ if(data.Error){
+ jQuery('#errorMessage').html(data.Data.strErr);
+ jQuery('#errorMessage').slideDown();
- jQuery('#loading').css('visibility','hidden');
+ /* Always reinit recaptcha element to update code and check */
+ jQuery('#dynamic_recaptcha_1').replaceWith(data.recaptchaHTML);
+ window.JoomlaInitReCaptcha2();
}
- ,'json'
- );
- }
- e.preventDefault();
+ else{
+ jQuery('#contact-form').hide('slow').after('<h1>Спасибо!</h1>');
+ }
+
+ jQuery('#loading').css('visibility','hidden');
+ }
+ ,'json'
+ );
+ }
+ e.preventDefault();
})
});
diff --git a/helper.php b/helper.php
index 61ecca4..9aae245 100644
--- a/helper.php
+++ b/helper.php
@@ -9,6 +9,8 @@
defined('_JEXEC') or die;
+JPluginHelper::importPlugin('captcha');
+
/**
* Helper for mod_contactform_masterpro
*
@@ -36,9 +38,7 @@ class ModContactformMasterpro{
if(!self::checkLen($input->getString('message')))
$err[6] = '6) Сообщение должно быть заполнено!';
- JPluginHelper::importPlugin('captcha');
- $dispatcher = JDispatcher::getInstance();
- $res = $dispatcher->trigger('onCheckAnswer', $input->get('recaptcha_response_field'));
+ $res = JDispatcher::getInstance()->trigger('onCheckAnswer', $input->get('recaptcha_response_field'));
if(!(isset($res[0]) and $res[0])){
$err[7] = '7) Не корректный код подтверждения!';
}
@@ -109,13 +109,16 @@ IP: ' . $input->server->get('REMOTE_ADDR') . '<br /><br />
* @param $data Will be put in session var state and returned in json Data field
**/
public static function processAnswer($isAjax, $status, $data){
+ $recaptcha = JDispatcher::getInstance()->trigger('onDisplay', array(null, 'dynamic_recaptcha_1', 'class=""'));
+ $recaptchaHTML = isset($recaptcha[0]) ? $recaptcha[0] : '';
+
if($isAjax){
- exit(json_encode(array('Error' => $status, 'Data' => $data)));
+ exit(json_encode(array('Error' => $status, 'Data' => $data, 'recaptchaHTML' => $recaptchaHTML)));
+ }
+ else if($input->server->getString('HTTP_REFERER')){
+ $session->set('state', $data, SESSION_NAMESPACE);
+ header('Location: ' . $input->server->getString('HTTP_REFERER'));
}
-// else if($input->server->getString('HTTP_REFERER')){
-// $session->set('state', $data, SESSION_NAMESPACE);
-// header('Location: ' . $input->server->getString('HTTP_REFERER'));
-// }
exit();
}
diff --git a/tmpl/default.php b/tmpl/default.php
index 0209eff..d8d37ce 100644
--- a/tmpl/default.php
+++ b/tmpl/default.php
@@ -12,7 +12,7 @@ $session->clear('email', SESSION_NAMESPACE);
$oldData = $session->get('postTwergewrtgert', '', SESSION_NAMESPACE);
?>
-<?=$css?>
+<?=@$css?>
<div id="main-container">
@@ -21,7 +21,7 @@ $oldData = $session->get('postTwergewrtgert', '', SESSION_NAMESPACE);
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="15%"><label for="name">ФИО</label></td>
- <td width="70%"><input type="text" class="validate[required,custom[onlyLetter]]" name="name" id="name" value="<?=htmlentities
+ <td width="70%"><input type="text" class="validate[required,custom[onlyLetter]]" name="name" id="name" value="<?=htmlentities
<td width="15%" id="errOffset"> </td>
</tr>
<tr>
@@ -40,7 +40,7 @@ $oldData = $session->get('postTwergewrtgert', '', SESSION_NAMESPACE);
</tr>
<tr>
<td><label for="phone">Телефон</label></td>
- <td><input type="text" class="validate[required,custom[telephone]]" name="phone" id="phone" value="<?=htmlentities($oldData['
+ <td><input type="text" class="validate[required,custom[telephone]]" name="phone" id="phone" value="<?=htmlentities(@$oldData[
<td> </td>
<tr>
<td><label for="vacancy">Вакансия</label></td>
@@ -58,17 +58,20 @@ $oldData = $session->get('postTwergewrtgert', '', SESSION_NAMESPACE);
</tr>
<tr>
<td valign="top"><label for="message">Опыт работы</label></td>
- <td><textarea name="message" id="message" class="validate[required]" cols="30" rows="7"><?=htmlentities($oldData['message'],
+ <td><textarea name="message" id="message" class="validate[required]" cols="30" rows="7"><?=htmlentities(@$oldData['message'],
<td valign="top"> </td>
</tr>
<tr>
<td valign="top"><label for="message1">Дополнительно</label></td>
- <td><textarea name="message1" id="message1" cols="30" rows="7"><?=htmlentities($oldData['message1'], ENT_QUOTES, "UTF-8")?></
+ <td><textarea name="message1" id="message1" cols="30" rows="7"><?=htmlentities(@$oldData['message1'], ENT_QUOTES, "UTF-8")?><
<td valign="top"> </td>
</tr>
<tr>
- <td colspan="3"><?
- $recaptcha = $dispatcher->trigger('onDisplay', array(null, 'dynamic_recaptcha_1', 'class=""')); echo (isset($recaptcha[0])) ? $recaptcha[0] : ''; ?></td
+ <td colspan="3"><?
+ $recaptcha = $dispatcher->trigger('onDisplay', array(null, 'dynamic_recaptcha_1', 'class=""'));
+ echo (isset($recaptcha[0])) ? $recaptcha[0] : '';
+ ?>
+ </td>
</tr>
<tr>
<td valign="top"> </td>
(END)
Последнее редактирование: 8 года 7 мес. назад пользователем Aleksej.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.