class_UserDatabaseWrapper.php

Go to the documentation of this file.
00001 <?php
00024 class UserDatabaseWrapper extends BaseDatabaseWrapper {
00025         // Constants for exceptions
00026         const EXCEPTION_CLIENT_USERNAME_NOT_FOUND = 0x180;
00027 
00028         // Constants for database columns
00029         const DB_COLUMN_USERID       = "userid";
00030         const DB_COLUMN_USERNAME     = "username";
00031         const DB_COLUMN_EMAIL        = "email";
00032         const DB_COLUMN_CONFIRM_HASH = "confirm_hash";
00033         const DB_COLUMN_USER_STATUS  = "user_status";
00034 
00035         // Constants for database table names
00036         const DB_TABLE_USER = "user";
00037 
00043         protected function __construct() {
00044                 // Call parent constructor
00045                 parent::__construct(__CLASS__);
00046         }
00047 
00053         public final static function createUserDatabaseWrapper () {
00054                 // Get a new instance
00055                 $wrapperInstance = new UserDatabaseWrapper();
00056 
00057                 // Set (primary!) table name
00058                 $wrapperInstance->setTableName(self::DB_TABLE_USER);
00059 
00060                 // Return the instance
00061                 return $wrapperInstance;
00062         }
00063 
00069         public final function getIndexKey () {
00070                 return $this->getDatabaseInstance()->getIndexKey();
00071         }
00072 
00079         public function insertRegistrationObject (UserRegister $registrationInstance) {
00080                 // Generate a data set for the request
00081                 $dataSetInstance = ObjectFactory::createObjectByConfiguredName('dataset_criteria_class', array(self::DB_TABLE_USER));
00082 
00083                 // Set the primary key
00084                 $dataSetInstance->setUniqueKey('username');
00085 
00086                 // Add registration elements to the dataset
00087                 $registrationInstance->addElementsToDataSet($dataSetInstance);
00088 
00089                 // "Insert" this request instance completely into the database
00090                 $this->getDatabaseInstance()->queryInsertDataSet($dataSetInstance);
00091         }
00092 
00099         public function doUpdateByResult (UpdateableResult $resultInstance) {
00100                 // Generate a data set object
00101                 $dataSetInstance = ObjectFactory::createObjectByConfiguredName('dataset_criteria_class', array(self::DB_TABLE_USER));
00102 
00103                 // Add all update criteria to the database set
00104                 $resultInstance->addElementsToDataSet($dataSetInstance);
00105 
00106                 // Add seach criteria
00107                 $dataSetInstance->setSearchInstance($resultInstance->getSearchInstance());
00108 
00109                 // Set the primary key
00110                 $dataSetInstance->setUniqueKey('username');
00111 
00112                 // "Update" this request with the database
00113                 $this->getDatabaseInstance()->queryUpdateDataSet($dataSetInstance);
00114         }
00115 }
00116 
00117 // [EOF]
00118 ?>

Generated on Mon Dec 8 01:06:45 2008 for Ship-Simulator by  doxygen 1.5.6