30 lines
		
	
	
		
			773 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			773 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Core\API\Traits;
 | |
| 
 | |
| use Core\API\Parameter\StringType;
 | |
| use Core\API\VerifyCaptcha;
 | |
| use Core\Objects\Context;
 | |
| 
 | |
| trait Captcha {
 | |
| 
 | |
|   function addCaptchaParameters(Context $context, array &$parameters): void {
 | |
|     $settings = $context->getSettings();
 | |
|     if ($settings->isCaptchaEnabled()) {
 | |
|       $parameters["captcha"] = new StringType("captcha");
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   function checkCaptcha(string $action): bool {
 | |
|     $settings = $this->context->getSettings();
 | |
|     if ($settings->isCaptchaEnabled()) {
 | |
|       $captcha = $this->getParam("captcha");
 | |
|       $req = new VerifyCaptcha($this->context);
 | |
|       if (!$req->execute(array("captcha" => $captcha, "action" => $action))) {
 | |
|         return $this->createError($req->getLastError());
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     return true;
 | |
|   }
 | |
| } |