X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FUpdate.php;h=827029d50e184a52a5f93468cb0409d8242f657d;hb=0d1fa70e2ecb372d158871285e0cda5f6d77194a;hp=5a151b8380916311b057c04d1c65a9a6e3140e34;hpb=04d620fc2f567d32b50f5d5b0974acafeb072177;p=friendica.git diff --git a/src/Core/Update.php b/src/Core/Update.php index 5a151b8380..827029d50e 100644 --- a/src/Core/Update.php +++ b/src/Core/Update.php @@ -1,4 +1,23 @@ . + * + */ namespace Friendica\Core; @@ -108,7 +127,7 @@ class Update // run the pre_update_nnnn functions in update.php for ($x = $stored + 1; $x <= $current; $x++) { - $r = self::runUpdateFunction($x, 'pre_update'); + $r = self::runUpdateFunction($x, 'pre_update', $sendMail); if (!$r) { DI::config()->set('system', 'update', Update::FAILED); DI::lock()->release('dbupdate'); @@ -137,7 +156,7 @@ class Update // run the update_nnnn functions in update.php for ($x = $stored + 1; $x <= $current; $x++) { - $r = self::runUpdateFunction($x, 'update'); + $r = self::runUpdateFunction($x, 'update', $sendMail); if (!$r) { DI::config()->set('system', 'update', Update::FAILED); DI::lock()->release('dbupdate'); @@ -162,13 +181,14 @@ class Update /** * Executes a specific update function * - * @param int $x the DB version number of the function - * @param string $prefix the prefix of the function (update, pre_update) - * + * @param int $x the DB version number of the function + * @param string $prefix the prefix of the function (update, pre_update) + * @param bool $sendMail whether to send emails on success/failure + * @return bool true, if the update function worked * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function runUpdateFunction($x, $prefix) + public static function runUpdateFunction($x, $prefix, bool $sendMail = true) { $funcname = $prefix . '_' . $x; @@ -188,11 +208,13 @@ class Update $retval = $funcname(); if ($retval) { - //send the administrator an e-mail - self::updateFailed( - $x, - DI::l10n()->t('Update %s failed. See error logs.', $x) - ); + if ($sendMail) { + //send the administrator an e-mail + self::updateFailed( + $x, + DI::l10n()->t('Update %s failed. See error logs.', $x) + ); + } Logger::error('Update function ERROR.', ['function' => $funcname, 'retval' => $retval]); DI::lock()->release('dbupdate_function'); return false; @@ -252,7 +274,7 @@ class Update } $sent[] = $admin['email']; - $lang = (($admin['language'])?$admin['language']:'en'); + $lang = $admin['language'] ?? 'en'; $l10n = DI::l10n()->withLang($lang); $preamble = Strings::deindent($l10n->t(" @@ -261,17 +283,15 @@ class Update This needs to be fixed soon and I can't do it alone. Please contact a friendica developer if you can not help me on your own. My database might be invalid.", $update_id)); - $body = $l10n->t("The error message is\n[pre]%s[/pre]", $error_message); - - notification([ - 'uid' => $admin['uid'], - 'type' => SYSTEM_EMAIL, - 'to_email' => $admin['email'], - 'subject' => $l10n->t('[Friendica Notify] Database update'), - 'preamble' => $preamble, - 'body' => $body, - 'language' => $lang] - ); + $body = $l10n->t("The error message is\n[pre]%s[/pre]", $error_message); + + $email = DI::emailer() + ->newSystemMail() + ->withMessage($l10n->t('[Friendica Notify] Database update'), $preamble, $body) + ->forUser($admin) + ->withRecipient($admin['email']) + ->build(); + DI::emailer()->send($email); } //try the logger @@ -301,15 +321,13 @@ class Update The friendica database was successfully updated from %s to %s.", $from_build, $to_build)); - notification([ - 'uid' => $admin['uid'], - 'type' => SYSTEM_EMAIL, - 'to_email' => $admin['email'], - 'subject' => DI::l10n()->t('[Friendica Notify] Database update'), - 'preamble' => $preamble, - 'body' => $preamble, - 'language' => $lang] - ); + $email = DI::emailer() + ->newSystemMail() + ->withMessage($l10n->t('[Friendica Notify] Database update'), $preamble) + ->forUser($admin) + ->withRecipient($admin['email']) + ->build(); + DI::emailer()->send($email); } }