Continued:
authorRoland Haeder <roland@mxchange.org>
Wed, 22 Feb 2017 21:37:29 +0000 (22:37 +0100)
committerRoland Haeder <roland@mxchange.org>
Tue, 28 Feb 2017 21:10:04 +0000 (22:10 +0100)
- "imported" Registry class
- rewrote exception handler to also handle anything else that implements
  Throwable
- please note that application/<foo>/exceptions.php may become generalized
  and  will no longer be loaded as the same functionality is provided by this
  framework then.

Signed-off-by: Roland H├Ąder <roland@mxchange.org>
43 files changed:
application/tests/class_ApplicationHelper.php
application/tests/exceptions.php
inc/main/classes/application/class_BaseApplication.php
inc/main/classes/class_BaseFrameworkSystem.php
inc/main/classes/commands/html/class_HtmlConfirmCommand.php
inc/main/classes/commands/html/class_HtmlLoginAreaCommand.php
inc/main/classes/commands/html/class_HtmlLoginCommand.php
inc/main/classes/commands/html/class_HtmlRegisterCommand.php
inc/main/classes/commands/html/class_HtmlResendLinkCommand.php
inc/main/classes/controller/class_BaseController.php
inc/main/classes/factories/client/class_ClientFactory.php
inc/main/classes/factories/database/class_DatabaseWrapperFactory.php
inc/main/classes/factories/index/class_FileStackIndexFactory.php
inc/main/classes/factories/login/class_LoginFactory.php
inc/main/classes/factories/registry/class_SocketRegistryFactory.php
inc/main/classes/factories/stacks/class_FileStackFactory.php
inc/main/classes/factories/user/class_UserFactory.php
inc/main/classes/factories/xml/class_XmlTemplateEngineFactory.php
inc/main/classes/filter/auth/class_UserAuthFilter.php
inc/main/classes/filter/change/class_EmailChangeFilter.php
inc/main/classes/filter/change/class_PasswordChangeFilter.php
inc/main/classes/filter/news/class_NewsDownloadFilter.php
inc/main/classes/filter/payment/class_PaymentDiscoveryFilter.php
inc/main/classes/filter/update/class_UserStatusConfimedUpdateFilter.php
inc/main/classes/filter/update/class_UserUpdateFilter.php
inc/main/classes/filter/validator/class_EmailValidatorFilter.php
inc/main/classes/filter/validator/class_UserNameValidatorFilter.php
inc/main/classes/filter/verifier/class_AccountPasswordVerifierFilter.php
inc/main/classes/filter/verifier/class_ConfirmCodeVerifierFilter.php
inc/main/classes/filter/verifier/class_UserGuestVerifierFilter.php
inc/main/classes/filter/verifier/class_UserNameVerifierFilter.php
inc/main/classes/filter/verifier/class_UserStatusVerifierFilter.php
inc/main/classes/filter/verifier/class_UserUnconfirmedVerifierFilter.php
inc/main/classes/helper/class_BaseHelper.php
inc/main/classes/helper/html/forms/class_HtmlFormHelper.php
inc/main/classes/helper/html/links/class_HtmlLinkHelper.php
inc/main/classes/language/class_LanguageSystem.php
inc/main/classes/response/class_BaseResponse.php
inc/main/classes/template/console/class_ConsoleTemplateEngine.php
inc/main/classes/template/html/class_HtmlTemplateEngine.php
inc/main/classes/template/image/class_ImageTemplateEngine.php
inc/main/classes/template/mail/class_MailTemplateEngine.php
inc/main/classes/template/menu/class_MenuTemplateEngine.php

index 59a7182..3d5e2c9 100644 (file)
@@ -6,6 +6,7 @@ namespace CoreFramework\Helper\Application;
 use CoreFramework\Manager\ManageableApplication;
 use CoreFramework\Object\BaseFrameworkSystem;
 use CoreFramework\Registry\Registerable;
