phpbb\install\module\obtain_data\task\obtain_database_data::check_database_data PHP Method

check_database_data() protected method

Check database data
protected check_database_data ( string $dbms, string $dbhost, integer $dbport, string $dbuser, string $dbpass, string $dbname, string $table_prefix ) : boolean
$dbms string Selected database type
$dbhost string Database host address
$dbport integer Database port number
$dbuser string Database username
$dbpass string Database password
$dbname string Database name
$table_prefix string Database table prefix
return boolean True if database data is correct, false otherwise
    protected function check_database_data($dbms, $dbhost, $dbport, $dbuser, $dbpass, $dbname, $table_prefix)
    {
        $available_dbms = $this->database_helper->get_available_dbms();
        $data_valid = true;
        // Check if PHP has the database extensions for the specified DBMS
        if (!isset($available_dbms[$dbms])) {
            $this->io_handler->add_error_message('INST_ERR_NO_DB');
            $data_valid = false;
        }
        // Validate table prefix
        $prefix_valid = $this->database_helper->validate_table_prefix($dbms, $table_prefix);
        if (is_array($prefix_valid)) {
            foreach ($prefix_valid as $error) {
                $this->io_handler->add_error_message($error['title'], isset($error['description']) ? $error['description'] : false);
            }
            $data_valid = false;
        }
        // Try to connect to database if all provided data is valid
        if ($data_valid) {
            $connect_test = $this->database_helper->check_database_connection($dbms, $dbhost, $dbport, $dbuser, $dbpass, $dbname, $table_prefix);
            if (is_array($connect_test)) {
                foreach ($connect_test as $error) {
                    $this->io_handler->add_error_message($error['title'], isset($error['description']) ? $error['description'] : false);
                }
                $data_valid = false;
            }
        }
        return $data_valid;
    }