Форум русской поддержки Joomla!® CMS
04.12.2016, 01:51:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

[Решено] Как вставить reCaptcha в форму "Задать вопрос" -"Ask question"

 (Прочитано 4095 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Tuzemec
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 220


Ня!


« : 11.04.2013, 01:00:27 »

Спам достал! И в основном достал из формы "Задать вопрос"... Благо есть рабочее решение!
Для начала нам потребуется библиотека от Google recaptchalib.php
На момент написания актуальная версия - 1.11
Далее помещаем файл-библиотеку по адресу "ваш_сайт/plugins/captcha/recaptcha/"
Что такое "Privat key" и "Public key" здесь объяснять не буду. Предполагается что вы знакомы с данными терминами. Если нет, то вам прямая дорога к поиску...
Закачали значит библиотеку и направляемся прямиком в "ваш_сайт/components/com_virtuemart/controllers/"
В файле productdetails.php находим функцию mailAskquestion () и сразу после ее объявления до слов "// Display it all" вставляем:
Код:
//start captcha
require_once(JPATH_BASE.DS.'plugins'.DS.'captcha'.DS.'recaptcha'.DS.'recaptchalib.php');
$privatekey = "ВАШ_ПРИВАТНЫЙ_КЛЮЧ";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
//end captcha
Далее в этой же функции находим условие отвечающее за контроль длины сообщения и т.п.
Начинается оно со слов
Код:
if ($commentSize < $min or $commentSize > $max or !$validMail) {
и меняем данное условие на
Код:
if ($commentSize < $min or $commentSize > $max or !$validMail or !$resp->is_valid) {
Сразу после открытия фигурных скобок и слов
Код:
$errmsg = JText::_ ('COM_VIRTUEMART_COMMENT_NOT_VALID_JS');
добавляем условие проверки валидности введенной CAPTCHA:
         
Код:
//start captcha
if (!$resp->is_valid) {
$errmsg ="Вы не верно ввели код подтверждения. Попробуйте еще раз.<br /> reCAPTCHA вернула: " . $resp->error;
}
//end captcha
if ($commentSize ....
На этом правка productdetails.php закончена. Сохраняем и направляемся в "ваш_сайт/components/com_virtuemart/view/askquestion/form.php"
Если у вас шаблон VM перенесен в папку "ваш_сайт/templates/..." правим аналогичный файл, но уже по вашему пути.
В нем находим начало объявления кнопки <div class="submit"> и сразу после него вставляем:
Код:
<?php
//start captcha
         require_once(JPATH_BASE.DS.'plugins'.DS.'captcha'.DS.'recaptcha'.DS.'recaptchalib.php');
         $publickey = "ВАШ_ПУБЛИЧНЫЙ_КЛЮЧ";
         echo recaptcha_get_html($publickey);
       //end captcha
       ?>
<input class=" ......
Сохраняем. Закрываем. Проверяем. На этом всё.
В приложении находится необходимая библиотека от Google.
Посмотреть работающую капчу можно здесь

[вложение удалено Администратором]
« Последнее редактирование: 11.04.2013, 01:12:03 от Tuzemec » Записан
 
Nibiru
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 159


lepnina.info


« Ответ #1 : 21.09.2013, 18:00:21 »

После установки при заполнении формы вопроса и попытки отправки пишет, что сначала надо пройти авторизацию, хотя она пройдена и выкидывает. Заливаю файлы без модификации и всё в норме. В чём может быть проблема?
Записан
Максим Пишняк
Живу я здесь
******

Репутация: +35/-0
Offline Offline

Пол: Мужской
Сообщений: 848


Подразделение Virtuemart Украина


« Ответ #2 : 21.09.2013, 21:17:26 »

Можно вам предложить намного более полезный вариант CAPTCHA для формы "Задать вопрос"?
Записан
Nibiru
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 159


lepnina.info


« Ответ #3 : 22.09.2013, 03:03:59 »

буду признателен!
Записан
Максим Пишняк
Живу я здесь
******

Репутация: +35/-0
Offline Offline

Пол: Мужской
Сообщений: 848


Подразделение Virtuemart Украина


« Ответ #4 : 22.09.2013, 13:48:30 »

Easy Calc Check Plus - JED.
Записан
Nibiru
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 159


lepnina.info


« Ответ #5 : 22.09.2013, 18:16:04 »

Благодарю! Шикарная вещь!
Записан
Максим Пишняк
Живу я здесь
******

Репутация: +35/-0
Offline Offline

Пол: Мужской
Сообщений: 848


Подразделение Virtuemart Украина


« Ответ #6 : 22.09.2013, 20:55:13 »

Всегда, пожалуйста.
Записан
Инна
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #7 : 21.10.2013, 19:17:51 »

На моем сайте зарегистрировался другой пользователь. Что это значит и что делать?
Записан
Nibiru
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 159


lepnina.info


« Ответ #8 : 17.11.2013, 23:47:32 »

На моем сайте зарегистрировался другой пользователь. Что это значит и что делать?
Всмысле? У всех регистрируются другие пользователи!
Записан
Nibiru
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 159


lepnina.info


« Ответ #9 : 17.11.2013, 23:51:46 »

Всегда, пожалуйста.
Максим, подскажите как вставить при помощи Easy Calc или другого метода капчу в vendor-contact . Спасибо.
Записан
serjik
Давно я тут
****

Репутация: +1/-1
Offline Offline

Сообщений: 338


« Ответ #10 : 31.05.2016, 23:08:25 »

после описанных модификаций с файлами никакой  CAPTCHA не появилось.
Записан
Tuzemec
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 220


Ня!


« Ответ #11 : 04.09.2016, 20:45:59 »

Так с момента написания темы прошло 3 года. За это время Google изменил версию CAPTCHA. Старая, на сколько известно мне, более не поддерживается.
Да и если положа руку на сердце, то сам к примеру, отказался от VM в пользу JoomShopping. Очень понравились фичи с плагинами, аддонами прочими дополнениями.
Очень удобная возможность, без дополнений, через импорт\экспорт с CSV обновлять цены  т.п.
« Последнее редактирование: 04.09.2016, 20:50:00 от Tuzemec » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet