Missing template added, birthday verifier filter basicly finished
authorRoland Häder <roland@mxchange.org>
Sat, 14 Mar 2009 02:15:36 +0000 (02:15 +0000)
committerRoland Häder <roland@mxchange.org>
Sat, 14 Mar 2009 02:15:36 +0000 (02:15 +0000)
.gitattributes
application/ship-simu/main/filter/verifier/class_BirthdayVerifierFilter.php
application/ship-simu/templates/de/code/header_extras_hook.ctp [new file with mode: 0644]

index 57c3ca2..3da290f 100644 (file)
@@ -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
index 688f357..edae69c 100644 (file)
@@ -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 (file)
index 0000000..4375e22
--- /dev/null
@@ -0,0 +1 @@
+<!-- Some extra CSS/JS stuff should be added here (by script!) //-->