1. Заходим на сайт http://recaptcha.net/, регистрируемся, получаем private и public ключи для вашего домена, и скачиваем библиотеку с php-кодом.
Копируем ее себе на сайт, разархивируем. Запоминаем где у вас на сервере лежит файлик 'recaptchalib.php'.
2. Заходим в домашнюю директорию WackoWiki.
Редактируем файл «actions/registration.php»
В самое начало файла, до кода
добавляем, заменяя :
Далее, ищем строки:
Сразу посли них дописываем:
Теперь собственно добавляем саму форму ReCaptcha – ищем строки:
и сразу после них добавляем:
После этого все должно заработать.
Возможные проблемы и методы решения
Глобальные переменные в библиотеке ReCapture
По каким то причинам, после интеграции ReCapture в WackoWiki, ничего не заработало. После изучения кода библиотеки было обнаружено, что в файле recaptchalib.php не видны глобальные переменные. Решение проблемы состоит в том, чтобы
1. заккоментировать эти самые глобальные переменные в коде библиотеки и их использование с помощью оператора globals
2. в каждую функцию, где используются эти переменные просто скопировать их
Браузер Opera и ReCapture
Для браузера Opera иногда бывает важна валидность кода, которую можно проверить на http://w3c.org. Сразу после установки ReCaptcha в WackaWiki код становиться не валидным, и регистрация не проходит. Решение: сделать код валидным, для этого:
1. Открыть файл recaptchalib.php, найти все вставки html-кода, и переписать их под xhtml 1.0, в частности закрыть все одиночные теги (например заменить <br>" на "<br />".
2. Ошибка самой WackoWiki (а точнее некоторых ее форматтеров), которая зачем-то вставляет «вокруг» формы регистрации тег <p>". Решение следующее: открываем «handlers\page\show.php для редактирования, находим строку
и заменяем ее на
Дополнительно: diff файлы.
Для установки с помощью утилиты patch можно использовать следующие diff-файлы
recaptchalib.php
– проблема с глобальными переменными и соответствие html-кода стандарту xhtml 1.0
«handlers/page/show.php»
«actions/registration.php» Не забудте заполнить keys.