<?php

/*
* @copyright Copyright (C) 2005-2009 Keyboard Monkeys Ltd. http://www.kb-m.com
* @license http://creativecommons.org/licenses/BSD/ BSD License
* @author Keyboard Monkey Ltd
* @since  CommunityID 0.9
* @package CommunityID
* @packager Keyboard Monkeys
*/

/**
* Validates URL element syntax to avoid encoding issues, according to rfc 1738, section 2.2
*/
class Monkeys_Validate_Username extends Zend_Validate_Abstract
{
    const BAD = 'bad';

    protected $_messageTemplates = array(
        self::BAD => 'Username can only contain US-ASCII alphanumeric characters, plus any of the symbols $-_.+!*\'(), and "'
    );

    public function isValid($value, $context = null)
    {
        $this->_setValue($value);

        if (preg_match('/^[A-Za-z\$-_.\+!\*\'\(\)",]+$/', $value)) {
            return true;
        } else {
            $this->_error(self::BAD);
            return false;
        }
    }
}