Misc fixes/code cleanups
[core.git] / inc / classes / main / user / class_BaseUser.php
index b00a0730f4cfe6b1d4da5cc1057e25730e8f87bf..7943b7c27fb93749734c2975405f6b421a66614c 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, 2009 Core 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 BaseUser extends BaseFrameworkSystem {
+class BaseUser extends BaseFrameworkSystem implements Updateable {
        // Exception constances
        const EXCEPTION_USERNAME_NOT_FOUND   = 0x150;
        const EXCEPTION_USER_EMAIL_NOT_FOUND = 0x151;
@@ -30,7 +30,7 @@ class BaseUser extends BaseFrameworkSystem {
        /**
         * Username of current user
         */
-       private $userName = "";
+       private $userName = '';
 
        /**
         * User id of current user
@@ -40,7 +40,7 @@ class BaseUser extends BaseFrameworkSystem {
        /**
         * Email of current user
         */
-       private $email = "";
+       private $email = '';
 
        /**
         * Protected constructor
@@ -199,7 +199,7 @@ class BaseUser extends BaseFrameworkSystem {
                        $exists = true;
 
                        // Is the username set?
-                       if ($this->getUserName() == "") {
+                       if ($this->getUserName() == '') {
                                // Get current entry
                                $currEntry = $this->getResultInstance()->current();
 
@@ -251,7 +251,7 @@ class BaseUser extends BaseFrameworkSystem {
                // Search for it
                if ($this->getResultInstance()->find('pass_hash')) {
                        // So does the hashes match?
-                       //* DEBUG: */ echo $requestInstance->getRequestElement('pass_hash')."/".$entry['pass_hash'];
+                       //* DEBUG: */ echo $requestInstance->getRequestElement('pass_hash').'/'.$entry['pass_hash'];
                        $matches = ($requestInstance->getRequestElement('pass_hash') === $this->getResultInstance()->getFoundValue());
                } // END - if
 
@@ -306,15 +306,9 @@ class BaseUser extends BaseFrameworkSystem {
         * @param       $fieldName              Field to update
         * @param       $fieldValue             New value to store
         * @return      void
-        * @throws      DatabaseUpdateSupportException  If this class does not support database updates
+        * @todo        Try to make this method more generic so we can move it in BaseFrameworkSystem
         */
        public function updateDatabaseField ($fieldName, $fieldValue) {
-               // Is updating database fields allowed by interface?
-               if (!$this instanceof Updateable) {
-                       // Update not supported!
-                       throw new DatabaseUpdateSupportException($this, self::EXCEPTION_DATABASE_UPDATED_NOT_ALLOWED);
-               } // END - if
-
                // Get a critieria instance
                $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
 
@@ -325,12 +319,15 @@ class BaseUser extends BaseFrameworkSystem {
                // Now get another criteria
                $updateInstance = ObjectFactory::createObjectByConfiguredName('update_criteria_class');
 
-               // And add our both entries
+               // Add criteria entry which we shall update
                $updateInstance->addCriteria($fieldName, $fieldValue);
 
                // Add the search criteria for searching for the right entry
                $updateInstance->setSearchInstance($searchInstance);
 
+               // Set wrapper class name
+               $updateInstance->setWrapperConfigEntry('user_db_wrapper_class');
+
                // Remember the update in database result
                $this->getResultInstance()->add2UpdateQueue($updateInstance);
        }