+use CoreFramework\Registry\Generic\Registry;
 use CoreFramework\Template\CompileableTemplate;
 
 /**
index ea239eb..e8e4bf3 100644 (file)
@@ -27,7 +27,7 @@ use CoreFramework\Object\BaseFrameworkSystem;
 // The node's own exception handler
 function tests_exception_handler ($exceptionInstance) {
        // Is it an object and a valid instance?
-       if ((is_object($exceptionInstance)) && ($exceptionInstance instanceof FrameworkException)) {
+       if ((is_object($exceptionInstance)) && ($exceptionInstance instanceof Throwable)) {
                // Init variable
                $backTrace = '';
 
@@ -76,9 +76,9 @@ Backtrace:
 --------------------------------------------------------------------------------
 %s
 --------------------------------------------------------------------------------\n",
-                       trim(html_entity_decode(strip_tags($exceptionInstance->__toString()))),
+                       trim(html_entity_decode(strip_tags(get_class($exceptionInstance)))),
                        trim(html_entity_decode(strip_tags($exceptionInstance->getMessage()))),
-                       $exceptionInstance->getHexCode(),
+                       ($exceptionInstance instanceof FrameworkException ? $exceptionInstance->getHexCode() : '0x' . bin2hex($exceptionInstance->getCode())),
                        $exceptionInstance->getFile(),
                        $exceptionInstance->getLine(),
                        trim($backTrace)
@@ -86,11 +86,16 @@ Backtrace:
 
                // Output the message
                print($message);
+       } elseif (is_object($exceptionInstance)) {
+               // Output more details
+               printf('exceptionInstance=%s' . PHP_EOL, get_class($exceptionInstance));
        } else {
-               // Invalid exception instance detected! Do *only* throw exceptions that
-               // extends our own exception 'FrameworkException' to get such nice
-               // outputs like above.
-               print('exceptionInstance[]=' . gettype($exceptionInstance) . ' is invalid! Please inform the core developer team.' . PHP_EOL);
+               /*
+                * Invalid exception instance detected! Do *only* throw exceptions that
+                * extends our own exception 'FrameworkException' to get such nice
+                * outputs like above.
+                */
+               printf('exceptionInstance[]=%s is invalid! Please inform the core developer team.' . PHP_EOL, gettype($exceptionInstance));
        }
 }
 
index c1d94d6..4f97719 100644 (file)
@@ -4,6 +4,7 @@ namespace CoreFramework\Application;
 
 // Import framework stuff
 use CoreFramework\Object\BaseFrameworkSystem;
