From 7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8 Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 7 Jan 2020 13:06:14 +0100 Subject: Added wordpress --- srcs/wordpress/wp-admin/setup-config.php | 457 +++++++++++++++++++++++++++++++ 1 file changed, 457 insertions(+) create mode 100644 srcs/wordpress/wp-admin/setup-config.php (limited to 'srcs/wordpress/wp-admin/setup-config.php') diff --git a/srcs/wordpress/wp-admin/setup-config.php b/srcs/wordpress/wp-admin/setup-config.php new file mode 100644 index 0000000..f9be50f --- /dev/null +++ b/srcs/wordpress/wp-admin/setup-config.php @@ -0,0 +1,457 @@ +wp-config-sample.php' + ) + ); +} + +// Check if wp-config.php has been created +if ( file_exists( ABSPATH . 'wp-config.php' ) ) { + wp_die( + '

' . sprintf( + /* translators: 1: wp-config.php, 2: install.php */ + __( 'The file %1$s already exists. If you need to reset any of the configuration items in this file, please delete it first. You may try installing now.' ), + 'wp-config.php', + 'install.php' + ) . '

' + ); +} + +// Check if wp-config.php exists above the root directory but is not part of another installation +if ( @file_exists( ABSPATH . '../wp-config.php' ) && ! @file_exists( ABSPATH . '../wp-settings.php' ) ) { + wp_die( + '

' . sprintf( + /* translators: 1: wp-config.php, 2: install.php */ + __( 'The file %1$s already exists one level above your WordPress installation. If you need to reset any of the configuration items in this file, please delete it first. You may try installing now.' ), + 'wp-config.php', + 'install.php' + ) . '

' + ); +} + +$step = isset( $_GET['step'] ) ? (int) $_GET['step'] : -1; + +/** + * Display setup wp-config.php file header. + * + * @ignore + * @since 2.3.0 + * + * @global string $wp_local_package + * @global WP_Locale $wp_locale WordPress date and time locale object. + * + * @param string|array $body_classes + */ +function setup_config_display_header( $body_classes = array() ) { + $body_classes = (array) $body_classes; + $body_classes[] = 'wp-core-ui'; + $dir_attr = ''; + if ( is_rtl() ) { + $body_classes[] = 'rtl'; + $dir_attr = ' dir="rtl"'; + } + + header( 'Content-Type: text/html; charset=utf-8' ); + ?> + +> + + + + + <?php _e( 'WordPress › Setup Configuration File' ); ?> + + + + + Select a default language'; + echo '
'; + wp_install_language_form( $languages ); + echo '
'; + break; + } + } + + // Deliberately fall through if we can't reach the translations API. + + case 0: + if ( ! empty( $language ) ) { + $loaded_language = wp_download_language_pack( $language ); + if ( $loaded_language ) { + load_default_textdomain( $loaded_language ); + $GLOBALS['wp_locale'] = new WP_Locale(); + } + } + + setup_config_display_header(); + $step_1 = 'setup-config.php?step=1'; + if ( isset( $_REQUEST['noapi'] ) ) { + $step_1 .= '&noapi'; + } + if ( ! empty( $loaded_language ) ) { + $step_1 .= '&language=' . $loaded_language; + } + ?> +

+

+
    +
  1. +
  2. +
  3. +
  4. +
  5. +
+

+ wp-config.php' + ); + ?> + + wp-config-sample.php', + 'wp-config.php' + ); + ?> + + We got it.' ), + __( 'https://wordpress.org/support/article/editing-wp-config-php/' ) + ); + ?> +

+

+ +

+ +

+
+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+
+

