From 86701dce7b041f9ef9d5802475c360f3e0a0ca6a Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Fri, 21 Apr 2017 16:36:52 +0200 Subject: [PATCH] make sure that we don't lose previous verification status Signed-off-by: Bjoern Schiessle --- lib/private/Accounts/AccountManager.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/private/Accounts/AccountManager.php b/lib/private/Accounts/AccountManager.php index 91be4be4ab..0c17579554 100644 --- a/lib/private/Accounts/AccountManager.php +++ b/lib/private/Accounts/AccountManager.php @@ -137,10 +137,25 @@ class AccountManager { */ protected function updateVerifyStatus($oldData, $newData) { + // which account was already verified successfully? $twitterVerified = isset($oldData[self::PROPERTY_TWITTER]['verified']) && $oldData[self::PROPERTY_TWITTER]['verified'] === self::VERIFIED; $websiteVerified = isset($oldData[self::PROPERTY_WEBSITE]['verified']) && $oldData[self::PROPERTY_WEBSITE]['verified'] === self::VERIFIED; $emailVerified = isset($oldData[self::PROPERTY_EMAIL]['verified']) && $oldData[self::PROPERTY_EMAIL]['verified'] === self::VERIFIED; + // keep old verification status if we don't have a new one + if(!isset($newData[self::PROPERTY_TWITTER]['verified'])) { + $newData[self::PROPERTY_TWITTER]['verified'] = isset($oldData[self::PROPERTY_TWITTER]['verified']) ? $oldData[self::PROPERTY_TWITTER]['verified'] : self::NOT_VERIFIED; + } + + if(!isset($newData[self::PROPERTY_WEBSITE]['verified'])) { + $newData[self::PROPERTY_WEBSITE]['verified'] = isset($oldData[self::PROPERTY_WEBSITE]['verified']) ? $oldData[self::PROPERTY_WEBSITE]['verified'] : self::NOT_VERIFIED; + } + + if(!isset($newData[self::PROPERTY_EMAIL]['verified'])) { + $newData[self::PROPERTY_EMAIL]['verified'] = isset($oldData[self::PROPERTY_WEBSITE]['verified']) ? $oldData[self::PROPERTY_EMAIL]['verified'] : self::NOT_VERIFIED; + } + + // reset verification status if a value from a previously verified data was changed if($twitterVerified && $oldData[self::PROPERTY_TWITTER]['value'] !== $newData[self::PROPERTY_TWITTER]['value'] ) {