]> git.mxchange.org Git - shipsimu.git/blobdiff - inc/classes/main/database/wrapper/class_UserDatabaseWrapper.php
Image generator added, first CAPTCHA added with missing controller (partly work)
[shipsimu.git] / inc / classes / main / database / wrapper / class_UserDatabaseWrapper.php
index 9dcb47da0b5c9a678d6d25dfd2b2f872aceb4d6b..f1caa49379c4c604261fbd39ab84486b1ab3b2cb 100644 (file)
@@ -7,7 +7,7 @@
  * @version            0.0.0
  * @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
+ * @link               http://www.ship-simu.org
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -29,7 +29,7 @@ class UserDatabaseWrapper extends BaseDatabaseWrapper {
        private $cacheInstance = null;
 
        // Constants for exceptions
-       const EXCEPTION_CLIENT_USERNAME_NOT_FOUND = 0xe00;
+       const EXCEPTION_CLIENT_USERNAME_NOT_FOUND = 0x800;
 
        // Constants for database columns
        const DB_COLUMN_USERNAME = "username";
@@ -51,7 +51,7 @@ class UserDatabaseWrapper extends BaseDatabaseWrapper {
                $this->setObjectDescription("Database wrapper for user objects");
 
                // Create unique ID number
-               $this->createUniqueID();
+               $this->generateUniqueId();
        }
 
        /**
@@ -123,6 +123,48 @@ class UserDatabaseWrapper extends BaseDatabaseWrapper {
                // And return the instance
                return $resultInstance;
        }
+
+       /**
+        * Handles inserting the registration data from a registration instance into the database
+        *
+        * @param       $registrationInstance   An instance of a registration class
+        * @return      void
+        */
+       public function insertRegistrationObject (UserRegister $registrationInstance) {
+               // Generate a data set for the request
+               $dataSetInstance = ObjectFactory::createObjectByConfiguredName('dataset_criteria_class');
+               $dataSetInstance->setTableName(self::DB_TABLE_USER);
+
+               // Add registration elements to the dataset
+               $registrationInstance->addElementsToDataSet($dataSetInstance);
+
+               // "Insert" this request instance completely into the database
+               $this->getDatabaseInstance()->queryInsertDataSet($dataSetInstance);
+       }
+
+       /**
+        * Updates an user database entry with given result
+        *
+        * @param       $resultInstance         An instance of a Updateable database result
+        * @return      void
+        */
+       public function doUpdateByResult (UpdateableResult $resultInstance) {
+               // Generate a data set object
+               $dataSetInstance = ObjectFactory::createObjectByConfiguredName('dataset_criteria_class');
+               $dataSetInstance->setTableName(self::DB_TABLE_USER);
+
+               // Add all update criteria to the database set
+               $resultInstance->addElementsToDataSet($dataSetInstance);
+
+               // Add seach criteria
+               $dataSetInstance->setSearchInstance($resultInstance->getSearchInstance());
+
+               // Add the primary key
+               $dataSetInstance->setUniqueKey('username');
+
+               // "Update" this request with the database
+               $this->getDatabaseInstance()->queryUpdateDataSet($dataSetInstance);
+       }
 }
 
 // [EOF]