X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=inline;f=framework%2Fmain%2Fclasses%2Fuser%2Fmember%2Fclass_Member.php;h=372da94b7fa12888a20cc820eb24ffe86fe81714;hb=HEAD;hp=f06d1c306d0406d9547fb53bc7707d9a5731ec76;hpb=a60894f1d6ef33613d2d0351075aa07aa257f304;p=core.git diff --git a/framework/main/classes/user/member/class_Member.php b/framework/main/classes/user/member/class_Member.php index f06d1c30..c6a98a11 100644 --- a/framework/main/classes/user/member/class_Member.php +++ b/framework/main/classes/user/member/class_Member.php @@ -3,18 +3,24 @@ namespace Org\Mxchange\CoreFramework\User\Login; // Import framework stuff -use Org\Mxchange\CoreFramework\Database\Frontend\User\UserDatabaseWrapper; -use Org\Mxchange\CoreFramework\Factory\ObjectFactory; +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 * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2023 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.shipsimu.org * @@ -37,7 +43,7 @@ class Member extends BaseUser implements ManageableMember, Registerable { * * @return void */ - protected function __construct () { + private function __construct () { // Call parent constructor parent::__construct(__CLASS__); } @@ -52,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(); @@ -79,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(); @@ -118,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 @@ -130,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 @@ -150,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);