]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/user/member/class_Member.php
Continued:
[core.git] / framework / main / classes / user / member / class_Member.php
index 60827ccae1be1f982d89c6c7ae09009b887cd0b0..295f38ab487fe2d526e30bf490126df9dbee3d62 100644 (file)
@@ -1,17 +1,26 @@
 <?php
 // Own namespace
-namespace CoreFramework\User\Login;
+namespace Org\Mxchange\CoreFramework\User\Login;
 
 // Import framework stuff
-use CoreFramework\Factory\ObjectFactory;
-use CoreFramework\Registry\Registerable;
+use Org\Mxchange\CoreFramework\Bootstrap\FrameworkBootstrap;
+use Org\Mxchange\CoreFramework\Database\Frontend\User\UserDatabaseFrontend;
+use Org\Mxchange\CoreFramework\Factory\Object\ObjectFactory;
+use Org\Mxchange\CoreFramework\Generic\FrameworkInterface;
+use Org\Mxchange\CoreFramework\Manager\Login\ManageableMember;
+use Org\Mxchange\CoreFramework\Registry\Registerable;
+use Org\Mxchange\CoreFramework\User\BaseUser;
+use Org\Mxchange\CoreFramework\User\UsernameMissingException;
+
+// Import SPL stuff
+use \InvalidArgumentException;
 
 /**
  * A generic class for handling users
  *
  * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2022 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.shipsimu.org
  *
@@ -34,7 +43,7 @@ class Member extends BaseUser implements ManageableMember, Registerable {
         *
         * @return      void
         */
-       protected function __construct () {
+       private function __construct () {
                // Call parent constructor
                parent::__construct(__CLASS__);
        }
@@ -49,7 +58,13 @@ class Member extends BaseUser implements ManageableMember, Registerable {
         * @throws      UsernameMissingException        If the username does not exist
         * @throws      UnexpectedGuestAccountException         If the user status is 'guest'
         */
-       public static final function createMemberByUsername ($userName) {
+       public static final function createMemberByUsername (string $userName) {
+               // Check parameter
+               if (empty($userName)) {
+                       // Throw IAE
+                       throw new InvalidArgumentException('Parameter "userName" is empty', FrameworkInterface::EXCEPTION_INVALID_ARGUMENT);
+               }
+
                // Get a new instance
                $userInstance = new Member();
 
@@ -57,10 +72,10 @@ class Member extends BaseUser implements ManageableMember, Registerable {
                $userInstance->setUserName($userName);
 
                // Check if username exists
-               if ($userInstance->ifUsernameExists() === FALSE) {
+               if ($userInstance->ifUsernameExists() === false) {
                        // Throw an exception here
                        throw new UsernameMissingException(array($userInstance, $userName), self::EXCEPTION_USERNAME_NOT_FOUND);
-               } elseif ($userInstance->isGuest() === TRUE) {
+               } elseif ($userInstance->isGuest() === true) {
                        // User should not be a guest here
                        throw new UnexpectedGuestAccountException(array($userInstance, $userName), self::EXCEPTION_USER_IS_GUEST);
                }
@@ -76,7 +91,13 @@ class Member extends BaseUser implements ManageableMember, Registerable {
         * @param       $email                  Email address of the user
         * @return      $userInstance   An instance of this user class
         */
-       public static final function createMemberByEmail ($email) {
+       public static final function createMemberByEmail (string $email) {
+               // Check parameter
+               if (empty($email)) {
+                       // Throw IAE
+                       throw new InvalidArgumentException('Parameter "email" is empty', FrameworkInterface::EXCEPTION_INVALID_ARGUMENT);
+               }
+
                // Get a new instance
                $userInstance = new Member();
 
@@ -115,8 +136,7 @@ class Member extends BaseUser implements ManageableMember, Registerable {
 
        /**
         * Updates the last activity timestamp and last performed action in the
-        * database result. You should call flushPendingUpdates() to flush these updates
-        * to the database layer.
+        * database result.
         *
         * @param       $requestInstance        A requestable class instance
         * @return      void
@@ -127,14 +147,14 @@ class Member extends BaseUser implements ManageableMember, Registerable {
 
                // If there is no action use the default on
                if (is_null($lastAction)) {
-                       $lastAction = $this->getConfigInstance()->getConfigEntry('login_default_action');
-               } // END - if
+                       $lastAction = FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('login_default_action');
+               }
 
                // Get a critieria instance
                $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
 
                // Add search criteria
-               $searchInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_USERNAME, $this->getUserName());
+               $searchInstance->addCriteria(UserDatabaseFrontend::DB_COLUMN_USERNAME, $this->getUserName());
                $searchInstance->setLimit(1);
 
                // Now get another criteria
@@ -147,8 +167,8 @@ class Member extends BaseUser implements ManageableMember, Registerable {
                // Add the search criteria for searching for the right entry
                $updateInstance->setSearchInstance($searchInstance);
 
-               // Set wrapper class name
-               $updateInstance->setWrapperConfigEntry('user_db_wrapper_class');
+               // Set frontend class name
+               $updateInstance->setFrontendConfigEntry('user_db_frontend_class');
 
                // Remember the update in database result
                $this->getResultInstance()->add2UpdateQueue($updateInstance);