0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 6994 Просмотров
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Спам достал! И в основном достал из формы "Задать вопрос"... Благо есть рабочее решение!
Для начала нам потребуется библиотека от 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

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

Максим Пишняк

  • Давно я тут
  • 835
  • 35 / 0
Можно вам предложить намного более полезный вариант CAPTCHA для формы "Задать вопрос"?
*

Nibiru

  • Захожу иногда
  • 157
  • 0 / 0
  • lepnina.info
буду признателен!
*

Максим Пишняк

  • Давно я тут
  • 835
  • 35 / 0
Easy Calc Check Plus - JED.
*

Nibiru

  • Захожу иногда
  • 157
  • 0 / 0
  • lepnina.info
Благодарю! Шикарная вещь!
*

Максим Пишняк

  • Давно я тут
  • 835
  • 35 / 0
Всегда, пожалуйста.
*

Инна

  • Новичок
  • 1
  • 0 / 0
На моем сайте зарегистрировался другой пользователь. Что это значит и что делать?
*

Nibiru

  • Захожу иногда
  • 157
  • 0 / 0
  • lepnina.info
На моем сайте зарегистрировался другой пользователь. Что это значит и что делать?
Всмысле? У всех регистрируются другие пользователи!
*

Nibiru

  • Захожу иногда
  • 157
  • 0 / 0
  • lepnina.info
Всегда, пожалуйста.
Максим, подскажите как вставить при помощи Easy Calc или другого метода капчу в vendor-contact . Спасибо.
*

serjik

  • Захожу иногда
  • 344
  • 1 / 1
после описанных модификаций с файлами никакой  CAPTCHA не появилось.
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Так с момента написания темы прошло 3 года. За это время Google изменил версию CAPTCHA. Старая, на сколько известно мне, более не поддерживается.
Да и если положа руку на сердце, то сам к примеру, отказался от VM в пользу JoomShopping. Очень понравились фичи с плагинами, аддонами прочими дополнениями.
Очень удобная возможность, без дополнений, через импорт\экспорт с CSV обновлять цены  т.п.
« Последнее редактирование: 04.09.2016, 19:50:00 от Tuzemec »
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Список товаров на главной VirtueMart

Автор vitoxa_ya

Ответов: 6
Просмотров: 7388
Последний ответ 21.10.2020, 23:27:08
от alfa212
Вопрос по скриптам VirtueMart

Автор Viclingvolive

Ответов: 0
Просмотров: 233
Последний ответ 03.11.2019, 22:08:25
от Viclingvolive
Добавить php форму товары из категории

Автор warlocksp

Ответов: 0
Просмотров: 315
Последний ответ 04.03.2019, 09:23:27
от warlocksp
[Решено] VM2 Метод доставки "по умолчанию"

Автор d0ublezer0

Ответов: 17
Просмотров: 12366
Последний ответ 15.11.2017, 20:14:22
от nden
Решено: При расчете стоимости товара учитывать только самую большую скидку

Автор sergemak

Ответов: 1
Просмотров: 537
Последний ответ 08.11.2017, 11:46:11
от sergemak