X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=framework%2Fmain%2Fclasses%2Fuser%2Fmember%2Fclass_Member.php;h=295f38ab487fe2d526e30bf490126df9dbee3d62;hb=287198e6942b1a08c760c92d83b52105d10a11cb;hp=64b7cbbf31adec8bb9cd9f07dd4ecb7b3cf9fd32;hpb=78c80d535ab3e108f8c89f2aae9ebe02270e4d63;p=core.git diff --git a/framework/main/classes/user/member/class_Member.php b/framework/main/classes/user/member/class_Member.php index 64b7cbbf..295f38ab 100644 --- a/framework/main/classes/user/member/class_Member.php +++ b/framework/main/classes/user/member/class_Member.php @@ -4,19 +4,23 @@ namespace Org\Mxchange\CoreFramework\User\Login; // Import framework stuff use Org\Mxchange\CoreFramework\Bootstrap\FrameworkBootstrap; -use Org\Mxchange\CoreFramework\Database\Frontend\User\UserDatabaseWrapper; -use Org\Mxchange\CoreFramework\Factory\ObjectFactory; +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 * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2020 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 * @@ -39,7 +43,7 @@ class Member extends BaseUser implements ManageableMember, Registerable { * * @return void */ - protected function __construct () { + private function __construct () { // Call parent constructor parent::__construct(__CLASS__); } @@ -54,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(); @@ -81,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(); @@ -120,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 @@ -133,13 +148,13 @@ class Member extends BaseUser implements ManageableMember, Registerable { // If there is no action use the default on if (is_null($lastAction)) { $lastAction = FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('login_default_action'); - } // END - if + } // 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 @@ -152,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);