From de4d6b454ba087e232f6b88af2fe7e19568690f0 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Fri, 12 Jun 2020 21:40:52 +0000 Subject: [PATCH] External Libraries: Add class aliases for `phpmailerException` and `SMTP` to deprecated files to account for the new namespace. This ensures backward compatibility with plugins using the old `class-phpmailer.php` or `class-smtp.php` files. Follow-up to [48033]. Props Otto42. Fixes #50379. See #41750. git-svn-id: https://develop.svn.wordpress.org/trunk@48035 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/class-phpmailer.php | 10 +++++++++- src/wp-includes/class-smtp.php | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/wp-includes/class-phpmailer.php b/src/wp-includes/class-phpmailer.php index 796bd379f3..ff31db2f69 100644 --- a/src/wp-includes/class-phpmailer.php +++ b/src/wp-includes/class-phpmailer.php @@ -4,8 +4,16 @@ * The PHPMailer class has been moved to the wp-includes/PHPMailer subdirectory and now uses the PHPMailer\PHPMailer namespace. */ if ( function_exists( '_deprecated_file' ) ) { - _deprecated_file( basename( __FILE__ ), '5.5.0', WPINC . '/PHPMailer/PHPMailer.php', __( 'The PHPMailer class has been moved to wp-includes/PHPMailer subdirectory and now uses the PHPMailer\PHPMailer namespace.' ) ); + _deprecated_file( + basename( __FILE__ ), + '5.5.0', + WPINC . '/PHPMailer/PHPMailer.php', + __( 'The PHPMailer class has been moved to wp-includes/PHPMailer subdirectory and now uses the PHPMailer\PHPMailer namespace.' ) + ); } + require __DIR__ . '/PHPMailer/PHPMailer.php'; +require __DIR__ . '/PHPMailer/Exception.php'; class_alias( PHPMailer\PHPMailer\PHPMailer::class, 'PHPMailer' ); +class_alias( PHPMailer\PHPMailer\Exception::class, 'phpmailerException' ); diff --git a/src/wp-includes/class-smtp.php b/src/wp-includes/class-smtp.php index 28144c7125..7b93997f73 100644 --- a/src/wp-includes/class-smtp.php +++ b/src/wp-includes/class-smtp.php @@ -3,5 +3,13 @@ /** * The SMTP class has been moved to the wp-includes/PHPMailer subdirectory and now uses the PHPMailer\PHPMailer namespace. */ -_deprecated_file( basename( __FILE__ ), '5.5.0', WPINC . '/PHPMailer/SMTP.php', __( 'The SMTP class has been moved to the wp-includes/PHPMailer subdirectory and now uses the PHPMailer\PHPMailer namespace.' ) ); +_deprecated_file( + basename( __FILE__ ), + '5.5.0', + WPINC . '/PHPMailer/SMTP.php', + __( 'The SMTP class has been moved to the wp-includes/PHPMailer subdirectory and now uses the PHPMailer\PHPMailer namespace.' ) +); + require __DIR__ . '/PHPMailer/SMTP.php'; + +class_alias( PHPMailer\PHPMailer\SMTP::class, 'SMTP' );