среда, 25 февраля 2015 г.

Модификация капчи

В битриксе описание работы с капчей довольно краткое. Есть метод получения капчи, есть метод проверки, есть несколько методов по установке различных параметров капчи. Но если залезть в код класса капчи, то можно обнаружить, что большинство параметров можно указать с помощью соответствующих настроек модуля main. Причем в открытом доступе (на странице настроек главного модуля) я эти настройки не нашел. В этот раз меня интересовали две из них:

1. CAPTCHA_letters - настройка опредеделяет алфавит символов, которые будут использованы при генерации проверочного кода. Таким образом, можно например сделать вашу капчу на кириллице:
COption::SetOptionString('main', 'CAPTCHA_letters', 'АБВГДЕЖЗИК');
Естественно, шрифт должен быть с поддержкой кириллицы, шрифт битрикса по умолчанию, по-моему, ее не имеет.

2. CAPTCHA_arTTFFiles - настройка определяет шрифты, с помощью которых будет сгенерена картинка капчи. Шрифты ищутся в папке /bitrix/modules/main/fonts/:
COption::SetOptionString('main', 'CAPTCHA_arTTFFiles', 'my_custom_font.ttf');

Ну и чтобы не засорять модуль своими шрифтами можно сделать так:
COption::SetOptionString('main', 'CAPTCHA_arTTFFiles', '../../../templates/my_tpl/fonts/my_custom_font.ttf');
и разместить файл шрифта в шаблоне my_tpl вашего сайта.