+use CoreFramework\Registry\Generic\Registry;
 
 /**
  * A general application class for the ApplicationHelper classes.
index 0380902..581d72d 100644 (file)
@@ -8,6 +8,7 @@ use CoreFramework\Generic\FrameworkInterface;
 use CoreFramework\Loader\ClassLoader;
 use CoreFramework\Manager\ManageableApplication;
 use CoreFramework\Registry\Register;
+use CoreFramework\Registry\Generic\Registry;
 use CoreFramework\Template\CompileableTemplate;
 
 // Import SPL stuff
index 7534e18..1faae1b 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Command\Guest;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A command for the confirmation link handling
  *
index f0d8c36..7c8bf3d 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Command\Login;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A command for the login area (member/gamer area)
  *
index 8e5d152..ccfafad 100644 (file)
@@ -4,6 +4,7 @@ namespace CoreFramework\Command\Login;
 
 // Import framework stuff
 use CoreFramework\Registry\Registerable;
+use CoreFramework\Registry\Generic\Registry;
 
 /**
  * A command for the login form
index cf86494..36a3c89 100644 (file)
@@ -4,6 +4,7 @@ namespace CoreFramework\Command\Register;
 
 // Import framework stuff
 use CoreFramework\Registry\Registerable;
+use CoreFramework\Registry\Generic\Registry;
 
 /**
  * A command class for the registration form
index 823996d..fe64911 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Command\Guest;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A command class for resending the confirmation link
  *
index 080a5a5..35d6b47 100644 (file)
@@ -4,6 +4,7 @@ namespace CoreFramework\Controller;
 
 // Import framework stuff
 use CoreFramework\Object\BaseFrameworkSystem;
+use CoreFramework\Registry\Generic\Registry;
 
 /**
  * A generic controller class. You should extend this base class if you want to
index 14b7542..8194647 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Factory\Client;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * An object factory for clients
  *
index a5a8a02..6ff4357 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Factory\Database\Wrapper;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A factory class for socket registries
  *
index b2a09bb..03faf78 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Factory\Filesystem\Stack;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A factory class for file-based stack indexes
  *
index f5e4372..f9b40da 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Factory\Login;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A factory class for socket registries
  *
index f1ebfcd..5ba31d0 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Factory\Registry;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A factory class for socket registries
  *
index 77ea415..ca871fc 100644 (file)
@@ -4,6 +4,8 @@ namespace CoreFramework\Factory\Stack;
 
 // Import framework stuff
 use CoreFramework\Configuration\FrameworkConfiguration;
+use CoreFramework\Registry\Generic\Registry;
+
 
 /**
  * A factory class for file-based stacks
index ac7a3a0..1506386 100644 (file)
@@ -4,6 +4,7 @@ namespace CoreFramework\Factory\User;
 
 // Import framework stuff
 use CoreFramework\Configuration\FrameworkConfiguration;
+use CoreFramework\Registry\Generic\Registry;
 
 /**
  * A factory class for socket registries
index fd83f51..fdee7be 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Factory\Template;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A factory class for XML template engines. All instances generated by this
  * factory does have language support disabled and XML-compacting enabled (to
index ff06721..b11beb1 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\User\Auth;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A filter for checking user permissions
  *
index fe2b1e6..f99581c 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Change\Email;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A filter for detecting email changes
  *
index 4c4de12..900eaf4 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Change\Email;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A filter for password change detection
  *
index c1da219..b0a5bf5 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\News;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A pre-filter for downloading news from a source. This can be a XML feed or
  * the local database. You *can* register this filter as post filter but for
index 85edcc8..70b03b9 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Discovery\Payment;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A filter for payment discovery. This class discovers the payment type and
  * returns an object holding all available payment system for the requested
index bfa4486..990ed31 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\User\Status;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A filter for updating the user account status to confirmed
  *
index c64ed02..0be46b6 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\User;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A filter for updating the user account like last activity, last action
  * performed and so on.
index 78b78d7..66cea19 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Validator\Email;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A concrete filter for validating the email address. This filter may intercept
  * the filter chain if no email address is given or if supplied email has an
index dfbb5f7..2afbfc6 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Validator\Username;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A concrete filter for validating the username. This filter may intercept the
  * filter chain if no username is given or if supplied username has an invalid
index b27af9e..f2459a7 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Verifier\Password;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A concrete filter for validating the password. This filter may intercept
  * the filter chain if no password is given or the password is invalid
index 55f7b54..1776043 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Verifier\Confirmation;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A filter for checking if supplied confirmation code is valid.
  *
index 703d5ec..5fba45f 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Verifier\User;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A concrete filter for verfying the guest username. This filter may intercept the
  * filter chain if no username is given or if supplied username has an invalid
index ba1b20b..7d748c6 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Verifier\User;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A concrete filter for verfying the username. This filter may intercept the
  * filter chain if no username is given or if supplied username has an invalid
index b6ef58d..4a10efc 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Verifier\User;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A filter for checking if user status is GUEST or CONFIRMED.
  *
index f71e0aa..3c4db3c 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Filter\Verifier\User;
 
+// Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
+
 /**
  * A filter for checking if user status is UNCONFIRMED.
  *
index af3222b..b950750 100644 (file)
@@ -5,6 +5,7 @@ namespace CoreFramework\Helper;
 // Import framework stuff
 use CoreFramework\Generic\FrameworkInterface;
 use CoreFramework\Object\BaseFrameworkSystem;
+use CoreFramework\Registry\Generic\Registry;
 
 /**
  * A generic helper class with generic methods
index accf97d..7b6fc3a 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Helper;
 
 // Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
 use CoreFramework\Template\CompileableTemplate;
 
 /**
index 5ffe294..2f0e6ba 100644 (file)
@@ -4,6 +4,7 @@ namespace CoreFramework\Helper;
 
 // Import framework stuff
 use CoreFramework\Configuration\FrameworkConfiguration;
+use CoreFramework\Registry\Generic\Registry;
 use CoreFramework\Template\CompileableTemplate;
 
 /**
index 7d2ac75..ed93bb0 100644 (file)
@@ -6,6 +6,7 @@ namespace CoreFramework\Localization;
 use CoreFramework\Configuration\FrameworkConfiguration;
 use CoreFramework\Object\BaseFrameworkSystem;
 use CoreFramework\Registry\Registerable;
+use CoreFramework\Registry\Generic\Registry;
 
 /**
  * The language sub-system for handling language strings being used in the
index 05fde73..6e1e5cf 100644 (file)
@@ -4,6 +4,7 @@ namespace CoreFramework\Response;
 
 // Import framework stuff
 use CoreFramework\Object\BaseFrameworkSystem;
+use CoreFramework\Registry\Generic\Registry;
 
 /**
  * A generic request class
index 2ac4006..be70a16 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Template\Engine;
 
 // Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
 use CoreFramework\Template\CompileableTemplate;
 
 /**
index 0165333..9d7e505 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Template\Engine;
 
 // Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
 use CoreFramework\Template\CompileableTemplate;
 
 /**
index ade54d1..ce192ab 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Template\Engine;
 
 // Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
 use CoreFramework\Template\CompileableTemplate;
 
 /**
index adfeffb..51f6649 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Template\Engine;
 
 // Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
 use CoreFramework\Template\CompileableTemplate;
 
 /**
index 69d112d..5fde22c 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Template\Engine;
 
 // Import framework stuff
+use CoreFramework\Registry\Generic\Registry;
 use CoreFramework\Template\CompileableTemplate;
 
 /**