/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.wiki.web.internal.display.context.logic;
import com.liferay.portal.kernel.language.LanguageUtil;
import com.liferay.portal.kernel.model.Company;
import com.liferay.portal.kernel.util.AggregateResourceBundle;
import com.liferay.portal.kernel.util.HtmlUtil;
import com.liferay.portal.kernel.util.ResourceBundleUtil;
import com.liferay.portal.language.LanguageResources;
import com.liferay.wiki.configuration.WikiGroupServiceOverriddenConfiguration;
import com.liferay.wiki.web.internal.display.context.util.WikiRequestHelper;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.ResourceBundle;
/**
* @author Iván Zaera
*/
public class MailTemplatesHelper {
public MailTemplatesHelper(WikiRequestHelper wikiRequestHelper) {
_wikiRequestHelper = wikiRequestHelper;
_wikiGroupServiceOverriddenConfiguration =
wikiRequestHelper.getWikiGroupServiceOverriddenConfiguration();
}
public Map<String, String> getEmailFromDefinitionTerms() {
Map<String, String> definitionTerms = new LinkedHashMap<>();
ResourceBundle resourceBundle = getResourceBundle();
definitionTerms.put(
"[$COMPANY_ID$]",
LanguageUtil.get(
resourceBundle, "the-company-id-associated-with-the-wiki"));
definitionTerms.put(
"[$COMPANY_MX$]",
LanguageUtil.get(
resourceBundle, "the-company-mx-associated-with-the-wiki"));
definitionTerms.put(
"[$COMPANY_NAME$]",
LanguageUtil.get(
resourceBundle, "the-company-name-associated-with-the-wiki"));
definitionTerms.put(
"[$PAGE_USER_ADDRESS$]",
LanguageUtil.get(
resourceBundle,
"the-email-address-of-the-user-who-added-the-page"));
definitionTerms.put(
"[$PAGE_USER_NAME$]",
LanguageUtil.get(resourceBundle, "the-user-who-added-the-page"));
definitionTerms.put(
"[$PORTLET_NAME$]",
HtmlUtil.escape(_wikiRequestHelper.getPortletTitle()));
definitionTerms.put(
"[$SITE_NAME$]",
LanguageUtil.get(
resourceBundle, "the-site-name-associated-with-the-wiki"));
return definitionTerms;
}
public Map<String, String> getEmailNotificationDefinitionTerms() {
Map<String, String> definitionTerms = new LinkedHashMap<>();
ResourceBundle resourceBundle = getResourceBundle();
definitionTerms.put(
"[$COMPANY_ID$]",
LanguageUtil.get(
resourceBundle, "the-company-id-associated-with-the-wiki"));
definitionTerms.put(
"[$COMPANY_MX$]",
LanguageUtil.get(
resourceBundle, "the-company-mx-associated-with-the-wiki"));
definitionTerms.put(
"[$COMPANY_NAME$]",
LanguageUtil.get(
resourceBundle, "the-company-name-associated-with-the-wiki"));
definitionTerms.put(
"[$DIFFS_URL$]",
LanguageUtil.get(
resourceBundle,
"the-url-of-the-page-comparing-this-page-content-with-the-" +
"previous-version"));
definitionTerms.put(
"[$FROM_ADDRESS$]",
HtmlUtil.escape(
_wikiGroupServiceOverriddenConfiguration.emailFromAddress()));
definitionTerms.put(
"[$FROM_NAME$]",
HtmlUtil.escape(
_wikiGroupServiceOverriddenConfiguration.emailFromName()));
definitionTerms.put(
"[$NODE_NAME$]",
LanguageUtil.get(
resourceBundle, "the-node-in-which-the-page-was-added"));
definitionTerms.put(
"[$PAGE_CONTENT$]",
LanguageUtil.get(resourceBundle, "the-page-content"));
definitionTerms.put(
"[$PAGE_DATE_UPDATE$]",
LanguageUtil.get(resourceBundle, "the-date-of-the-modifications"));
definitionTerms.put(
"[$PAGE_DIFFS$]",
LanguageUtil.get(
resourceBundle,
"the-page-content-compared-with-the-previous-version-page-" +
"content"));
definitionTerms.put(
"[$PAGE_ID$]", LanguageUtil.get(resourceBundle, "the-page-id"));
definitionTerms.put(
"[$PAGE_SUMMARY$]",
LanguageUtil.get(
resourceBundle,
"the-summary-of-the-page-or-the-modifications"));
definitionTerms.put(
"[$PAGE_TITLE$]",
LanguageUtil.get(resourceBundle, "the-page-title"));
definitionTerms.put(
"[$PAGE_URL$]", LanguageUtil.get(resourceBundle, "the-page-url"));
definitionTerms.put(
"[$PAGE_USER_ADDRESS$]",
LanguageUtil.get(
resourceBundle,
"the-email-address-of-the-user-who-added-the-page"));
definitionTerms.put(
"[$PAGE_USER_NAME$]",
LanguageUtil.get(resourceBundle, "the-user-who-added-the-page"));
Company company = _wikiRequestHelper.getCompany();
definitionTerms.put("[$PORTAL_URL$]", company.getVirtualHostname());
definitionTerms.put(
"[$PORTLET_NAME$]", _wikiRequestHelper.getPortletTitle());
definitionTerms.put(
"[$SITE_NAME$]",
LanguageUtil.get(
resourceBundle, "the-site-name-associated-with-the-wiki"));
definitionTerms.put(
"[$TO_ADDRESS$]",
LanguageUtil.get(
resourceBundle, "the-address-of-the-email-recipient"));
definitionTerms.put(
"[$TO_NAME$]",
LanguageUtil.get(
resourceBundle, "the-name-of-the-email-recipient"));
return definitionTerms;
}
protected ResourceBundle getResourceBundle() {
ResourceBundle bundleResourceBundle = ResourceBundleUtil.getBundle(
"content.Language", _wikiRequestHelper.getLocale(), getClass());
ResourceBundle portalResourceBundle =
LanguageResources.getResourceBundle(_wikiRequestHelper.getLocale());
return new AggregateResourceBundle(
bundleResourceBundle, portalResourceBundle);
}
private final WikiGroupServiceOverriddenConfiguration
_wikiGroupServiceOverriddenConfiguration;
private final WikiRequestHelper _wikiRequestHelper;
}