<?php
class recaptchalib{
        /**
         * @var  - klucz publiczny
         */
        private $publicKey;
        /**
         * @var array - wynik weryfikacji
         */
        private $result;
        /**
         * @var  - klucz prywatny
         */
        private $secretKey;
        public function __construct($privateKey=null)
        {
                if (empty($privateKey)) throw new Exception('Klucz google reCaptcha nie może być pusty');
                 $this->secretKey=$privateKey;
        }
        /**
         *  Weryfikuje token odpowiedzi z reCaptcha
         * @param string $response - token zwrotny z google
         * @param string $ip  - adres ip użytkownika
         */
        public function verify($response, $ip)
        {
                $reCaptchaValidationUrl = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$this->secretKey.'.&response='. $response.'&remoteip='.$ip);
                $this->result = json_decode($reCaptchaValidationUrl, TRUE);
                return ($this->result['success'] == 1);
        }
        public function getErrors()
        {
                return $this->result["error-codes"];
        }

}