All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.liferay.wiki.web.display.context.logic.MailTemplatesHelper Maven / Gradle / Ivy

There is a newer version: 2.1.6
Show newest version
/**
 * 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.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.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 getEmailFromDefinitionTerms() {
		Map 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 getEmailNotificationDefinitionTerms() {
		Map 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;

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy