From 50db9c8fd828f3c02f7059eb56a52be1e95fb028 Mon Sep 17 00:00:00 2001 From: Matthew Bucci Date: Thu, 9 Nov 2023 09:34:33 -0800 Subject: [PATCH] rewrite mysql driver implementation to replace mysqli instead of mysql --- pg4wp/core.php | 19 +- pg4wp/driver_mysql.php | 989 +++++++++++++++++++++++++++++++++++++++-- 2 files changed, 944 insertions(+), 64 deletions(-) diff --git a/pg4wp/core.php b/pg4wp/core.php index e77cb36..f2f2989 100644 --- a/pg4wp/core.php +++ b/pg4wp/core.php @@ -14,13 +14,6 @@ require_once ABSPATH . '/wp-includes/version.php'; require_once ABSPATH . '/wp-includes/cache.php'; require_once ABSPATH . '/wp-includes/l10n.php'; -if (!function_exists('wpsql_is_resource')) { - function wpsql_is_resource($object) - { - return $object !== false && $object !== null; - } -} - // Load the driver defined in 'db.php' require_once(PG4WP_ROOT . '/driver_' . DB_DRIVER . '.php'); @@ -29,20 +22,12 @@ $replaces = array( 'define( ' => '// define( ', 'class wpdb' => 'class wpdb2', 'new wpdb' => 'new wpdb2', - 'mysql_' => 'wpsql_', - 'is_resource' => 'wpsql_is_resource', + 'mysqli_' => 'wpsqli_', + 'is_resource' => 'wpsqli_is_resource', ' '', '?>' => '', ); -// Ensure class uses the replaced mysql_ functions rather than mysqli_ -if (!defined('WP_USE_EXT_MYSQL')) { - define('WP_USE_EXT_MYSQL', true); -} -if (WP_USE_EXT_MYSQL != true) { - throw new \Exception("PG4SQL CANNOT BE ENABLED WITH MYSQLI, REMOVE ANY WP_USE_EXT_MYSQL configuration"); -} - eval(str_replace(array_keys($replaces), array_values($replaces), file_get_contents(ABSPATH . '/wp-includes/class-wpdb.php'))); // Create wpdb object if not already done diff --git a/pg4wp/driver_mysql.php b/pg4wp/driver_mysql.php index 846a5ef..1a6233c 100644 --- a/pg4wp/driver_mysql.php +++ b/pg4wp/driver_mysql.php @@ -1,91 +1,986 @@