From ca6e07fa5a4112a968891e3331a771fea7cebd4d Mon Sep 17 00:00:00 2001
From: Roland Haeder <roland@mxchange.org>
Date: Fri, 17 Apr 2015 20:50:53 +0200
Subject: [PATCH] Added checks for 'command' and 'form' and check if CAPTCHA is
 enabled.
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Signed-off-by: Roland Häder <roland@mxchange.org>
---
 ...ass_GraphicalCodeCaptchaVerifierFilter.php | 23 +++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/inc/classes/main/filter/verifier/class_GraphicalCodeCaptchaVerifierFilter.php b/inc/classes/main/filter/verifier/class_GraphicalCodeCaptchaVerifierFilter.php
index dc6e19b5..5dc0f575 100644
--- a/inc/classes/main/filter/verifier/class_GraphicalCodeCaptchaVerifierFilter.php
+++ b/inc/classes/main/filter/verifier/class_GraphicalCodeCaptchaVerifierFilter.php
@@ -54,6 +54,29 @@ class GraphicalCodeCaptchaVerifierFilter extends BaseFilter implements Filterabl
 	 * @throws	FilterChainException	If this filter fails to operate
 	 */
 	public function execute (Requestable $requestInstance, Responseable $responseInstance) {
+		// Is the form set?
+		if (($requestInstance->getRequestElement('command') !== 'do_form') ||  (!$requestInstance->isRequestElementSet('form'))) {
+			// Required field not set
+			$requestInstance->requestIsValid(FALSE);
+
+			// Add fatal message
+			$responseInstance->addFatalMessage('command_form_invalid');
+
+			// Skip further processing
+			throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED);
+		} // END - if
+
+		// Create config entry
+		$configKey = sprintf('%s_captcha_secured',
+			$requestInstance->getRequestElement('form')
+		);
+
+		// Is the CAPTCHA enabled?
+		if ($this->getConfigInstance()->getConfigEntry($configKey) != 'Y') {
+			// Not enabled, so don't check
+			return;
+		} // END - if
+
 		// Get the captcha code
 		$captchaCode = $requestInstance->getRequestElement('c_code');
 
-- 
2.39.5