Core_Command::_install PHP Method

_install() private method

private _install ( $assoc_args )
    private function _install($assoc_args)
    {
        if (is_blog_installed()) {
            return false;
        }
        if (true === \WP_CLI\Utils\get_flag_value($assoc_args, 'skip-email') && !function_exists('wp_new_blog_notification')) {
            function wp_new_blog_notification()
            {
                // Silence is golden
            }
        }
        require_once ABSPATH . 'wp-admin/includes/upgrade.php';
        extract(wp_parse_args($assoc_args, array('title' => '', 'admin_user' => '', 'admin_email' => '', 'admin_password' => '')), EXTR_SKIP);
        // Support prompting for the `--url=<url>`,
        // which is normally a runtime argument
        if (isset($assoc_args['url'])) {
            WP_CLI::set_url($assoc_args['url']);
        }
        $public = true;
        // @codingStandardsIgnoreStart
        if (!is_email($admin_email)) {
            WP_CLI::error("The '{$admin_email}' email address is invalid.");
        }
        $result = wp_install($title, $admin_user, $admin_email, $public, '', $admin_password);
        if (is_wp_error($result)) {
            WP_CLI::error('Installation failed (' . WP_CLI::error_to_string($result) . ').');
        }
        // @codingStandardsIgnoreEnd
        if (!empty($GLOBALS['wpdb']->last_error)) {
            WP_CLI::error('Installation produced database errors, and may have partially or completely failed.');
        }
        if (empty($admin_password)) {
            WP_CLI::log("Admin password: {$result['password']}");
        }
        // Confirm the uploads directory exists
        $upload_dir = wp_upload_dir();
        if (!empty($upload_dir['error'])) {
            WP_CLI::warning($upload_dir['error']);
        }
        return true;
    }