X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=blobdiff_plain;f=application%2Fship-simu%2Fmain%2Fregistration%2Fclass_ShipSimuRegistration.php;h=a4a0b355425e6ed9b1a792b709139031e4f261d0;hp=01235f7e60558402c0fc87fdcdabb3d5f96730b8;hb=d527a312ec4b2983fc0ecda2179ce335c1a5a1f9;hpb=b44e5e7347f9a1dbd49b5b47d506a4f6526caf2f diff --git a/application/ship-simu/main/registration/class_ShipSimuRegistration.php b/application/ship-simu/main/registration/class_ShipSimuRegistration.php index 01235f7..a4a0b35 100644 --- a/application/ship-simu/main/registration/class_ShipSimuRegistration.php +++ b/application/ship-simu/main/registration/class_ShipSimuRegistration.php @@ -4,7 +4,7 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software + * @copyright Copyright (c) 2007, 2008 Roland Haeder, this is free software * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @@ -90,10 +90,13 @@ class ShipSimuRegistration extends BaseRegistration { if ($this->getRequestInstance()->isRequestElementSet($requestKey)) { // So encrypt the password and store it for later usage in // the request: + // 1.: Get the plain password $plainPassword = $this->getRequestInstance()->getRequestElement($requestKey); + // 2. Get a crypto helper and hash the password - $this->hashedPassword = ObjectFactory::createObjectByConfiguredName('crypto_heler')->hashPassword($plainPassword); + $this->hashedPassword = ObjectFactory::createObjectByConfiguredName('crypto_class')->hashString($plainPassword); + // 3. Store the hash back in the request $this->getRequestInstance()->setRequestElement('pass_hash', $this->hashedPassword); } @@ -118,7 +121,7 @@ class ShipSimuRegistration extends BaseRegistration { */ public function registerNewUser () { // Get a user database wrapper - $wrapperInstance = ObjectFactory::createObjectByConfiguredName('user_db_wrapper'); + $wrapperInstance = ObjectFactory::createObjectByConfiguredName('user_db_wrapper_class'); // Use this instance to insert the whole registration instance $wrapperInstance->insertRegistrationObject($this); @@ -142,7 +145,11 @@ class ShipSimuRegistration extends BaseRegistration { * @return void */ public function doPostAction () { - $this->partialStub(); + // Get an action instance from our factory + $actionInstance = ObjectFactory::createObjectByConfiguredName('post_registration_class'); + + // Execute the action + $actionInstance->execute($this->getRequestInstance(), $this->getResponseInstance()); } /** @@ -152,6 +159,9 @@ class ShipSimuRegistration extends BaseRegistration { * @return void */ public function addElementsToDataSet (StoreableCriteria $criteriaInstance) { + // Default is user account! + $configEntry = 'user_status_unconfirmed'; + // Add a lot elements to the dataset criteria foreach ($this->criteriaElements as $alias=>$element) { // Do we have an alias? @@ -162,13 +172,22 @@ class ShipSimuRegistration extends BaseRegistration { // No, default entry $criteriaInstance->addCriteria($element, $this->getRequestInstance()->getRequestElement($element)); } + + // Is this a guest account? + if ((($element == "username") || ($alias == "username")) && ($this->getRequestInstance()->getRequestElement($element) == $this->getConfigInstance()->readConfig('guest_login_user'))) { + // Yes, then set the config entry to guest status + $configEntry = 'user_status_guest'; + } // END - if } // END - foreach // Mark the username as unique key $criteriaInstance->setUniqueKey('username'); // Add account status as configured - $criteriaInstance->addConfiguredCriteria('user_status', 'user_status_register'); + $criteriaInstance->addConfiguredCriteria('user_status', $configEntry); + + // Include registration timestamp + $criteriaInstance->addCriteria('registered', date("Y-m-d H:i:s", time())); } }