From e78b762dd2d51da7adbc76fd09065169f6b61127 Mon Sep 17 00:00:00 2001 From: Salma Date: Wed, 14 Feb 2024 08:45:02 +0200 Subject: [PATCH 1/2] PLAT-24609 add additional dynamic email contents --- .../apps/kaltura/lib/authenticationUtils.php | 46 +++++++++++++++++-- alpha/apps/kaltura/lib/kAuthManager.php | 12 +++-- alpha/lib/model/kuserPeer.php | 11 +++-- infra/general/kEmails.php | 1 + 4 files changed, 58 insertions(+), 12 deletions(-) diff --git a/alpha/apps/kaltura/lib/authenticationUtils.php b/alpha/apps/kaltura/lib/authenticationUtils.php index e09c8d271f..17c0ce9566 100644 --- a/alpha/apps/kaltura/lib/authenticationUtils.php +++ b/alpha/apps/kaltura/lib/authenticationUtils.php @@ -69,11 +69,51 @@ public static function addAuthMailJob($partner, $kuser, $mailType) public static function addSsoMailJob($partner, $kuser, $mailType) { $partnerId = $partner->getId(); + $puserId = $kuser->getPuserId(); + $userName = $kuser->getFullName(); + $loginEmail = $kuser->getEmail(); $publisherName = $partner->getName(); + $roleNames = $kuser->getUserRoleNames(); + + $roleNameToUseDynamicEmailTemplate = kEmails::getDynamicEmailUserRoleName($roleNames); + if ($roleNameToUseDynamicEmailTemplate) + { + $appLink = kEmails::getDynamicTemplateBaseLink($roleNames, 'dynamic_email_app_link'); + $loginLink = kEmails::getDynamicTemplateBaseLink($roleNames, 'dynamic_email_login_link'); + $dynamicLink = kEmails::getDynamicTemplateBaseLink($roleNames); + + $resetPasswordLink = UserLoginDataPeer::getPassResetLink($kuser->getLoginData()->getPasswordHashKey(), null, $dynamicLink); + + $associativeBodyParams = array( + kEmails::TAG_ROLE_NAME => $roleNameToUseDynamicEmailTemplate, + kEmails::TAG_USER_NAME => $userName, + kEmails::TAG_PUBLISHER_NAME => $publisherName, + kEmails::TAG_LOGIN_EMAIL => $loginEmail, + kEmails::TAG_PARTNER_ID => $partnerId, + kEmails::TAG_PUSER_ID => $puserId, + kEmails::TAG_APP_LINK => $appLink, + kEmails::TAG_LOGIN_LINK => $loginLink, + kEmails::TAG_RESET_PASSWORD_LINK => $resetPasswordLink + ); + + $dynamicEmailContents = kEmails::getDynamicEmailData($mailType, $roleNameToUseDynamicEmailTemplate); + $dynamicEmailContents->setEmailBody(kEmails::populateCustomEmailBody($dynamicEmailContents->getEmailBody(), $associativeBodyParams)); + + return kJobsManager::addDynamicEmailJob( + $partnerId, + $mailType, + kMailJobData::MAIL_PRIORITY_NORMAL, + $loginEmail, + 'partner_registration_confirmation_email', + 'partner_registration_confirmation_name', + $dynamicEmailContents + ); + } + $loginLink = kConf::get('login_link','sso'); - $bodyParams = array($kuser->getFullName(), $partnerId, $loginLink, $kuser->getEmail(), $partnerId, $publisherName, $publisherName, $kuser->getUserRoleNames(), $publisherName, $kuser->getPuserId()); + $bodyParams = array($userName, $partnerId, $loginLink, $loginEmail, $partnerId, $publisherName, $publisherName, $roleNames, $publisherName, $puserId); - $job = kJobsManager::addMailJob( + return kJobsManager::addMailJob( null, 0, $kuser->getPartnerId(), @@ -84,8 +124,6 @@ public static function addSsoMailJob($partner, $kuser, $mailType) $kuser->getEmail(), $bodyParams ); - - return $job; } public static function verify2FACode($loginData, $otp) diff --git a/alpha/apps/kaltura/lib/kAuthManager.php b/alpha/apps/kaltura/lib/kAuthManager.php index 2d723009a5..bf31847669 100644 --- a/alpha/apps/kaltura/lib/kAuthManager.php +++ b/alpha/apps/kaltura/lib/kAuthManager.php @@ -79,10 +79,16 @@ public function objectChanged(BaseObject $object, array $modifiedColumns) protected static function handleSsoMail($object, $adminKuser) { - $job = authenticationUtils::addSsoMailJob($object, $adminKuser, kuserPeer::KALTURA_EXISTING_USER_ENABLE_SSO_EMAIL); - if(!$job) + try + { + if(!authenticationUtils::addSsoMailJob($object, $adminKuser, kuserPeer::KALTURA_EXISTING_USER_ENABLE_SSO_EMAIL)) + { + KalturaLog::warning('SSO Mail Job was not added'); + } + } + catch(Exception $e) { - KalturaLog::warning('Mail Job was not added'); + KalturaLog::err('Error adding SSO Mail Job ' . $e->getMessage()); } } diff --git a/alpha/lib/model/kuserPeer.php b/alpha/lib/model/kuserPeer.php index 4e42034995..222acedbf4 100644 --- a/alpha/lib/model/kuserPeer.php +++ b/alpha/lib/model/kuserPeer.php @@ -662,6 +662,8 @@ public static function sendNewUserMail(kuser $user, $existingUser) $quickStartGuideLink); if ($roleNameToUseDynamicEmailTemplate) { + $appLink = kEmails::getDynamicTemplateBaseLink($roleNames, 'dynamic_email_app_link'); + $loginLink = kEmails::getDynamicTemplateBaseLink($roleNames, 'dynamic_email_login_link'); $associativeBodyParams = array( kEmails::TAG_AUTH_TYPE => $authType, kEmails::TAG_EXISTING_USER => $existingUser, @@ -674,13 +676,12 @@ public static function sendNewUserMail(kuser $user, $existingUser) kEmails::TAG_ROLE_NAME => $roleNameToUseDynamicEmailTemplate, kEmails::TAG_PUSER_ID => $puserId, kEmails::TAG_KMC_LINK => $kmcLink, + kEmails::TAG_APP_LINK => $appLink, kEmails::TAG_CONTACT_LINK => $contactLink, kEmails::TAG_BEGINNERS_GUID_LINK => $beginnersGuideLink, - kEmails::TAG_QUICK_START_GUID_LINK => $quickStartGuideLink); - if ($authType == PartnerAuthenticationType::SSO) - { - $associativeBodyParams[kEmails::TAG_LOGIN_LINK] = $bodyParams[3]; - } + kEmails::TAG_QUICK_START_GUID_LINK => $quickStartGuideLink, + kEmails::TAG_LOGIN_LINK => $loginLink + ); } } diff --git a/infra/general/kEmails.php b/infra/general/kEmails.php index ce07bf90b1..413f5376bb 100644 --- a/infra/general/kEmails.php +++ b/infra/general/kEmails.php @@ -15,6 +15,7 @@ class kEmails const TAG_PARTNER_ID = '@partnerId@'; const TAG_PUSER_ID = '@puserId@'; const TAG_KMC_LINK = '@kmcLink@'; + const TAG_APP_LINK = '@appLink@'; const TAG_CONTACT_LINK = '@contactLink@'; const TAG_BEGINNERS_GUID_LINK = '@beginnersGuideLink@'; const TAG_QUICK_START_GUID_LINK = '@quickStartGuideLink@'; From 8db0af73bb0f2d033ff180eefbed61dba4821a75 Mon Sep 17 00:00:00 2001 From: Salma Date: Wed, 14 Feb 2024 13:10:22 +0200 Subject: [PATCH 2/2] PLAT-24609 add additional dynamic email contents --- infra/general/kEmails.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infra/general/kEmails.php b/infra/general/kEmails.php index 413f5376bb..01265f45ce 100644 --- a/infra/general/kEmails.php +++ b/infra/general/kEmails.php @@ -15,7 +15,7 @@ class kEmails const TAG_PARTNER_ID = '@partnerId@'; const TAG_PUSER_ID = '@puserId@'; const TAG_KMC_LINK = '@kmcLink@'; - const TAG_APP_LINK = '@appLink@'; + const TAG_APP_LINK = '@appLink@'; const TAG_CONTACT_LINK = '@contactLink@'; const TAG_BEGINNERS_GUID_LINK = '@beginnersGuideLink@'; const TAG_QUICK_START_GUID_LINK = '@quickStartGuideLink@';