pluginDescription;
}
public function textPopup(): void
{
$links = [
'readonline' => [
'default' => acym_translation('ACYM_VIEW_ONLINE', true),
'desc' => acym_translation('ACYM_VIEW_ONLINE_DESC'),
],
'modify_profile' => [
'default' => acym_translation('ACYM_MODIFY_MY_PROFILE', true),
'desc' => acym_translation('ACYM_MODIFY_PROFILE_DESC'),
'disabled' => (ACYM_CMS === 'joomla' && empty(acym_getPageLink('view=frontusers&layout=profile'))),
'tooltip' => acym_translation('ACYM_NO_PROFILE_MENU'),
],
];
$information = [];
if (ACYM_CMS === 'joomla') {
$baseUrlValue = ACYM_J50 ? \Joomla\CMS\Uri\Uri::root() : JURI::root();
$information = [
'site_name' => [
'label' => acym_translation('ACYM_SITE_NAME'),
'value' => acym_getCMSConfig('sitename'),
],
'base_url' => [
'label' => ucfirst(acym_translationSprintf('ACYM_X_URL', ACYM_CMS)),
'value' => $baseUrlValue,
],
];
} elseif (ACYM_CMS === 'wordpress') {
$information = [
'site_name' => [
'label' => acym_translation('ACYM_SITE_NAME'),
'value' => acym_getCMSConfig('sitename'),
],
'wp_address' => [
'label' => ucfirst(acym_translationSprintf('ACYM_X_ADDRESS', ACYM_CMS)),
'value' => acym_getCMSConfig('siteurl'),
],
'site_address' => [
'label' => acym_translation('ACYM_SITE_URL'),
'value' => acym_getCMSConfig('home'),
],
'tagline' => [
'label' => acym_translation('ACYM_TAGLINE'),
'value' => acym_getCMSConfig('blogdescription'),
],
'site_icon' => [
'label' => acym_translation('ACYM_SITE_ICON'),
'value' => get_site_icon_url(),
],
'admin_email' => [
'label' => acym_translation('ACYM_ADMIN_EMAIL'),
'value' => acym_getCMSConfig('admin_email'),
],
];
}
?>
body)) return;
$tags = $this->replaceInformationTags($email);
$match = '#(?:{|%7B)(modify_profile|readonline(?:\|[^}]+)?)(?:}|%7D)(.*)(?:{|%7B)/(readonline|modify_profile)(?:}|%7D)#Uis';
$results = [];
$found = preg_match_all($match, $email->body, $results);
if (!$found && empty($tags)) {
return;
};
foreach ($results[0] as $i => $oneTag) {
if (isset($tags[$oneTag])) continue;
if (strpos($oneTag, 'modify_profile') !== false) {
if (ACYM_CMS === 'joomla') {
$link = acym_getPageLink('view=frontusers&layout=profile');
$link .= (strpos($link, '?') === false ? '?' : '&').acym_noTemplate();
} else {
$link = acym_frontendLink('frontusers&task=profile');
}
$link .= strpos($link, '?') === false ? '?' : '&';
$link .= 'id={subscriber:id}&key={subscriber:key}';
$link .= $this->getLanguage($email->links_language);
} else {
$link = 'archive&task=view&id='.$email->id.'&userid={subscriber:id}-{subscriber:key}';
if (strpos($results[1][$i], 'theme:1') === false) {
$link .= '&'.acym_noTemplate();
}
if (!empty($email->key)) {
$link .= '&key='.$email->key;
}
$link .= $this->getLanguage($email->links_language);
$link = acym_frontendLink($link);
}
if (empty($results[2][$i])) {
$tags[$oneTag] = $link;
} else {
$tags[$oneTag] = ''.$results[2][$i].'';
}
}
$this->pluginHelper->replaceTags($email, $tags);
}
private function replaceInformationTags(&$email): array
{
$match = '#\{info:([a-z_]+)\}(.*?)\{\/info\}#is';
$extractedTags = [];
$found = preg_match_all($match, $email->body, $extractedTags);
$tags = [];
if (!$found) {
return $tags;
}
foreach ($extractedTags[0] as $i => $fullMatch) {
$content = $extractedTags[2][$i];
if (acym_isValidEmail($content)) {
$fieldValue = ''.esc_html($content).'';
} elseif (acym_isValidUrl($content)) {
if (acym_isImageUrl($content)) {
$fieldValue = '
';
} else {
$fieldValue = ''.esc_html(
$content
).'';
}
} else {
$fieldValue = $content;
}
$tags[$fullMatch] = $fieldValue;
}
return $tags;
}
}