// Add the username as a criteria and set limit to one entry
$criteriaInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_USERNAME, $this->getUserName());
- $criteriaInstance->setIndexSolution(UserDatabaseWrapper::DB_COLUMN_USERID, array($this, 'setUserId'));
$criteriaInstance->setLimit(1);
// Get a search result
- $this->setResultInstance($wrapperInstance->doSelectByCriteria($criteriaInstance));
- } else {
- // Rewind it
- $this->getResultInstance()->rewind();
- }
+ $resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance);
+
+ // Set the index "solver"
+ $resultInstance->solveResultIndex(UserDatabaseWrapper::DB_COLUMN_USERID, $wrapperInstance, array($this, 'setUserId'));
+
+ // And finally set it
+ $this->setResultInstance($resultInstance);
+ } // END - if
+
+ // Rewind it
+ $this->getResultInstance()->rewind();
// Search for it
if ($this->getResultInstance()->next()) {
// Add the username as a criteria and set limit to one entry
$criteriaInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_EMAIL, $this->getEmail());
- $criteriaInstance->setIndexSolution(UserDatabaseWrapper::DB_COLUMN_USERID, array($this, 'setUserId'));
$criteriaInstance->setLimit(1);
- // Get a search resultInstance
- $this->setResultInstance($wrapperInstance->doSelectByCriteria($criteriaInstance));
- } else {
- // Rewind it
- $this->getResultInstance()->rewind();
- }
+ // Get a search result
+ $resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance);
+
+ // Set the index "solver"
+ $resultInstance->solveResultIndex(UserDatabaseWrapper::DB_COLUMN_USERID, $wrapperInstance, array($this, 'setUserId'));
+
+ // And finally set it
+ $this->setResultInstance($resultInstance);
+ } // END - if
+
+ // Rewind it
+ $this->getResultInstance()->rewind();
// Search for it
if ($this->getResultInstance()->next()) {
// By default nothing matches... ;)
$matches = false;
- // Get a UserDatabaseWrapper instance
- $wrapperInstance = ObjectFactory::createObjectByConfiguredName('user_db_wrapper_class');
+ // Is a previous result there?
+ if (is_null($this->getResultInstance())) {
+ // Get a UserDatabaseWrapper instance
+ $wrapperInstance = ObjectFactory::createObjectByConfiguredName('user_db_wrapper_class');
- // Create a search criteria
- $criteriaInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
+ // Create a search criteria
+ $criteriaInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
- // Add the username as a criteria and set limit to one entry
- $criteriaInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_USERNAME, $this->getUserName());
- $criteriaInstance->setIndexSolution(UserDatabaseWrapper::DB_COLUMN_USERID, array($this, 'setUserId'));
- $criteriaInstance->setLimit(1);
+ // Add the username as a criteria and set limit to one entry
+ $criteriaInstance->addCriteria(UserDatabaseWrapper::DB_COLUMN_USERNAME, $this->getUserName());
+ $criteriaInstance->setLimit(1);
- // Get a search resultInstance
- $this->setResultInstance($wrapperInstance->doSelectByCriteria($criteriaInstance));
+ // Get a search result
+ $resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance);
- // Search for it
- if ($this->getResultInstance()->next()) {
- // Get the current entry (can only be one!)
- $entry = $this->getResultInstance()->current();
+ // Set the index "solver"
+ $resultInstance->solveResultIndex(UserDatabaseWrapper::DB_COLUMN_USERID, $wrapperInstance, array($this, 'setUserId'));
+
+ // And finally set it
+ $this->setResultInstance($resultInstance);
+ } // END - if
+
+ // Rewind it
+ $this->getResultInstance()->rewind();
+ // Search for it
+ if ($this->getResultInstance()->find('pass_hash')) {
// So does the hashes match?
//* DEBUG: */ echo $requestInstance->getRequestElement('pass_hash')."/".$entry['pass_hash'];
- $matches = ($requestInstance->getRequestElement('pass_hash') === $entry['pass_hash']);
+ $matches = ($requestInstance->getRequestElement('pass_hash') === $this->getResultInstance()->getFoundValue());
} // END - if
// Return the status