/**
* 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.content.targeting.analytics.util;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.PrefsPropsUtil;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.kernel.util.UnicodeProperties;
import com.liferay.portal.model.Group;
import com.liferay.portal.service.GroupLocalServiceUtil;
/**
* @author Eduardo Garcia
*/
public class AnalyticsUtil {
public static String getAnalyticsFormExcludedIdsRegex(long groupId) {
return _getString(
groupId, "content.targeting.analytics.form.excluded.ids.regex",
StringPool.BLANK);
}
public static String getAnalyticsLinkExcludedIdsRegex(long groupId) {
return _getString(
groupId, "content.targeting.analytics.link.excluded.ids.regex",
StringPool.BLANK);
}
public static Boolean isAnalyticsContentEnabled(long groupId) {
return _getBoolean(
groupId, "content.targeting.analytics.content.enabled", true);
}
public static Boolean isAnalyticsFormEnabled(long groupId) {
return _getBoolean(
groupId, "content.targeting.analytics.form.enabled", false);
}
public static Boolean isAnalyticsFormInteractEnabled(long groupId) {
if (!isAnalyticsFormEnabled(groupId)) {
return false;
}
return _getBoolean(
groupId, "content.targeting.analytics.form.interact.enabled",
false);
}
public static Boolean isAnalyticsFormSubmitEnabled(long groupId) {
if (!isAnalyticsFormEnabled(groupId)) {
return false;
}
return _getBoolean(
groupId, "content.targeting.analytics.form.submit.enabled", false);
}
public static Boolean isAnalyticsFormViewEnabled(long groupId) {
if (!isAnalyticsFormEnabled(groupId)) {
return false;
}
return _getBoolean(
groupId, "content.targeting.analytics.form.view.enabled", false);
}
public static Boolean isAnalyticsLinkClickEnabled(long groupId) {
if (!isAnalyticsLinkEnabled(groupId)) {
return false;
}
return _getBoolean(
groupId, "content.targeting.analytics.link.click.enabled", false);
}
public static Boolean isAnalyticsLinkEnabled(long groupId) {
return _getBoolean(
groupId, "content.targeting.analytics.link.enabled", false);
}
public static Boolean isAnalyticsPageEnabled(long groupId) {
return _getBoolean(
groupId, "content.targeting.analytics.page.enabled", true);
}
public static Boolean isAnalyticsYoutubeEnabled(long groupId) {
return _getBoolean(
groupId, "content.targeting.analytics.youtube.enabled", false);
}
private static Boolean _getBoolean(
long groupId, String key, boolean defaultValue) {
try {
Group group = GroupLocalServiceUtil.getGroup(groupId);
UnicodeProperties typeSettingsProperties =
group.getParentLiveGroupTypeSettingsProperties();
boolean companyValue = PrefsPropsUtil.getBoolean(
group.getCompanyId(), key);
if (!companyValue) {
return false;
}
return GetterUtil.getBoolean(
typeSettingsProperties.getProperty(key), companyValue);
}
catch (Exception e) {
return defaultValue;
}
}
private static String _getString(
long groupId, String key, String defaultValue) {
try {
Group group = GroupLocalServiceUtil.getGroup(groupId);
UnicodeProperties typeSettingsProperties =
group.getParentLiveGroupTypeSettingsProperties();
String companyValue = PrefsPropsUtil.getString(
group.getCompanyId(), key);
return GetterUtil.getString(
typeSettingsProperties.getProperty(key), companyValue);
}
catch (Exception e) {
return defaultValue;
}
}
}