]> git.mxchange.org Git - shipsimu.git/blobdiff - application/ship-simu/main/registration/class_ShipSimuRegistration.php
readConfig() is not naming convention, renamed to getConfigEntry()
[shipsimu.git] / application / ship-simu / main / registration / class_ShipSimuRegistration.php
index f625eacdd8a1e2f0d791215b21dfb2649149a0c3..31add01b47969e894506115b9ba019fd08da1401 100644 (file)
@@ -1,10 +1,10 @@
 <?php
 /**
- * A user registration specially for Ship-Simu
+ * A user registration class specially for Ship-Simu
  *
  * @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, 2009 Ship-Simu Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.ship-simu.org
  *
@@ -21,7 +21,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-class ShipSimuRegistration extends BaseRegistration {
+class ShipSimuRegistration extends BaseRegistration implements UserRegister {
        /**
         * Hashed password
         */
@@ -54,12 +54,6 @@ class ShipSimuRegistration extends BaseRegistration {
        protected function __construct () {
                // Call parent constructor
                parent::__construct(__CLASS__);
-
-               // Set part description
-               $this->setObjectDescription("Ship-Simu registration class");
-
-               // Create unique ID number
-               $this->generateUniqueId();
        }
 
        /**
@@ -79,14 +73,14 @@ class ShipSimuRegistration extends BaseRegistration {
        }
 
        /**
-        * Encrypt the given request key or throw an exception if the key was not
-        * found in the request
+        * Encrypt given request key or throw an exception if key was not found in
+        * request
         *
         * @param       $requestKey             Key in request class
         * @return      void
         */
        public function encryptPassword ($requestKey) {
-               // Check if the password is found in the request
+               // Check if password is found in request
                if ($this->getRequestInstance()->isRequestElementSet($requestKey)) {
                        // So encrypt the password and store it for later usage in
                        // the request:
@@ -97,7 +91,7 @@ class ShipSimuRegistration extends BaseRegistration {
                        // 2. Get a crypto helper and hash the password
                        $this->hashedPassword = ObjectFactory::createObjectByConfiguredName('crypto_class')->hashString($plainPassword);
 
-                       // 3. Store the hash back in the request
+                       // 3. Store the hash back in request
                        $this->getRequestInstance()->setRequestElement('pass_hash', $this->hashedPassword);
                }
        }
@@ -107,6 +101,7 @@ class ShipSimuRegistration extends BaseRegistration {
         * before registration
         *
         * @return      void
+        * @todo        Maybe add more things to perform
         */
        public function doPreRegistration () {
                // First run all pre filters
@@ -118,6 +113,7 @@ class ShipSimuRegistration extends BaseRegistration {
         * database and paying some start credits or throw exceptions if this fails
         *
         * @return      void
+        * @todo        Maybe add more things to perform
         */
        public function registerNewUser () {
                // Get a user database wrapper
@@ -131,6 +127,7 @@ class ShipSimuRegistration extends BaseRegistration {
         * Perform things like notifying partner websites after registration is done
         *
         * @return      void
+        * @todo        Maybe add more things to perform
         */
        public function doPostRegistration () {
                // First run all post filters
@@ -159,11 +156,17 @@ class ShipSimuRegistration extends BaseRegistration {
         * @return      void
         */
        public function addElementsToDataSet (StoreableCriteria $criteriaInstance) {
-               // Default is user account!
+               // Default is unconfirmed!
                $configEntry = 'user_status_unconfirmed';
 
+               // Is the confirmation process entirely disabled?
+               if ($this->getConfigInstance()->getConfigEntry('confirm_email_enabled') === "N") {
+                       // No confirmation of email needed
+                       $configEntry = 'user_status_confirmed';
+               } // END - if
+
                // Add a lot elements to the dataset criteria
-               foreach ($this->criteriaElements as $alias=>$element) {
+               foreach ($this->criteriaElements as $alias => $element) {
                        // Do we have an alias?
                        if (is_string($alias)) {
                                // Yes, so use it
@@ -174,17 +177,20 @@ class ShipSimuRegistration extends BaseRegistration {
                        }
 
                        // Is this a guest account?
-                       if ((($element == "username") || ($alias == "username")) && ($this->getRequestInstance()->getRequestElement($element) == $this->getConfigInstance()->readConfig('guest_login_user'))) {
+                       if ((($element == "username") || ($alias == "username")) && ($this->getRequestInstance()->getRequestElement($element) == $this->getConfigInstance()->getConfigEntry('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');
+               $criteriaInstance->setUniqueKey(UserDatabaseWrapper::DB_COLUMN_USERNAME);
 
                // Add account status as configured
-               $criteriaInstance->addConfiguredCriteria('user_status', $configEntry);
+               $criteriaInstance->addConfiguredCriteria(UserDatabaseWrapper::DB_COLUMN_USER_STATUS, $configEntry);
+
+               // Include registration timestamp
+               $criteriaInstance->addCriteria("registered", date("Y-m-d H:i:s", time()));
        }
 }