From 0eb171ee6adfa2eb0a7b82c8b209d81b9a71b70f Mon Sep 17 00:00:00 2001 From: Oluwaseun Olorunsola Date: Thu, 23 May 2024 23:39:36 +0100 Subject: [PATCH] Add helper for mySqlGoneAway error handler MAILPOET-6020 --- mailpoet/lib/Util/Helpers.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/mailpoet/lib/Util/Helpers.php b/mailpoet/lib/Util/Helpers.php index 4096ff3dd0..ec739ed567 100644 --- a/mailpoet/lib/Util/Helpers.php +++ b/mailpoet/lib/Util/Helpers.php @@ -119,4 +119,26 @@ class Helpers { $arrayOfItems = explode('@', trim($email)); return strtolower(array_pop($arrayOfItems)); } + + public static function mySqlGoneAwayExceptionHandler(\Throwable $err): string { + $errorMessage = $err->getMessage() ? $err->getMessage() : ''; + $mySqlGoneAwayCheck = strpos(strtolower($errorMessage), 'mysql server has gone away') !== false; + + if ($mySqlGoneAwayCheck) { + $customErrorMessage = sprintf( + // translators: the %1$s is the link, the %2$s is the error message. + __('Please see %1$s for more information. %2$s.', 'mailpoet'), + 'https://kb.mailpoet.com/article/307-how-to-fix-general-error-2006-mysql-server-has-gone-away', + $errorMessage + ); + // logging to the php log + if (function_exists('error_log')) { + error_log($customErrorMessage); // phpcs:ignore Squiz.PHP.DiscouragedFunctions + } + + return $customErrorMessage; + } + + return ''; + } }