ElggInstaller::validateDatabaseVars PHP Method

validateDatabaseVars() protected method

Validate the variables for the database step
protected validateDatabaseVars ( array $submissionVars, array $formVars ) : boolean
$submissionVars array Submitted vars
$formVars array Vars in the form
return boolean
    protected function validateDatabaseVars($submissionVars, $formVars)
    {
        foreach ($formVars as $field => $info) {
            if ($info['required'] == TRUE && !$submissionVars[$field]) {
                $name = _elgg_services()->translator->translate("install:database:label:{$field}");
                register_error(_elgg_services()->translator->translate('install:error:requiredfield', array($name)));
                return FALSE;
            }
        }
        // according to postgres documentation: SQL identifiers and key words must
        // begin with a letter (a-z, but also letters with diacritical marks and
        // non-Latin letters) or an underscore (_). Subsequent characters in an
        // identifier or key word can be letters, underscores, digits (0-9), or dollar signs ($).
        // Refs #4994
        if (!preg_match("/^[a-zA-Z_][\\w]*\$/", $submissionVars['dbprefix'])) {
            register_error(_elgg_services()->translator->translate('install:error:database_prefix'));
            return FALSE;
        }
        return $this->checkDatabaseSettings($submissionVars['dbuser'], $submissionVars['dbpassword'], $submissionVars['dbname'], $submissionVars['dbhost']);
    }