modCaptcha 1.0.3-beta поставил вчера из репозитория modx, modxSite 1.3.1-beta
Да вызывал напрямую в смарти-шаблоне через {processor}. Да и сниппет вызывает точно так же.
В теме же и сказано вызывайте через процессор или сниппет =)
Я убрал вот этот код из сниппета:
$key = $scriptProperties['captcha_key']; if(empty($scriptProperties['code'])){ $param = "_".strtoupper($method); if(isset($$param)){ $p = $$param; $scriptProperties['code'] = (!empty($p[$key]) ? $p[$key] : ""); } }
И добавил вот такой в процессор.
public function process(){ $key = $this->getProperty('captcha_key'); $method = $this->getProperty('method'); $code = $this->getProperty('code'); if(empty($code)){ $code = $this->modx->request->parameters[$method][$key]; } $session_code = $_SESSION[$key];
В итоге параметр переданный из формы получается через modRequest, если 'code' не передан в процессор через настройки сниппета или процессора.