You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							30 lines
						
					
					
						
							997 B
						
					
					
				
			
		
		
	
	
							30 lines
						
					
					
						
							997 B
						
					
					
				<?php
 | 
						|
/* For licensing terms, see /license.txt */
 | 
						|
 | 
						|
/**
 | 
						|
 * QuickForm rule to check if a username is available
 | 
						|
 */
 | 
						|
class HTML_QuickForm_Rule_UsernameAvailable extends HTML_QuickForm_Rule
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * Function to check if a username is available
 | 
						|
     * @see HTML_QuickForm_Rule
 | 
						|
     * @param string $username Wanted username
 | 
						|
     * @param string $current_username
 | 
						|
     * @return boolean True if username is available
 | 
						|
     */
 | 
						|
    public function validate($username, $current_username = null)
 | 
						|
    {
 | 
						|
        $user_table = Database::get_main_table(TABLE_MAIN_USER);
 | 
						|
        $username = Database::escape_string($username);
 | 
						|
        $current_username = Database::escape_string($current_username);
 | 
						|
 | 
						|
        $sql = "SELECT * FROM $user_table WHERE username = '$username'";
 | 
						|
        if (!is_null($current_username)) {
 | 
						|
            $sql .= " AND username != '$current_username'";
 | 
						|
        }
 | 
						|
        $res = Database::query($sql);
 | 
						|
        $number = Database::num_rows($res);
 | 
						|
        return $number == 0;
 | 
						|
    }
 | 
						|
}
 | 
						|
 |