1<?php 2 3use dokuwiki\Extension\Plugin; 4use dokuwiki\Logger; 5 6class helper_plugin_validator extends Plugin 7{ 8 public function getMethods() 9 { 10 $result = []; 11 $result[] = [ 12 'name' => 'getTurnstile', 13 'desc' => 'returns the curl handle for turnstile verification', 14 'params' => [ 15 'url' => 'string', 16 'data' => 'array' 17 ], 18 'return' => ['curl' => 'CurlHandle'], 19 ]; 20 $result[] = [ 21 'name' => 'getCaptcha', 22 'desc' => 'returns the curl handle for captcha verification', 23 'params' => [ 24 'url' => 'string', 25 'data' => 'array' 26 ], 27 'return' => ['curl' => 'CurlHandle'], 28 ]; 29 30 return $result; 31 } 32 33 public function getTurnstile($url, $data): CurlHandle 34 { 35 $curl = curl_init(); 36 37 curl_setopt_array($curl, [ 38 CURLOPT_URL => $url, 39 CURLOPT_RETURNTRANSFER => true, 40 CURLOPT_POST => true, 41 CURLOPT_POSTFIELDS => $data, 42 CURLOPT_CONNECTTIMEOUT => 5, 43 CURLOPT_TIMEOUT => 10, 44 CURLOPT_SSL_VERIFYPEER => true, 45 ]); 46 47 return $curl; 48 } 49 50 public function getCaptcha($url, $data): CurlHandle 51 { 52 $curl = curl_init(); 53 54 curl_setopt_array($curl, [ 55 CURLOPT_URL => $url, 56 CURLOPT_POST => true, 57 CURLOPT_POSTFIELDS => http_build_query($data), 58 CURLOPT_RETURNTRANSFER => true, 59 CURLOPT_SSL_VERIFYPEER => true, 60 CURLOPT_TIMEOUT => 5, 61 CURLOPT_CONNECTTIMEOUT => 10, 62 ]); 63 64 return $curl; 65 } 66}