* 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 UserNameValidatorFilter extends BaseFrameworkSystem implements Filterable {
+class UserNameValidatorFilter extends BaseFilter implements Filterable {
/**
* Protected constructor
*
$this->setObjectDescription("A filter for username validation");
// Create unique ID number
- $this->createUniqueID();
-
- // Clean up a little
- $this->removeNumberFormaters();
- $this->removeSystemArray();
+ $this->generateUniqueId();
}
/**
// Default is already taken
$alreadyTaken = true;
+ // Initialize instance
+ $userInstance = null;
+
// Get a registry instance
- $registry = Registry::getInstance();
+ $registry = Registry::getRegistry();
// Is the user already there?
if ($registry->instanceExists('user')) {
// Use the instance for checking for the email
$userInstance = $registry->getInstance('user');
+ $userInstance->setUserName($userName);
} else {
// If this instance is created then the username *does* exist
- $userInstance = User::createUserByUsername($userName);
-
- // Remember this user instance in our registry for later usage
- $registry->addInstance('user', $userInstance);
+ try {
+ // Get a new instance
+ $userInstance = call_user_func_array(array($this->getConfigInstance()->readConfig('user_class'), "createUserByUsername"), array($userName));
+
+ // Remember this user instance in our registry for later usage
+ $registry->addInstance('user', $userInstance);
+ } catch (UsernameMissingException $e) {
+ // User was not found
+ }
}
// Does the username exist?
- if (!$userInstance->ifUsernameExists()) {
+ if ((is_null($userInstance)) || (!$userInstance->ifUsernameExists())) {
// This username is still available
$alreadyTaken = false;
}