diff options
Diffstat (limited to 'framework/Web/UI/WebControls')
-rw-r--r-- | framework/Web/UI/WebControls/TCaptcha.php | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/framework/Web/UI/WebControls/TCaptcha.php b/framework/Web/UI/WebControls/TCaptcha.php index 55cbc940..65168a1d 100644 --- a/framework/Web/UI/WebControls/TCaptcha.php +++ b/framework/Web/UI/WebControls/TCaptcha.php @@ -65,15 +65,6 @@ class TCaptcha extends TImage private $_validated=false;
/**
- * Checks the requirements needed for using TCaptcha.
- */
- public function onInit($param)
- {
- parent::onInit($param);
- $this->checkRequirements();
- }
-
- /**
* @return integer the theme of the token image. Defaults to 0.
*/
public function getTokenImageTheme()
@@ -368,6 +359,8 @@ class TCaptcha extends TImage public function onPreRender($param)
{
parent::onPreRender($param);
+ if(!self::checkRequirements())
+ throw new TConfigurationException('captcha_imagettftext_required');
if(!$this->getViewState('TokenGenerated',0))
{
$manager=$this->getApplication()->getAssetManager();
@@ -487,15 +480,12 @@ class TCaptcha extends TImage /**
* Checks the requirements needed for generating CAPTCHA images.
+ * TCaptach requires GD2 with TrueType font support and PNG image support.
+ * @return boolean whether the requirements are satisfied.
*/
- protected function checkRequirements()
+ public static function checkRequirements()
{
- if(!extension_loaded('gd'))
- throw new TConfigurationException('captcha_gd2_required');
- if(!function_exists('imagettftext'))
- throw new TConfigurationException('captcha_imagettftext_required');
- if(!function_exists('imagepng'))
- throw new TConfigurationException('captcha_imagepng_required');
+ return extension_loaded('gd') && function_exists('imagettftext') && function_exists('imagepng');
}
}
|