' . __( 'Try Again' ) . ''; + + if ( empty( $prefix ) ) { + wp_die( __( 'ERROR: "Table Prefix" must not be empty.' ) . $tryagain_link ); + } + + // Validate $prefix: it can only contain letters, numbers and underscores. + if ( preg_match( '|[^a-z0-9_]|i', $prefix ) ) { + wp_die( __( 'ERROR: "Table Prefix" can only contain numbers, letters, and underscores.' ) . $tryagain_link ); + } + + // Test the db connection. + /**#@+ + * + * @ignore + */ + define( 'DB_NAME', $dbname ); + define( 'DB_USER', $uname ); + define( 'DB_PASSWORD', $pwd ); + define( 'DB_HOST', $dbhost ); + /**#@-*/ + + // Re-construct $wpdb with these new values. + unset( $wpdb ); + require_wp_db(); + + /* + * The wpdb constructor bails when WP_SETUP_CONFIG is set, so we must + * fire this manually. We'll fail here if the values are no good. + */ + $wpdb->db_connect(); + + if ( ! empty( $wpdb->error ) ) { + wp_die( $wpdb->error->get_error_message() . $tryagain_link ); + } + + $errors = $wpdb->hide_errors(); + $wpdb->query( "SELECT $prefix" ); + $wpdb->show_errors( $errors ); + if ( ! $wpdb->last_error ) { + // MySQL was able to parse the prefix as a value, which we don't want. Bail. + wp_die( __( 'ERROR: "Table Prefix" is invalid.' ) ); + } + + // Generate keys and salts using secure CSPRNG; fallback to API if enabled; further fallback to original wp_generate_password(). + try { + $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|'; + $max = strlen( $chars ) - 1; + for ( $i = 0; $i < 8; $i++ ) { + $key = ''; + for ( $j = 0; $j < 64; $j++ ) { + $key .= substr( $chars, random_int( 0, $max ), 1 ); + } + $secret_keys[] = $key; + } + } catch ( Exception $ex ) { + $no_api = isset( $_POST['noapi'] ); + + if ( ! $no_api ) { + $secret_keys = wp_remote_get( 'https://api.wordpress.org/secret-key/1.1/salt/' ); + } + + if ( $no_api || is_wp_error( $secret_keys ) ) { + $secret_keys = array(); + for ( $i = 0; $i < 8; $i++ ) { + $secret_keys[] = wp_generate_password( 64, true, true ); + } + } else { + $secret_keys = explode( "\n", wp_remote_retrieve_body( $secret_keys ) ); + foreach ( $secret_keys as $k => $v ) { + $secret_keys[ $k ] = substr( $v, 28, 64 ); + } + } + } + + $key = 0; + foreach ( $config_file as $line_num => $line ) { + if ( '$table_prefix =' == substr( $line, 0, 15 ) ) { + $config_file[ $line_num ] = '$table_prefix = \'' . addcslashes( $prefix, "\\'" ) . "';\r\n"; + continue; + } + + if ( ! preg_match( '/^define\(\s*\'([A-Z_]+)\',([ ]+)/', $line, $match ) ) { + continue; + } + + $constant = $match[1]; + $padding = $match[2]; + + switch ( $constant ) { + case 'DB_NAME': + case 'DB_USER': + case 'DB_PASSWORD': + case 'DB_HOST': + $config_file[ $line_num ] = "define( '" . $constant . "'," . $padding . "'" . addcslashes( constant( $constant ), "\\'" ) . "' );\r\n"; + break; + case 'DB_CHARSET': + if ( 'utf8mb4' === $wpdb->charset || ( ! $wpdb->charset && $wpdb->has_cap( 'utf8mb4' ) ) ) { + $config_file[ $line_num ] = "define( '" . $constant . "'," . $padding . "'utf8mb4' );\r\n"; + } + break; + case 'AUTH_KEY': + case 'SECURE_AUTH_KEY': + case 'LOGGED_IN_KEY': + case 'NONCE_KEY': + case 'AUTH_SALT': + case 'SECURE_AUTH_SALT': + case 'LOGGED_IN_SALT': + case 'NONCE_SALT': + $config_file[ $line_num ] = "define( '" . $constant . "'," . $padding . "'" . $secret_keys[ $key++ ] . "' );\r\n"; + break; + } + } + unset( $line ); + + if ( ! is_writable( ABSPATH ) ) : + setup_config_display_header(); + ?> +

+ wp-config.php' ); + ?> +

+

+ wp-config.php' ); + + $config_text = ''; + + foreach ( $config_file as $line ) { + $config_text .= htmlentities( $line, ENT_COMPAT, 'UTF-8' ); + } + ?> +

+ +

+

+ + +

+

+ +

+ + + + -- cgit