RomanL %!s(int64=5) %!d(string=hai) anos
pai
achega
58d0cb3f96

+ 11 - 2
inc/classes/BxDolCaptcha.php

@@ -52,12 +52,20 @@ class BxDolCaptcha extends BxDolFactory implements iBxDolFactoryObject
      * Constructor
      * @param $aObject array of captcha options
      */
-    protected function __construct($aObject)
+    protected function __construct($aObject, $oTemplate)
     {
         parent::__construct();
 
         $this->_sObject = $aObject['object'];
         $this->_aObject = $aObject;
+        
+        $this->_sKeyPublic = getParam('sys_recaptcha_key_public');
+        $this->_sKeyPrivate = getParam('sys_recaptcha_key_private');
+        
+        if ($oTemplate)
+            $this->_oTemplate = $oTemplate;
+        else
+            $this->_oTemplate = BxDolTemplate::getInstance();
     }
 
     /**
@@ -74,6 +82,7 @@ class BxDolCaptcha extends BxDolFactory implements iBxDolFactoryObject
             return $GLOBALS['bxDolClasses']['BxDolCaptcha!'.$sObject];
 
         $aObject = BxDolCaptchaQuery::getCaptchaObject($sObject);
+        
         if (!$aObject || !is_array($aObject))
             return false;
 
@@ -121,7 +130,7 @@ class BxDolCaptcha extends BxDolFactory implements iBxDolFactoryObject
      */
     public function isAvailable ()
     {
-        // override this function in particular class
+        return !empty($this->_sKeyPublic) && !empty($this->_sKeyPrivate);
     }
 }
 

+ 2 - 2
template/scripts/BxBaseCaptchaReCAPTCHAInvisible.php

@@ -11,7 +11,7 @@
  * reCAPTCHA representation.
  * @see BxDolCaptcha
  */
-class BxBaseCaptchaReCAPTCHAInvisible extends BxTemplCaptchaReCAPTCHA
+class BxBaseCaptchaReCAPTCHAInvisible extends BxDolCaptcha
 {
 	protected $sApiUrl;
 	protected $sVerifyUrl;
@@ -19,7 +19,7 @@ class BxBaseCaptchaReCAPTCHAInvisible extends BxTemplCaptchaReCAPTCHA
     public function __construct ($aObject, $oTemplate)
     {
         parent::__construct ($aObject, $oTemplate);
-
+		
         $this->sApiUrl = 'https://www.google.com/recaptcha/api.js';
         $this->sVerifyUrl = 'https://www.google.com/recaptcha/api/siteverify';
     }

+ 2 - 2
template/scripts/BxBaseCaptchaReCAPTCHANew.php

@@ -11,7 +11,7 @@
  * reCAPTCHA representation.
  * @see BxDolCaptcha
  */
-class BxBaseCaptchaReCAPTCHANew extends BxTemplCaptchaReCAPTCHA
+class BxBaseCaptchaReCAPTCHANew extends BxDolCaptcha
 {
 	protected $sApiUrl;
 	protected $sVerifyUrl;
@@ -19,7 +19,7 @@ class BxBaseCaptchaReCAPTCHANew extends BxTemplCaptchaReCAPTCHA
     public function __construct ($aObject, $oTemplate)
     {
         parent::__construct ($aObject, $oTemplate);
-
+		
         $this->_sSkin = 'light';
         $this->sApiUrl = 'https://www.google.com/recaptcha/api.js';
         $this->sVerifyUrl = 'https://www.google.com/recaptcha/api/siteverify';