public function validateUsersSection(&$config)
    {
        if (!isset($config["users"])) {
            // No users are specified in the configuration file
            return;
        }
        $this->assertArray($config, "users");
        
        foreach ($config["users"] as $username => $userData) {
            $this->assertUsername($username, $config);
            try {
                $this->validateUserData($userData);
            } catch (ConfigurationException $e) {
                $e->addBeforeMessage("Invalid userdata for $username:");
                throw $e;
            }
            
            // Assure case insensitivity of username indexing
            $lowercaseName = strtolower($username);
            if ($username !== $lowercaseName) {
                if (!isset($config["users"][$lowercaseName])) {
                    $config["users"][$lowercaseName] = $userData;
                    unset($config["users"][$username]);
                } else {
                    throw new ConfigurationException("User $username is defined multiple times.");
                }
            }
        }
    }
public function validateUsersSection(&$config)
    {
        if (!isset($config["users"])) {
            // No users are specified in the configuration file
            return;
        }
        $this->assertArray($config, "users");
        
        foreach ($config["users"] as $username => $userData) {
            $this->assertUsername($username, $config);
            try {
                $this->validateUserData($userData);
            } catch (ConfigurationException $e) {
                $e->addBeforeMessage("Invalid userdata for $username:");
                throw $e;
            }
            
            // Assure case insensitivity of username indexing
            $lowercaseName = strtolower($username);
            if ($username !== $lowercaseName) {
                if (!isset($config["users"][$lowercaseName])) {
                    $config["users"][$lowercaseName] = $userData;
                    unset($config["users"][$username]);
                } else {
                    throw new ConfigurationException("User $username is defined multiple times.");
                }
            }
        }
    }
public function validateUsersSection ( & $ config ) { if ( ! isset ( $ config [ "users" ] ) ) { // No users are specified in the configuration file return ; } $ this -> assertArray ( $ config , "users" ) ; foreach ( $ config [ "users" ] as $ username => $ userData ) { $ this -> assertUsername ( $ username , $ config ) ; try { $ this -> validateUserData ( $ userData ) ; } catch ( ConfigurationException $ e ) { $ e -> addBeforeMessage ( "Invalid userdata for $username:" ) ; throw $ e ; } // Assure case insensitivity of username indexing $ lowercaseName = strtolower ( $ username ) ; if ( $ username !== $ lowercaseName ) { if ( ! isset ( $ config [ "users" ] [ $ lowercaseName ] ) ) { $ config [ "users" ] [ $ lowercaseName ] = $ userData ; unset ( $ config [ "users" ] [ $ username ] ) ; } else { throw new ConfigurationException ( "User $username is defined multiple times." ) ; } } } }
Validates the users section of the configuration

May have side effects in the configuration array,
if some usernames are not defined in lowercase

@param array $config Configuration reference
@throws ConfigurationException On a failed assertation
Validates the users section of the configuration