X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fuser%2Fclass_BaseUser.php;h=0aa89c354c6587ed574ab73fc8f815077ae6bf0f;hp=b00a0730f4cfe6b1d4da5cc1057e25730e8f87bf;hb=bc94f1c95be0b773f5323a75e976e44ca3d0e760;hpb=c6d73b0e3246efc824cb98338d4be7ee5bc9f308 diff --git a/inc/classes/main/user/class_BaseUser.php b/inc/classes/main/user/class_BaseUser.php index b00a0730..0aa89c35 100644 --- a/inc/classes/main/user/class_BaseUser.php +++ b/inc/classes/main/user/class_BaseUser.php @@ -4,7 +4,7 @@ * * @author Roland Haeder * @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 . */ -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 @@ -51,10 +51,6 @@ class BaseUser extends BaseFrameworkSystem { protected function __construct ($className) { // Call parent constructor parent::__construct($className); - - // Clean up a little - $this->removeNumberFormaters(); - $this->removeSystemArray(); } /** @@ -199,7 +195,7 @@ class BaseUser extends BaseFrameworkSystem { $exists = true; // Is the username set? - if ($this->getUserName() == "") { + if ($this->getUserName() == '') { // Get current entry $currEntry = $this->getResultInstance()->current(); @@ -245,13 +241,16 @@ class BaseUser extends BaseFrameworkSystem { $this->setResultInstance($resultInstance); } // END - if - // Rewind it + // Rewind it and advance to first entry $this->getResultInstance()->rewind(); + // This call set the result instance to a clean state + $this->getResultInstance()->next(); + // 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') . '
' . $this->getResultInstance()->getFoundValue() . '
'; $matches = ($requestInstance->getRequestElement('pass_hash') === $this->getResultInstance()->getFoundValue()); } // END - if @@ -306,15 +305,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 +318,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); }