Skip to content

Commit ed87fdd

Browse files
authored
Merge pull request #1236 from johnhenley/issues/email-links-1235
FIX: Issues with email notifications
2 parents bc31c27 + a9b2711 commit ed87fdd

File tree

5 files changed

+11
-35
lines changed

5 files changed

+11
-35
lines changed

Dnn.CommunityForums/CustomControls/UserControls/TopicView.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class TopicView : ForumBase
7373

7474
public string OptDefaultSort { get; set; }
7575

76-
public string MetaTemplate { get; set; } = "[META][TITLE][FORUMTOPIC:SUBJECT] - [PORTAL:PORTALNAME] - [TAB:TITLE] - [FORUMGROUP:GROUPNAME] - [FORUM:FORUMNAME][/TITLE][DESCRIPTION][BODY:255][/DESCRIPTION][KEYWORDS][TAGS][VALUE][/KEYWORDS][/META]";
76+
public string MetaTemplate { get; set; } = "[META][TITLE][FORUMTOPIC:SUBJECT] - [PORTAL:PORTALNAME] - [TAB:TITLE] - [FORUMGROUP:GROUPNAME] - [FORUM:FORUMNAME][/TITLE][DESCRIPTION][FORUMTOPIC:BODY:255][/DESCRIPTION][KEYWORDS][TAGS][VALUE][/KEYWORDS][/META]";
7777

7878
public string MetaTitle { get; set; } = string.Empty;
7979

Dnn.CommunityForums/CustomControls/UserControls/TopicsView.cs

+1-31
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public class TopicsView : ForumBase
5555
private bool isSubscribedForum;
5656
private bool useListActions;
5757

58-
public string MetaTemplate { get; set; } = "[META][TITLE][PORTAL:PORTALNAME] - [TAB:TITLE] - [FORUMGROUP:GROUPNAME] - [FORUM:FORUMNAME][/TITLE][DESCRIPTION][BODY][/DESCRIPTION][KEYWORDS][VALUE][/KEYWORDS][/META]";
58+
public string MetaTemplate { get; set; } = "[META][TITLE][PORTAL:PORTALNAME] - [TAB:TITLE] - [FORUMGROUP:GROUPNAME] - [FORUM:FORUMNAME][/TITLE][DESCRIPTION][FORUM:FORUMDESCRIPTION][/DESCRIPTION][KEYWORDS][VALUE][/KEYWORDS][/META]";
5959

6060
public string MetaTitle { get; set; } = string.Empty;
6161

