From 33d745088556f70481171d132afffd79dfeaf62d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sat, 14 Mar 2009 02:15:36 +0000 Subject: [PATCH] Missing template added, birthday verifier filter basicly finished --- .gitattributes | 1 + .../verifier/class_BirthdayVerifierFilter.php | 58 +++++++++++++++++-- .../templates/de/code/header_extras_hook.ctp | 1 + 3 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 application/ship-simu/templates/de/code/header_extras_hook.ctp diff --git a/.gitattributes b/.gitattributes index 57c3ca2..3da290f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -207,6 +207,7 @@ application/ship-simu/templates/de/code/emergency_exit.ctp -text application/ship-simu/templates/de/code/footer.ctp -text application/ship-simu/templates/de/code/footer_msg.ctp -text application/ship-simu/templates/de/code/header.ctp -text +application/ship-simu/templates/de/code/header_extras_hook.ctp -text application/ship-simu/templates/de/code/home.ctp -text application/ship-simu/templates/de/code/login_failed.ctp -text application/ship-simu/templates/de/code/login_form.ctp -text diff --git a/application/ship-simu/main/filter/verifier/class_BirthdayVerifierFilter.php b/application/ship-simu/main/filter/verifier/class_BirthdayVerifierFilter.php index 688f357..edae69c 100644 --- a/application/ship-simu/main/filter/verifier/class_BirthdayVerifierFilter.php +++ b/application/ship-simu/main/filter/verifier/class_BirthdayVerifierFilter.php @@ -51,15 +51,65 @@ class BirthdayVerifierFilter extends BaseShipSimuFilter implements Filterable { * @param $requestInstance An instance of a class with an Requestable interface * @param $responseInstance An instance of a class with an Responseable interface * @return void - * @todo 0% done */ public function execute (Requestable $requestInstance, Responseable $responseInstance) { // Execute the parent execute method parent::execute($requestInstance, $responseInstance); - // Implement this! - $requestInstance->debugInstance(); - $this->partialStub("Please implement this method."); + // Day of birth set? + if (!$requestInstance->isRequestElementSet('birth_day')) { + // Day of birth isn't set + $requestInstance->requestIsValid(false); + + // Add a message to the response + $responseInstance->addFatalMessage('day_of_birth_unset'); + } // END - if + + // Month of birth set? + if (!$requestInstance->isRequestElementSet('birth_month')) { + // Month of birth isn't set + $requestInstance->requestIsValid(false); + + // Add a message to the response + $responseInstance->addFatalMessage('month_of_birth_unset'); + } // END - if + + // Year of birth set? + if (!$requestInstance->isRequestElementSet('birth_year')) { + // Year of birth isn't set + $requestInstance->requestIsValid(false); + + // Add a message to the response + $responseInstance->addFatalMessage('year_of_birth_unset'); + } // END - if + + // Is the request still valid? + if (!$requestInstance->isRequestValid()) { + // Abort here + throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); + } // END - if + + // Now comes the final check + $birthCheck = mktime( + 0, + 0, + 0, + $requestInstance->getRequestElement('birth_day'), + $requestInstance->getRequestElement('birth_month'), + $requestInstance->getRequestElement('birth_year') + ); + + // Is there a number or such? (we don't care about the value itself here) + if (empty($birthCheck)) { + // Validation has failed + $requestInstance->requestIsValid(false); + + // Add a message to the response + $responseInstance->addFatalMessage('birthday_invalid'); + + // Abort here + throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); + } // END - if } } diff --git a/application/ship-simu/templates/de/code/header_extras_hook.ctp b/application/ship-simu/templates/de/code/header_extras_hook.ctp new file mode 100644 index 0000000..4375e22 --- /dev/null +++ b/application/ship-simu/templates/de/code/header_extras_hook.ctp @@ -0,0 +1 @@ + -- 2.39.5