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];
Вот так делать и не надо. Не надо прописывать в процессоре работу с глобальными массивами запросов, а то как вы будете разграничивать обработку, когда у вас на странице больше одного вызова будет? Надо писать что-то типа {processor… params=$smarty.get}, то есть явно в вызов процессора передавать данные запроса.