@@ -83,17 +83,35 @@ public static function load_plugin() {
8383 }
8484
8585 // We also need to selectively load the necessary classes from the plugin.
86- // In v2.2.22+, php-polyfills.php moved to wp-includes/database/php-polyfills.php.
87- $ polyfills_path = file_exists ( $ plugin_directory . '/wp-includes/database/php-polyfills.php ' )
86+ // In v2.2.22+, files moved into wp-includes/database/ subdirectories.
87+ $ new_structure = file_exists ( $ plugin_directory . '/wp-includes/database/php-polyfills.php ' );
88+
89+ require_once $ new_structure
8890 ? $ plugin_directory . '/wp-includes/database/php-polyfills.php '
8991 : $ plugin_directory . '/php-polyfills.php ' ;
90- require_once $ polyfills_path ;
9192 require_once $ plugin_directory . '/constants.php ' ;
9293
9394 $ new_driver_enabled = defined ( 'WP_SQLITE_AST_DRIVER ' ) && WP_SQLITE_AST_DRIVER ;
9495
9596 if ( $ new_driver_enabled && file_exists ( $ plugin_directory . '/wp-pdo-mysql-on-sqlite.php ' ) ) {
9697 require_once $ plugin_directory . '/wp-pdo-mysql-on-sqlite.php ' ;
98+ } elseif ( $ new_driver_enabled && $ new_structure ) {
99+ require_once $ plugin_directory . '/wp-includes/database/version.php ' ;
100+ require_once $ plugin_directory . '/wp-includes/database/parser/class-wp-parser-grammar.php ' ;
101+ require_once $ plugin_directory . '/wp-includes/database/parser/class-wp-parser.php ' ;
102+ require_once $ plugin_directory . '/wp-includes/database/parser/class-wp-parser-node.php ' ;
103+ require_once $ plugin_directory . '/wp-includes/database/parser/class-wp-parser-token.php ' ;
104+ require_once $ plugin_directory . '/wp-includes/database/mysql/class-wp-mysql-token.php ' ;
105+ require_once $ plugin_directory . '/wp-includes/database/mysql/class-wp-mysql-lexer.php ' ;
106+ require_once $ plugin_directory . '/wp-includes/database/mysql/class-wp-mysql-parser.php ' ;
107+ require_once $ plugin_directory . '/wp-includes/database/sqlite/class-wp-sqlite-pdo-user-defined-functions.php ' ;
108+ require_once $ plugin_directory . '/wp-includes/database/sqlite/class-wp-sqlite-connection.php ' ;
109+ require_once $ plugin_directory . '/wp-includes/database/sqlite/class-wp-sqlite-configurator.php ' ;
110+ require_once $ plugin_directory . '/wp-includes/database/sqlite/class-wp-sqlite-driver.php ' ;
111+ require_once $ plugin_directory . '/wp-includes/database/sqlite/class-wp-sqlite-driver-exception.php ' ;
112+ require_once $ plugin_directory . '/wp-includes/database/sqlite/class-wp-sqlite-information-schema-builder.php ' ;
113+ require_once $ plugin_directory . '/wp-includes/database/sqlite/class-wp-sqlite-information-schema-exception.php ' ;
114+ require_once $ plugin_directory . '/wp-includes/database/sqlite/class-wp-sqlite-information-schema-reconstructor.php ' ;
97115 } elseif ( $ new_driver_enabled ) {
98116 require_once $ plugin_directory . '/version.php ' ;
99117 require_once $ plugin_directory . '/wp-includes/parser/class-wp-parser-grammar.php ' ;
0 commit comments