Никогда не включал эту опцию, но сейчас попробовал.. действительно не работает.
А проблемка вот в чем: файлик, который генерирует код, находится здесь
manager/includes/veriword.php, в нем не работает (как выяснилось) подключение к БД в этом месте (начиная с 72 строки):
function pick_word() {
// set default words
$words="MODx,Access,Better,BitCode,Chunk,Cache,Desc,Design,Excell,Enjoy,URLs,TechView,Gerald,Griff,Humphrey,Holiday,Intel,Integration,Joystick,Join(),Oscope,Genetic,Light,Likeness,Marit,Maaike,Niche,Netherlands,Ordinance,Oscillo,Parser,Phusion,Query,Question,Regalia,Righteous,Snippet,Sentinel,Template,Thespian,Unity,Enterprise,Verily,Veri,Website,WideWeb,Yap,Yellow,Zebra,Zygote";
// connect to the database
if(@$dbConn = mysql_connect($database_server, $database_user, $database_password)) {
mysql_select_db($dbase);
$sql = "SELECT * FROM $dbase.".$table_prefix."system_settings WHERE setting_name='captcha_words'";
$rs = mysql_query($sql);
$limit = mysql_num_rows($rs);
if($limit==1) {
$row = mysql_fetch_assoc($rs);
$words = $row['setting_value'];
}
}
как видно из кода, здесь и хранятся все слова (переменная $words). Эта переменная перезаписывается, если есть подключение к БД.
Решение таково (грубо, но работает):
а) просто перезаписать слова $words в переменной на свои;
б) вот тут я честно говоря просто не знаю, как подключить внешнюю глобальную переменную $modx и затем из нее получить конфиг для подключения к БД. Пробывал прописать как global $modx; А дальше - не знаю
Ну т.е. не знаю, какими функциями оперирывать далее.
Короче сделал проще (грубее) - просто подключил файл
config.inc.php заново уже в самой функции pick_word():
function pick_word() {
// set default words
$words="MODx,Access,Better,BitCode,Chunk,Cache,Desc,Design,Excell,Enjoy,URLs,TechView,Gerald,Griff,Humphrey,Holiday,Intel,Integration,Joystick,Join(),Oscope,Genetic,Light,Likeness,Marit,Maaike,Niche,Netherlands,Ordinance,Oscillo,Parser,Phusion,Query,Question,Regalia,Righteous,Snippet,Sentinel,Template,Thespian,Unity,Enterprise,Verily,Veri,Website,WideWeb,Yap,Yellow,Zebra,Zygote";
include("config.inc.php");
// connect to the database
if(@$dbConn = mysql_connect($database_server, $database_user, $database_password)) {
mysql_select_db($dbase);
$sql = "SELECT * FROM $dbase.".$table_prefix."system_settings WHERE setting_name='captcha_words'";
$rs = mysql_query($sql);
$limit = mysql_num_rows($rs);
if($limit==1) {
$row = mysql_fetch_assoc($rs);
$words = $row['setting_value'];
}
}
и все заработало как надо.