X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fdatabase%2Fwrapper%2Fclass_UserDatabaseWrapper.php;h=f1caa49379c4c604261fbd39ab84486b1ab3b2cb;hb=8ff2f773e29b6628131d73271f5cac9b2756374e;hp=9dcb47da0b5c9a678d6d25dfd2b2f872aceb4d6b;hpb=2280e5443edd3296524eb56224b75b1888291a3f;p=shipsimu.git diff --git a/inc/classes/main/database/wrapper/class_UserDatabaseWrapper.php b/inc/classes/main/database/wrapper/class_UserDatabaseWrapper.php index 9dcb47d..f1caa49 100644 --- a/inc/classes/main/database/wrapper/class_UserDatabaseWrapper.php +++ b/inc/classes/main/database/wrapper/class_UserDatabaseWrapper.php @@ -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]