Fix rendering shortcodes in subject

[MAILPOET-3333]
This commit is contained in:
Pavel Dohnal
2020-12-02 15:41:53 +01:00
committed by Veljko V
parent 3af2ffbbb4
commit 56d7cd1398
4 changed files with 22 additions and 8 deletions

View File

@@ -34,18 +34,21 @@ class Subscriber implements CategoryInterface {
string $content = '',
bool $wpUserPreview = false
): ?string {
if (!($subscriber instanceof SubscriberEntity)) {
return $shortcodeDetails['shortcode'];
}
$defaultValue = ($shortcodeDetails['action_argument'] === 'default') ?
$shortcodeDetails['action_argument_value'] :
'';
switch ($shortcodeDetails['action']) {
case 'firstname':
return (($subscriber instanceof SubscriberEntity) && !empty($subscriber->getFirstName())) ? $subscriber->getFirstName() : $defaultValue;
return (!empty($subscriber->getFirstName())) ? $subscriber->getFirstName() : $defaultValue;
case 'lastname':
return (($subscriber instanceof SubscriberEntity) && !empty($subscriber->getLastName())) ? $subscriber->getLastName() : $defaultValue;
return !empty($subscriber->getLastName()) ? $subscriber->getLastName() : $defaultValue;
case 'email':
return ($subscriber instanceof SubscriberEntity) ? $subscriber->getEmail() : $defaultValue;
return $subscriber->getEmail();
case 'displayname':
if (($subscriber instanceof SubscriberEntity) && $subscriber->getWpUserId()) {
if ($subscriber->getWpUserId()) {
$wpUser = WPFunctions::get()->getUserdata($subscriber->getWpUserId());
return $wpUser->user_login; // phpcs:ignore Squiz.NamingConventions.ValidVariableName.NotCamelCaps
}