]> git.mxchange.org Git - shipsimu.git/blobdiff - application/ship-simu/main/registration/class_ShipSimuRegistration.php
More conventions than code added:
[shipsimu.git] / application / ship-simu / main / registration / class_ShipSimuRegistration.php
index 01235f7e60558402c0fc87fdcdabb3d5f96730b8..a4a0b355425e6ed9b1a792b709139031e4f261d0 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
  * @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()));
        }
 }