Forums / National / Russian / Тех. поддержка / Перенос capcha manager, установка двух captch

опять присутствуют некоторые конфликты каптч

Macik
#1 2012-04-24 10:40

(Частично это было затронуто в теме mathcaptcha & recaptcha. )

Вот на что опять наткнулся (после обновления до 099). У меня установлены 2 captch'и - стандартная mathcaptcha и reCaptcha (но это не принципиально - баг системный).

Проблема вот в чем: у каждого из плагинов есть часть повешенная на хук users.register.tags. Причем, т.к. плагины равноценны, мы не можем быть уверены в какой последовательности они сработают, а сработают они оба. И получается (для примера), что конструкция из mathcaptcha:

$t->assign(array(
	'USERS_REGISTER_VERIFYIMG' => cot_captcha_generate(),
	'USERS_REGISTER_VERIFYINPUT' => cot_inputbox('text', 'rverify', '', 'size="10" maxlength="20"'),
));

переопределяет шаблонные теги (определенные ранее), даже если у меня в настройках выбран другой плагин (в данном случае рекапча).

Как решение обязать в каждом каптча плагине в местах определения шаблонных тегов обязательно делать проверку на то, какой каптча плагин выбран в настройках - т.е. (пример для matcaptcha)

if ($cfg['captchamain']=='mcaptcha')
$t->assign(array(
	'USERS_REGISTER_VERIFYIMG' => cot_captcha_generate(),
	'USERS_REGISTER_VERIFYINPUT' => cot_inputbox('text', 'rverify', '', 'size="10" maxlength="20"'),
));

или еще лучше в начале файла весь код заключить в глобальное условие.

создал тикет: №925

 

 

 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
This post was edited by Macik (2012-04-24 10:49, 12 years ago)