public function verify()
{
// Get reCAPTCHA value
$captcha = craft()->request->getPost('g-recaptcha-response');
// Get reCAPTCHA secret key
$secretKey = craft()->amForms_settings->getSettingsByHandleAndType('secretKey', AmFormsModel::SettingRecaptcha);
if (!$secretKey) {
return false;
}
// Google API parameters
$params = array('secret' => $secretKey->value, 'response' => $captcha);
// Set request
$client = new \Guzzle\Http\Client();
$request = $client->post('https://www.google.com/recaptcha/api/siteverify');
$request->addPostFields($params);
$result = $client->send($request);
// Handle response
if ($result->getStatusCode() == 200) {
$json = $result->json();
if ($json['success']) {
return true;
}
}
return false;
}