/**
  * @see	\wcf\system\captcha\ICaptchaHandler::validate()
  */
 public function validate()
 {
     if (WCF::getSession()->getVar('recaptchaDone')) {
         return;
     }
     if (!RECAPTCHA_PUBLICKEY || !RECAPTCHA_PRIVATEKEY) {
         // V1
         \wcf\system\recaptcha\RecaptchaHandler::getInstance()->validate($this->challenge, $this->response);
     } else {
         // V2
         RecaptchaHandlerV2::getInstance()->validate($this->response);
     }
 }
 /**
  * @see	\wcf\page\IPage::assignVariables()
  */
 public function assignVariables()
 {
     parent::assignVariables();
     if (!RECAPTCHA_PUBLICKEY || !RECAPTCHA_PRIVATEKEY) {
         // V1
         RecaptchaHandler::getInstance()->assignVariables();
     } else {
         // V2
         WCF::getTPL()->assign(array('recaptchaLegacyMode' => true));
     }
     WCF::getTPL()->assign(array('useCaptcha' => $this->useCaptcha));
 }