@@ -229,36 +229,6 @@ protected override void OnLoad(EventArgs e)
229229
{
230230
this.MetaTemplate = DotNetNuke.Modules.ActiveForums.Services.Tokens.TokenReplacer.RemoveObsoleteTokens(new StringBuilder( this.MetaTemplate)).ToString();
231231
this.MetaTemplate = DotNetNuke.Modules.ActiveForums.Services.Tokens.TokenReplacer.ReplaceForumTokens(new StringBuilder(this.MetaTemplate), this.ForumInfo, this.PortalSettings, this.MainSettings, new Services.URLNavigator().NavigationManager(), this.ForumUser, this.TabId, this.ForumUser.CurrentUserType, this.Request.Url, this.Request.RawUrl).ToString();
232-
this.MetaTemplate = this.MetaTemplate.Replace("[TAGS]", string.Empty);
233-
if (this.MetaTemplate.Contains("[TOPICSUBJECT:"))
234-
{
235-
string pattern = "(\\[TOPICSUBJECT:(.+?)\\])";
236-
foreach (Match m in RegexUtils.GetCachedRegex(pattern, RegexOptions.Compiled & RegexOptions.IgnoreCase, 2).Matches(this.MetaTemplate))
237-
{
238-
this.MetaTemplate = this.MetaTemplate.Replace(m.Value, string.Empty);
239-
}
240-
}
241-
242-
this.MetaTemplate = this.MetaTemplate.Replace("[TOPICSUBJECT]", string.Empty);
243-
if (this.MetaTemplate.Contains("[BODY:"))
244-
{
245-
string pattern = "(\\[BODY:(.+?)\\])";
246-
foreach (Match m in RegexUtils.GetCachedRegex(pattern, RegexOptions.Compiled & RegexOptions.IgnoreCase, 2).Matches(this.MetaTemplate))
247-
{
248-
int iLen = Convert.ToInt32(m.Groups[2].Value);
249-
if (this.ForumInfo.ForumDesc.Length > iLen)
250-
{
251-
this.MetaTemplate = this.MetaTemplate.Replace(m.Value, this.ForumInfo.ForumDesc.Substring(0, iLen) + "...");
252-
}
253-
else
254-
{
255-
this.MetaTemplate = this.MetaTemplate.Replace(m.Value, this.ForumInfo.ForumDesc);
256-
}
257-
}
258-
}
259-
260-
this.MetaTemplate = this.MetaTemplate.Replace("[BODY]", Utilities.StripHTMLTag(this.ForumInfo.ForumDesc));
261-
262232
this.MetaTitle = TemplateUtils.GetTemplateSection(this.MetaTemplate, "[TITLE]", "[/TITLE]").Replace("[TITLE]", string.Empty).Replace("[/TITLE]", string.Empty);
263233
this.MetaTitle = this.MetaTitle.TruncateAtWord(SEOConstants.MaxMetaTitleLength);
264234
this.MetaDescription = TemplateUtils.GetTemplateSection(this.MetaTemplate, "[DESCRIPTION]", "[/DESCRIPTION]").Replace("[DESCRIPTION]", string.Empty).Replace("[/DESCRIPTION]", string.Empty);

Dnn.CommunityForums/Services/Tokens/TokenReplacer.cs

+2
Original file line numberDiff line numberDiff line change
@@ -947,6 +947,8 @@ internal static StringBuilder MapLegacyEmailNotificationTokenSynonyms(StringBuil
947947
template = ReplaceLegacyTokenWithFormatString(template, portalSettings, language, "[MODLINK]", "[FORUM:MODLINK", "[MODLINK]");
948948
template = ReplaceLegacyTokenWithFormatString(template, portalSettings, language, "[LINK]", "[FORUMPOST:LINK", "[LINK]");
949949
template = ReplaceLegacyTokenWithFormatString(template, portalSettings, language, "[HYPERLINK]", "[FORUMPOST:LINK", "[LINK]");
950+
template = ReplaceTokenSynonym(template, "[SUBJECT]", "[FORUMPOST:SUBJECT]");
951+
template = ReplaceTokenSynonym(template, "[SUBJECTLINK]", "[FORUMPOST:SUBJECTLINK]");
950952
template = ReplaceTokenSynonym(template, "[LINKURL]", "[FORUMPOST:LINK]");
951953
template = ReplaceTokenSynonym(template, "[FORUMLINK]", "[FORUM:FORUMLINK]");
952954

Dnn.CommunityForums/class/Settings.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,10 @@ public int DefaultPermissionId
300300

301301
public string DefaultSettingsKey
302302
{
303-
get { return this.MainSettings.GetString(SettingKeys.DefaultSettingsKey); }
303+
get
304+
{
305+
return this.MainSettings.GetString(SettingKeys.DefaultSettingsKey) ?? $"M:{this.ModuleId}";
306+
}
304307
}
305308

306309
public FeatureSettings ForumFeatureSettings

Dnn.CommunityForums/components/Controls/ControlUtils.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,9 @@ public string BuildUrl(int portalId, int tabId, int moduleId, string groupPrefix
163163
return Utilities.NavigateURL(tabId, portalSettings, string.Empty, @params.ToArray());
164164
}
165165

166-
var sURL = string.Empty;
167-
if (!string.IsNullOrEmpty(mainSettings.PrefixURLBase))
166+
var sURL = Utilities.NavigateURL(tabId, portalSettings, string.Empty, @params.ToArray());
167+
var tabInfo = DotNetNuke.Entities.Tabs.TabController.Instance.GetTab(tabId, portalId);
168+
if (!string.IsNullOrEmpty(mainSettings.PrefixURLBase) && !mainSettings.PrefixURLBase.Trim().Equals(tabInfo.TabName.Trim(), StringComparison.InvariantCultureIgnoreCase))
168169
{
169170
sURL += "/" + mainSettings.PrefixURLBase;
170171
}

0 commit comments

Comments
 (0)