WordPress.org

Make WordPress Core

Ticket #13839: 13839.2.diff

File 13839.2.diff, 2.4 KB (added by dd32, 4 years ago)
  • wp-admin/setup-config.php

     
    155155        $passwrd = trim($_POST['pwd']); 
    156156        $dbhost  = trim($_POST['dbhost']); 
    157157        $prefix  = trim($_POST['prefix']); 
     158 
     159        $tryagain_link = '</p><p class="step"><a href="setup-config.php?step=1" onclick="javascript:history.go(-1);return false;" class="button">' . /*WP_I18N_ERROR_TRYAGAIN*/'Try Again'/*/WP_I18N_ERROR_TRYAGAIN*/ . '</a>'; 
     160 
     161        // Validate $prefix: it can only contain letters, numbers and underscores 
    158162        if ( empty($prefix) ) 
    159                 $prefix = 'wp_'; 
     163                wp_die( /*WP_I18N_EMPTY_PREFIX*/'<strong>ERROR</strong>: "Table Prefix" must not be empty.'/*/WP_I18N_EMPTY_PREFIX*/ . $tryagain_link ); 
    160164 
    161         // Validate $prefix: it can only contain letters, numbers and underscores 
    162165        if ( preg_match( '|[^a-z0-9_]|i', $prefix ) ) 
    163                 wp_die( /*WP_I18N_BAD_PREFIX*/'<strong>ERROR</strong>: "Table Prefix" can only contain numbers, letters, and underscores.'/*/WP_I18N_BAD_PREFIX*/ ); 
     166                wp_die( /*WP_I18N_BAD_PREFIX*/'<strong>ERROR</strong>: "Table Prefix" can only contain numbers, letters, and underscores.'/*/WP_I18N_BAD_PREFIX*/ . $tryagain_link ); 
    164167 
    165168        // Test the db connection. 
    166169        /**#@+ 
     
    174177 
    175178        // We'll fail here if the values are no good. 
    176179        require_wp_db(); 
    177         if ( ! empty( $wpdb->error ) ) { 
    178                 $back = '<p class="step"><a href="setup-config.php?step=1" onclick="javascript:history.go(-1);return false;" class="button">Try Again</a></p>'; 
    179                 wp_die( $wpdb->error->get_error_message() . $back ); 
    180         } 
     180        if ( ! empty( $wpdb->error ) ) 
     181                wp_die( $wpdb->error->get_error_message() . $tryagain_link ); 
    181182 
    182183        // Fetch or generate keys and salts. 
    183184        $no_api = isset( $_POST['noapi'] ); 
     
    215216        foreach ($configFile as $line_num => $line) { 
    216217                switch (substr($line,0,16)) { 
    217218                        case "define('DB_NAME'": 
     219                                $dbname = addcslashes($dbname, "\\'"); 
    218220                                $configFile[$line_num] = str_replace("database_name_here", $dbname, $line); 
    219221                                break; 
    220222                        case "define('DB_USER'": 
     223                                $uname = addcslashes($uname, "\\'"); 
    221224                                $configFile[$line_num] = str_replace("'username_here'", "'$uname'", $line); 
    222225                                break; 
    223226                        case "define('DB_PASSW": 
     227                                $passwrd = addcslashes($passwrd, "\\'"); 
    224228                                $configFile[$line_num] = str_replace("'password_here'", "'$passwrd'", $line); 
    225229                                break; 
    226230                        case "define('DB_HOST'":