001
014
015 package com.liferay.portal.kernel.theme;
016
017 import aQute.bnd.annotation.ProviderType;
018
019 import com.liferay.admin.kernel.util.PortalMyAccountApplicationType;
020 import com.liferay.exportimport.kernel.staging.StagingUtil;
021 import com.liferay.mobile.device.rules.kernel.MDRRuleGroupInstance;
022 import com.liferay.portal.kernel.exception.PortalException;
023 import com.liferay.portal.kernel.json.JSON;
024 import com.liferay.portal.kernel.language.LanguageUtil;
025 import com.liferay.portal.kernel.log.Log;
026 import com.liferay.portal.kernel.log.LogFactoryUtil;
027 import com.liferay.portal.kernel.mobile.device.Device;
028 import com.liferay.portal.kernel.model.Account;
029 import com.liferay.portal.kernel.model.ColorScheme;
030 import com.liferay.portal.kernel.model.Company;
031 import com.liferay.portal.kernel.model.Contact;
032 import com.liferay.portal.kernel.model.Group;
033 import com.liferay.portal.kernel.model.Layout;
034 import com.liferay.portal.kernel.model.LayoutSet;
035 import com.liferay.portal.kernel.model.LayoutTypePortlet;
036 import com.liferay.portal.kernel.model.Theme;
037 import com.liferay.portal.kernel.model.ThemeSetting;
038 import com.liferay.portal.kernel.model.User;
039 import com.liferay.portal.kernel.portlet.PortletProvider;
040 import com.liferay.portal.kernel.portlet.PortletProviderUtil;
041 import com.liferay.portal.kernel.security.permission.PermissionChecker;
042 import com.liferay.portal.kernel.service.GroupLocalServiceUtil;
043 import com.liferay.portal.kernel.service.LayoutLocalServiceUtil;
044 import com.liferay.portal.kernel.util.Http;
045 import com.liferay.portal.kernel.util.HttpUtil;
046 import com.liferay.portal.kernel.util.LocaleThreadLocal;
047 import com.liferay.portal.kernel.util.Mergeable;
048 import com.liferay.portal.kernel.util.PortalUtil;
049 import com.liferay.portal.kernel.util.PortletKeys;
050 import com.liferay.portal.kernel.util.StringPool;
051 import com.liferay.portal.kernel.util.TimeZoneThreadLocal;
052 import com.liferay.portal.kernel.util.Validator;
053
054 import java.io.Serializable;
055
056 import java.util.List;
057 import java.util.Locale;
058 import java.util.Map;
059 import java.util.Properties;
060 import java.util.TimeZone;
061
062 import javax.portlet.PortletRequest;
063 import javax.portlet.PortletURL;
064
065 import javax.servlet.http.HttpServletRequest;
066 import javax.servlet.http.HttpServletResponse;
067
068
090 @JSON
091 @ProviderType
092 public class ThemeDisplay
093 implements Cloneable, Mergeable<ThemeDisplay>, Serializable {
094
095 public ThemeDisplay() {
096 if (_log.isDebugEnabled()) {
097 _log.debug("Creating new instance " + hashCode());
098 }
099
100 _portletDisplay.setThemeDisplay(this);
101 }
102
103 @Override
104 public Object clone() throws CloneNotSupportedException {
105 ThemeDisplay themeDisplay = (ThemeDisplay)super.clone();
106
107 PortletDisplay portletDisplay = new PortletDisplay();
108
109 _portletDisplay.copyTo(portletDisplay);
110
111 themeDisplay._portletDisplay = portletDisplay;
112
113 portletDisplay.setThemeDisplay(themeDisplay);
114
115 return themeDisplay;
116 }
117
118 public Account getAccount() {
119 return _account;
120 }
121
122
132 public String getCDNBaseURL() {
133 if (_cdnBaseURL != null) {
134 return _cdnBaseURL;
135 }
136
137 String host = getCDNHost();
138
139 if (Validator.isNull(host)) {
140 String portalURL = getPortalURL();
141
142 try {
143 portalURL = PortalUtil.getPortalURL(getLayout(), this);
144 }
145 catch (Exception e) {
146 _log.error(e, e);
147 }
148
149 host = portalURL;
150 }
151
152 _cdnBaseURL = host;
153
154 return _cdnBaseURL;
155 }
156
157
168 public String getCDNDynamicResourcesHost() {
169 return _cdnDynamicResourcesHost;
170 }
171
172 public String getCDNHost() {
173 return _cdnHost;
174 }
175
176 public ColorScheme getColorScheme() {
177 return _colorScheme;
178 }
179
180
187 public String getColorSchemeId() {
188 return _colorScheme.getColorSchemeId();
189 }
190
191
200 public Company getCompany() {
201 return _company;
202 }
203
204 public long getCompanyGroupId() {
205 return _companyGroupId;
206 }
207
208
217 public long getCompanyId() {
218 return _company.getCompanyId();
219 }
220
221
230 public String getCompanyLogo() {
231 return _companyLogo;
232 }
233
234
243 public int getCompanyLogoHeight() {
244 return _companyLogoHeight;
245 }
246
247
256 public int getCompanyLogoWidth() {
257 return _companyLogoWidth;
258 }
259
260 public Contact getContact() {
261 return _contact;
262 }
263
264
269 public User getDefaultUser() throws PortalException {
270 if (_defaultUser == null) {
271 _defaultUser = _company.getDefaultUser();
272 }
273
274 return _defaultUser;
275 }
276
277
282 public long getDefaultUserId() throws PortalException {
283 return getDefaultUser().getUserId();
284 }
285
286
292 public Device getDevice() {
293 return _device;
294 }
295
296 public long getDoAsGroupId() {
297 return _doAsGroupId;
298 }
299
300
308 public String getDoAsUserId() {
309 return _doAsUserId;
310 }
311
312 public String getDoAsUserLanguageId() {
313 return _doAsUserLanguageId;
314 }
315
316 public String getFacebookCanvasPageURL() {
317 return _facebookCanvasPageURL;
318 }
319
320
333 public String getI18nLanguageId() {
334 return _i18nLanguageId;
335 }
336
337
349 public String getI18nPath() {
350 return _i18nPath;
351 }
352
353
366 public String getLanguageId() {
367 return _languageId;
368 }
369
370
379 public Layout getLayout() {
380 return _layout;
381 }
382
383
392 public List<Layout> getLayouts() {
393 return _layouts;
394 }
395
396
408 public LayoutSet getLayoutSet() {
409 return _layoutSet;
410 }
411
412
419 public String getLayoutSetLogo() {
420 return _layoutSetLogo;
421 }
422
423 public LayoutTypePortlet getLayoutTypePortlet() {
424 return _layoutTypePortlet;
425 }
426
427
447 public String getLifecycle() {
448 return _lifecycle;
449 }
450
451
456 public Locale getLocale() {
457 return _locale;
458 }
459
460 public MDRRuleGroupInstance getMDRRuleGroupInstance() {
461 return _mdrRuleGroupInstance;
462 }
463
464 public String getPathApplet() {
465 return _pathApplet;
466 }
467
468 public String getPathCms() {
469 return _pathCms;
470 }
471
472
478 public String getPathColorSchemeImages() {
479 return _pathColorSchemeImages;
480 }
481
482 public String getPathContext() {
483 return _pathContext;
484 }
485
486 public String getPathFlash() {
487 return _pathFlash;
488 }
489
490
496 public String getPathFriendlyURLPrivateGroup() {
497 return _pathFriendlyURLPrivateGroup;
498 }
499
500
506 public String getPathFriendlyURLPrivateUser() {
507 return _pathFriendlyURLPrivateUser;
508 }
509
510
516 public String getPathFriendlyURLPublic() {
517 return _pathFriendlyURLPublic;
518 }
519
520
526 public String getPathImage() {
527 return _pathImage;
528 }
529
530
535 public String getPathJavaScript() {
536 return _pathJavaScript;
537 }
538
539
545 public String getPathMain() {
546 return _pathMain;
547 }
548
549 public String getPathSound() {
550 return _pathSound;
551 }
552
553
558 public String getPathThemeCss() {
559 return _pathThemeCss;
560 }
561
562
567 public String getPathThemeImages() {
568 return _pathThemeImages;
569 }
570
571
576 public String getPathThemeJavaScript() {
577 return _pathThemeJavaScript;
578 }
579
580
585 public String getPathThemeRoot() {
586 return _pathThemeRoot;
587 }
588
589
594 public String getPathThemeTemplates() {
595 return _pathThemeTemplates;
596 }
597
598
604 @JSON(include = false)
605 public PermissionChecker getPermissionChecker() {
606 return _permissionChecker;
607 }
608
609
619 public long getPlid() {
620 return _plid;
621 }
622
623
630 public String getPortalURL() {
631 return _portalURL;
632 }
633
634 @JSON(include = false)
635 public PortletDisplay getPortletDisplay() {
636 return _portletDisplay;
637 }
638
639 public String getPpid() {
640 return _ppid;
641 }
642
643 public String getProtocol() {
644 return HttpUtil.getProtocol(_secure);
645 }
646
647 public String getRealCompanyLogo() {
648 return _realCompanyLogo;
649 }
650
651 public int getRealCompanyLogoHeight() {
652 return _realCompanyLogoHeight;
653 }
654
655 public int getRealCompanyLogoWidth() {
656 return _realCompanyLogoWidth;
657 }
658
659
667 public User getRealUser() {
668 return _realUser;
669 }
670
671
677 public long getRealUserId() {
678 return _realUser.getUserId();
679 }
680
681 public Group getRefererGroup() {
682 return _refererGroup;
683 }
684
685 public long getRefererGroupId() {
686 return _refererGroupId;
687 }
688
689 public long getRefererPlid() {
690 return _refererPlid;
691 }
692
693
698 @JSON(include = false)
699 public HttpServletRequest getRequest() {
700 return _request;
701 }
702
703
708 @JSON(include = false)
709 public HttpServletResponse getResponse() {
710 return _response;
711 }
712
713
718 public Group getScopeGroup() {
719 return _scopeGroup;
720 }
721
722
727 public long getScopeGroupId() {
728 return _scopeGroupId;
729 }
730
731
736 public String getScopeGroupName() throws PortalException {
737 if (_scopeGroup == null) {
738 return StringPool.BLANK;
739 }
740
741 return _scopeGroup.getDescriptiveName();
742 }
743
744 public Layout getScopeLayout() throws PortalException {
745 if (_layout.hasScopeGroup()) {
746 return _layout;
747 }
748 else if (_scopeGroup.isLayout()) {
749 return LayoutLocalServiceUtil.getLayout(_scopeGroup.getClassPK());
750 }
751 else {
752 return null;
753 }
754 }
755
756
765 public String getServerName() {
766 return _serverName;
767 }
768
769
779 public int getServerPort() {
780 return _serverPort;
781 }
782
783
790 public String getSessionId() {
791 return _sessionId;
792 }
793
794 public Locale getSiteDefaultLocale() {
795 return _siteDefaultLocale;
796 }
797
798 public Group getSiteGroup() {
799 return _siteGroup;
800 }
801
802 public long getSiteGroupId() {
803 return _siteGroupId;
804 }
805
806 public long getSiteGroupIdOrLiveGroupId() {
807 return StagingUtil.getLiveGroupId(_siteGroupId);
808 }
809
810 public String getSiteGroupName() throws PortalException {
811 if (_siteGroup == null) {
812 return StringPool.BLANK;
813 }
814
815 return _siteGroup.getDescriptiveName();
816 }
817
818 public Theme getTheme() {
819 return _theme;
820 }
821
822 public String getThemeId() {
823 return _theme.getThemeId();
824 }
825
826
834 public String getThemeSetting(String key) {
835 Theme theme = getTheme();
836
837 String device = theme.getDevice();
838
839 Layout layout = getLayout();
840
841 return layout.getThemeSetting(key, device);
842 }
843
844
851 public Properties getThemeSettings() {
852 Theme theme = getTheme();
853
854 Properties properties = new Properties();
855
856 Map<String, ThemeSetting> themeSettings = theme.getSettings();
857
858 for (String key : themeSettings.keySet()) {
859 ThemeSetting themeSetting = themeSettings.get(key);
860
861 String value = null;
862
863 if (themeSetting.isConfigurable()) {
864 value = getThemeSetting(key);
865 }
866 else {
867 value = themeSetting.getValue();
868 }
869
870 if (value != null) {
871 properties.put(key, value);
872 }
873 }
874
875 return properties;
876 }
877
878 public String getTilesContent() {
879 return _tilesContent;
880 }
881
882 public String getTilesTitle() {
883 return _tilesTitle;
884 }
885
886 public TimeZone getTimeZone() {
887 return _timeZone;
888 }
889
890 public List<Layout> getUnfilteredLayouts() {
891 return _unfilteredLayouts;
892 }
893
894
897 @Deprecated
898 public String getURLAddContent() {
899 return StringPool.BLANK;
900 }
901
902 public String getURLControlPanel() {
903 return _urlControlPanel;
904 }
905
906 public String getURLCurrent() {
907 return _urlCurrent;
908 }
909
910 public String getURLHome() {
911 return _urlHome;
912 }
913
914
917 @Deprecated
918 public String getURLLayoutTemplates() {
919 if (Validator.isNull(_urlLayoutTemplates)) {
920 return getURLPageSettings() + "#layout";
921 }
922
923 return _urlLayoutTemplates;
924 }
925
926 @JSON(include = false)
927 public PortletURL getURLMyAccount() {
928 if (_urlMyAccount == null) {
929 String portletId = PortletProviderUtil.getPortletId(
930 PortalMyAccountApplicationType.MyAccount.CLASS_NAME,
931 PortletProvider.Action.VIEW);
932
933 _urlMyAccount = PortalUtil.getControlPanelPortletURL(
934 getRequest(), portletId, PortletRequest.RENDER_PHASE);
935 }
936
937 return _urlMyAccount;
938 }
939
940
943 @Deprecated
944 @JSON(include = false)
945 public PortletURL getURLPageSettings() {
946 if (_urlPageSettings == null) {
947 String portletId = PortletProviderUtil.getPortletId(
948 Layout.class.getName(), PortletProvider.Action.EDIT);
949
950 _urlPageSettings = PortalUtil.getControlPanelPortletURL(
951 getRequest(), portletId, PortletRequest.RENDER_PHASE);
952 }
953
954 return _urlPageSettings;
955 }
956
957 public String getURLPortal() {
958 return _urlPortal;
959 }
960
961 @JSON(include = false)
962 public PortletURL getURLPublishToLive() {
963 return _urlPublishToLive;
964 }
965
966 public String getURLSignIn() {
967 return _urlSignIn;
968 }
969
970 public String getURLSignOut() {
971 return _urlSignOut;
972 }
973
974 @JSON(include = false)
975 public PortletURL getURLUpdateManager() {
976 if (_urlUpdateManager == null) {
977 _urlUpdateManager = PortalUtil.getControlPanelPortletURL(
978 getRequest(), PortletKeys.MARKETPLACE_STORE,
979 PortletRequest.RENDER_PHASE);
980 }
981
982 return _urlUpdateManager;
983 }
984
985
992 public User getUser() {
993 return _user;
994 }
995
996
1002 public long getUserId() {
1003 return _user.getUserId();
1004 }
1005
1006 public boolean isAddSessionIdToURL() {
1007 return _addSessionIdToURL;
1008 }
1009
1010 public boolean isAjax() {
1011 return _ajax;
1012 }
1013
1014 public boolean isFacebook() {
1015 return _facebook;
1016 }
1017
1018 public boolean isFreeformLayout() {
1019 return _freeformLayout;
1020 }
1021
1022 public boolean isI18n() {
1023 return _i18n;
1024 }
1025
1026
1035 public boolean isImpersonated() {
1036 if (getUserId() == getRealUserId()) {
1037 return false;
1038 }
1039
1040 return true;
1041 }
1042
1043 public boolean isIncludedJs(String js) {
1044 String path = getPathJavaScript();
1045
1046 if (isIncludePortletCssJs() &&
1047 js.startsWith(path + "/liferay/portlet_css.js")) {
1048
1049 return true;
1050 }
1051
1052 return false;
1053 }
1054
1055 public boolean isIncludePortletCssJs() {
1056 return _includePortletCssJs;
1057 }
1058
1059 public boolean isIsolated() {
1060 return _isolated;
1061 }
1062
1063 public boolean isLifecycleAction() {
1064 return _lifecycleAction;
1065 }
1066
1067 public boolean isLifecycleEvent() {
1068 return _lifecycleEvent;
1069 }
1070
1071 public boolean isLifecycleRender() {
1072 return _lifecycleRender;
1073 }
1074
1075 public boolean isLifecycleResource() {
1076 return _lifecycleResource;
1077 }
1078
1079 public boolean isSecure() {
1080 return _secure;
1081 }
1082
1083
1086 @Deprecated
1087 public boolean isShowAddContentIcon() {
1088 return false;
1089 }
1090
1091
1094 @Deprecated
1095 public boolean isShowAddContentIconPermission() {
1096 return false;
1097 }
1098
1099 public boolean isShowControlPanelIcon() {
1100 return _showControlPanelIcon;
1101 }
1102
1103 public boolean isShowHomeIcon() {
1104 return _showHomeIcon;
1105 }
1106
1107 public boolean isShowLayoutTemplatesIcon() {
1108 return _showLayoutTemplatesIcon;
1109 }
1110
1111
1115 @Deprecated
1116 public boolean isShowManageSiteMembershipsIcon() {
1117 return _showManageSiteMembershipsIcon;
1118 }
1119
1120 public boolean isShowMyAccountIcon() {
1121 return _showMyAccountIcon;
1122 }
1123
1124 public boolean isShowPageCustomizationIcon() {
1125 return _showPageCustomizationIcon;
1126 }
1127
1128 public boolean isShowPageSettingsIcon() {
1129 return _showPageSettingsIcon;
1130 }
1131
1132 public boolean isShowPortalIcon() {
1133 return _showPortalIcon;
1134 }
1135
1136 public boolean isShowSignInIcon() {
1137 return _showSignInIcon;
1138 }
1139
1140 public boolean isShowSignOutIcon() {
1141 return _showSignOutIcon;
1142 }
1143
1144 public boolean isShowSiteAdministrationIcon() {
1145 return _showSiteAdministrationIcon;
1146 }
1147
1148
1152 @Deprecated
1153 public boolean isShowSiteContentIcon() {
1154 return isShowSiteAdministrationIcon();
1155 }
1156
1157
1161 @Deprecated
1162 public boolean isShowSiteMapSettingsIcon() {
1163 return _showSiteMapSettingsIcon;
1164 }
1165
1166
1170 @Deprecated
1171 public boolean isShowSiteSettingsIcon() {
1172 return _showSiteSettingsIcon;
1173 }
1174
1175 public boolean isShowStagingIcon() {
1176 return _showStagingIcon;
1177 }
1178
1179 public boolean isSignedIn() {
1180 return _signedIn;
1181 }
1182
1183 public boolean isStateExclusive() {
1184 return _stateExclusive;
1185 }
1186
1187 public boolean isStateMaximized() {
1188 return _stateMaximized;
1189 }
1190
1191 public boolean isStatePopUp() {
1192 return _statePopUp;
1193 }
1194
1195 public boolean isThemeCssFastLoad() {
1196 return _themeCssFastLoad;
1197 }
1198
1199 public boolean isThemeImagesFastLoad() {
1200 return _themeImagesFastLoad;
1201 }
1202
1203 public boolean isThemeJsBarebone() {
1204 return _themeJsBarebone;
1205 }
1206
1207 public boolean isThemeJsFastLoad() {
1208 return _themeJsFastLoad;
1209 }
1210
1211 public boolean isTilesSelectable() {
1212 return _tilesSelectable;
1213 }
1214
1215 public boolean isWidget() {
1216 return _widget;
1217 }
1218
1219 @Override
1220 public ThemeDisplay merge(ThemeDisplay themeDisplay) {
1221 if ((themeDisplay == null) || (themeDisplay == this)) {
1222 return this;
1223 }
1224
1225 _includePortletCssJs = themeDisplay._includePortletCssJs;
1226
1227 return this;
1228 }
1229
1230 public void setAccount(Account account) {
1231 _account = account;
1232 }
1233
1234 public void setAddSessionIdToURL(boolean addSessionIdToURL) {
1235 _addSessionIdToURL = addSessionIdToURL;
1236 }
1237
1238 public void setAjax(boolean ajax) {
1239 _ajax = ajax;
1240 }
1241
1242 public void setCDNBaseURL(String cdnBase) {
1243 _cdnBaseURL = cdnBase;
1244 }
1245
1246 public void setCDNDynamicResourcesHost(String cdnDynamicResourcesHost) {
1247 _cdnDynamicResourcesHost = cdnDynamicResourcesHost;
1248 }
1249
1250 public void setCDNHost(String cdnHost) {
1251 _cdnHost = cdnHost;
1252 }
1253
1254 public void setCompany(Company company) throws PortalException {
1255 _company = company;
1256 _companyGroupId = company.getGroupId();
1257
1258 setAccount(company.getAccount());
1259 }
1260
1261 public void setCompanyLogo(String companyLogo) {
1262 _companyLogo = companyLogo;
1263 }
1264
1265 public void setCompanyLogoHeight(int companyLogoHeight) {
1266 _companyLogoHeight = companyLogoHeight;
1267 }
1268
1269 public void setCompanyLogoWidth(int companyLogoWidth) {
1270 _companyLogoWidth = companyLogoWidth;
1271 }
1272
1273 public void setContact(Contact contact) {
1274 _contact = contact;
1275 }
1276
1277 public void setDevice(Device device) {
1278 _device = device;
1279 }
1280
1281 public void setDoAsGroupId(long doAsGroupId) {
1282 _doAsGroupId = doAsGroupId;
1283 }
1284
1285 public void setDoAsUserId(String doAsUserId) {
1286 _doAsUserId = doAsUserId;
1287 }
1288
1289 public void setDoAsUserLanguageId(String doAsUserLanguageId) {
1290 _doAsUserLanguageId = doAsUserLanguageId;
1291 }
1292
1293 public void setFacebookCanvasPageURL(String facebookCanvasPageURL) {
1294 _facebookCanvasPageURL = facebookCanvasPageURL;
1295
1296 if (Validator.isNotNull(facebookCanvasPageURL)) {
1297 _facebook = true;
1298 }
1299 }
1300
1301 public void setFreeformLayout(boolean freeformLayout) {
1302 _freeformLayout = freeformLayout;
1303 }
1304
1305 public void setI18nLanguageId(String i18nLanguageId) {
1306 _i18nLanguageId = i18nLanguageId;
1307
1308 if (Validator.isNotNull(i18nLanguageId)) {
1309 _i18n = true;
1310 }
1311 else {
1312 _i18n = false;
1313 }
1314 }
1315
1316 public void setI18nPath(String i18nPath) {
1317 _i18nPath = i18nPath;
1318
1319 if (Validator.isNotNull(i18nPath)) {
1320 _i18n = true;
1321 }
1322 else {
1323 _i18n = false;
1324 }
1325 }
1326
1327 public void setIncludePortletCssJs(boolean includePortletCssJs) {
1328 _includePortletCssJs = includePortletCssJs;
1329 }
1330
1331 public void setIsolated(boolean isolated) {
1332 _isolated = isolated;
1333 }
1334
1335 public void setLanguageId(String languageId) {
1336 _languageId = languageId;
1337 }
1338
1339 public void setLayout(Layout layout) {
1340 _layout = layout;
1341 }
1342
1343 public void setLayouts(List<Layout> layouts) {
1344 _layouts = layouts;
1345 }
1346
1347 public void setLayoutSet(LayoutSet layoutSet) {
1348 _layoutSet = layoutSet;
1349 }
1350
1351 public void setLayoutSetLogo(String layoutSetLogo) {
1352 _layoutSetLogo = layoutSetLogo;
1353 }
1354
1355 public void setLayoutTypePortlet(LayoutTypePortlet layoutTypePortlet) {
1356 _layoutTypePortlet = layoutTypePortlet;
1357 }
1358
1359 public void setLifecycle(String lifecycle) {
1360 _lifecycle = lifecycle;
1361 }
1362
1363 public void setLifecycleAction(boolean lifecycleAction) {
1364 _lifecycleAction = lifecycleAction;
1365 }
1366
1367 public void setLifecycleEvent(boolean lifecycleEvent) {
1368 _lifecycleEvent = lifecycleEvent;
1369 }
1370
1371 public void setLifecycleRender(boolean lifecycleRender) {
1372 _lifecycleRender = lifecycleRender;
1373 }
1374
1375 public void setLifecycleResource(boolean lifecycleResource) {
1376 _lifecycleResource = lifecycleResource;
1377 }
1378
1379 public void setLocale(Locale locale) {
1380 _locale = locale;
1381
1382 LocaleThreadLocal.setThemeDisplayLocale(locale);
1383 }
1384
1385 public void setLookAndFeel(Theme theme, ColorScheme colorScheme) {
1386 _theme = theme;
1387 _colorScheme = colorScheme;
1388
1389 if ((theme == null) || (colorScheme == null)) {
1390 return;
1391 }
1392
1393 String themeStaticResourcePath = theme.getStaticResourcePath();
1394
1395 String cdnBaseURL = getCDNBaseURL();
1396
1397 setPathColorSchemeImages(
1398 cdnBaseURL + themeStaticResourcePath +
1399 colorScheme.getColorSchemeImagesPath());
1400
1401 String dynamicResourcesHost = getCDNDynamicResourcesHost();
1402
1403 if (Validator.isNull(dynamicResourcesHost)) {
1404 String portalURL = getPortalURL();
1405
1406 try {
1407 portalURL = PortalUtil.getPortalURL(getLayout(), this);
1408 }
1409 catch (Exception e) {
1410 _log.error(e, e);
1411 }
1412
1413 dynamicResourcesHost = portalURL;
1414 }
1415
1416 setPathThemeCss(
1417 dynamicResourcesHost + themeStaticResourcePath +
1418 theme.getCssPath());
1419
1420 setPathThemeImages(
1421 cdnBaseURL + themeStaticResourcePath + theme.getImagesPath());
1422 setPathThemeJavaScript(
1423 cdnBaseURL + themeStaticResourcePath + theme.getJavaScriptPath());
1424
1425 String rootPath = theme.getRootPath();
1426
1427 if (rootPath.equals(StringPool.SLASH)) {
1428 setPathThemeRoot(themeStaticResourcePath);
1429 }
1430 else {
1431 setPathThemeRoot(themeStaticResourcePath + rootPath);
1432 }
1433
1434 setPathThemeTemplates(
1435 cdnBaseURL + themeStaticResourcePath + theme.getTemplatesPath());
1436 }
1437
1438 public void setMDRRuleGroupInstance(
1439 MDRRuleGroupInstance mdrRuleGroupInstance) {
1440
1441 _mdrRuleGroupInstance = mdrRuleGroupInstance;
1442 }
1443
1444 public void setPathApplet(String pathApplet) {
1445 _pathApplet = pathApplet;
1446 }
1447
1448 public void setPathCms(String pathCms) {
1449 _pathCms = pathCms;
1450 }
1451
1452 public void setPathColorSchemeImages(String pathColorSchemeImages) {
1453 _pathColorSchemeImages = pathColorSchemeImages;
1454 }
1455
1456 public void setPathContext(String pathContext) {
1457 _pathContext = pathContext;
1458 }
1459
1460 public void setPathFlash(String pathFlash) {
1461 _pathFlash = pathFlash;
1462 }
1463
1464 public void setPathFriendlyURLPrivateGroup(
1465 String pathFriendlyURLPrivateGroup) {
1466
1467 _pathFriendlyURLPrivateGroup = pathFriendlyURLPrivateGroup;
1468 }
1469
1470 public void setPathFriendlyURLPrivateUser(
1471 String pathFriendlyURLPrivateUser) {
1472
1473 _pathFriendlyURLPrivateUser = pathFriendlyURLPrivateUser;
1474 }
1475
1476 public void setPathFriendlyURLPublic(String pathFriendlyURLPublic) {
1477 _pathFriendlyURLPublic = pathFriendlyURLPublic;
1478 }
1479
1480 public void setPathImage(String pathImage) {
1481 if (isFacebook() && !pathImage.startsWith(Http.HTTP_WITH_SLASH) &&
1482 !pathImage.startsWith(Http.HTTPS_WITH_SLASH)) {
1483
1484 pathImage = getPortalURL() + pathImage;
1485 }
1486
1487 _pathImage = pathImage;
1488 }
1489
1490 public void setPathJavaScript(String pathJavaScript) {
1491 _pathJavaScript = pathJavaScript;
1492 }
1493
1494 public void setPathMain(String pathMain) {
1495 _pathMain = pathMain;
1496 }
1497
1498 public void setPathSound(String pathSound) {
1499 _pathSound = pathSound;
1500 }
1501
1502 public void setPathThemeCss(String pathThemeCss) {
1503 _pathThemeCss = pathThemeCss;
1504 }
1505
1506 public void setPathThemeImages(String pathThemeImages) {
1507 _pathThemeImages = pathThemeImages;
1508 }
1509
1510 public void setPathThemeJavaScript(String pathThemeJavaScript) {
1511 _pathThemeJavaScript = pathThemeJavaScript;
1512 }
1513
1514 public void setPathThemeRoot(String pathThemeRoot) {
1515 _pathThemeRoot = pathThemeRoot;
1516 }
1517
1518 public void setPathThemeTemplates(String pathThemeTemplates) {
1519 _pathThemeTemplates = pathThemeTemplates;
1520 }
1521
1522 public void setPermissionChecker(PermissionChecker permissionChecker) {
1523 _permissionChecker = permissionChecker;
1524 }
1525
1526 public void setPlid(long plid) {
1527 _plid = plid;
1528 }
1529
1530 public void setPortalURL(String portalURL) {
1531 _portalURL = portalURL;
1532 }
1533
1534 public void setPpid(String ppid) {
1535 _ppid = ppid;
1536 }
1537
1538 public void setRealCompanyLogo(String realCompanyLogo) {
1539 _realCompanyLogo = realCompanyLogo;
1540 }
1541
1542 public void setRealCompanyLogoHeight(int realCompanyLogoHeight) {
1543 _realCompanyLogoHeight = realCompanyLogoHeight;
1544 }
1545
1546 public void setRealCompanyLogoWidth(int realCompanyLogoWidth) {
1547 _realCompanyLogoWidth = realCompanyLogoWidth;
1548 }
1549
1550 public void setRealUser(User realUser) {
1551 _realUser = realUser;
1552 }
1553
1554 public void setRefererGroupId(long refererGroupId) {
1555 _refererGroupId = refererGroupId;
1556
1557 if (_refererGroupId > 0) {
1558 try {
1559 _refererGroup = GroupLocalServiceUtil.getGroup(_refererGroupId);
1560 }
1561 catch (Exception e) {
1562 _log.error(e, e);
1563 }
1564 }
1565 }
1566
1567 public void setRefererPlid(long refererPlid) {
1568 _refererPlid = refererPlid;
1569 }
1570
1571 public void setRequest(HttpServletRequest request) {
1572 _request = request;
1573 }
1574
1575 public void setResponse(HttpServletResponse response) {
1576 _response = response;
1577 }
1578
1579 public void setScopeGroupId(long scopeGroupId) {
1580 _scopeGroupId = scopeGroupId;
1581
1582 if (_scopeGroupId > 0) {
1583 try {
1584 _scopeGroup = GroupLocalServiceUtil.getGroup(_scopeGroupId);
1585 }
1586 catch (Exception e) {
1587 _log.error(e, e);
1588 }
1589 }
1590 }
1591
1592 public void setSecure(boolean secure) {
1593 _secure = secure;
1594 }
1595
1596 public void setServerName(String serverName) {
1597 _serverName = serverName;
1598 }
1599
1600 public void setServerPort(int serverPort) {
1601 _serverPort = serverPort;
1602 }
1603
1604 public void setSessionId(String sessionId) {
1605 _sessionId = sessionId;
1606 }
1607
1608
1611 @Deprecated
1612 public void setShowAddContentIcon(boolean showAddContentIcon) {
1613 }
1614
1615
1618 @Deprecated
1619 public void setShowAddContentIconPermission(
1620 boolean showAddContentIconPermission) {
1621 }
1622
1623 public void setShowControlPanelIcon(boolean showControlPanelIcon) {
1624 _showControlPanelIcon = showControlPanelIcon;
1625 }
1626
1627 public void setShowHomeIcon(boolean showHomeIcon) {
1628 _showHomeIcon = showHomeIcon;
1629 }
1630
1631 public void setShowLayoutTemplatesIcon(boolean showLayoutTemplatesIcon) {
1632 _showLayoutTemplatesIcon = showLayoutTemplatesIcon;
1633 }
1634
1635 public void setShowManageSiteMembershipsIcon(
1636 boolean showManageSiteMembershipsIcon) {
1637
1638 _showManageSiteMembershipsIcon = showManageSiteMembershipsIcon;
1639 }
1640
1641 public void setShowMyAccountIcon(boolean showMyAccountIcon) {
1642 _showMyAccountIcon = showMyAccountIcon;
1643 }
1644
1645 public void setShowPageCustomizationIcon(
1646 boolean showPageCustomizationIcon) {
1647
1648 _showPageCustomizationIcon = showPageCustomizationIcon;
1649 }
1650
1651 public void setShowPageSettingsIcon(boolean showPageSettingsIcon) {
1652 _showPageSettingsIcon = showPageSettingsIcon;
1653 }
1654
1655 public void setShowPortalIcon(boolean showPortalIcon) {
1656 _showPortalIcon = showPortalIcon;
1657 }
1658
1659 public void setShowSignInIcon(boolean showSignInIcon) {
1660 _showSignInIcon = showSignInIcon;
1661 }
1662
1663 public void setShowSignOutIcon(boolean showSignOutIcon) {
1664 _showSignOutIcon = showSignOutIcon;
1665 }
1666
1667 public void setShowSiteAdministrationIcon(
1668 boolean showSiteAdministrationIcon) {
1669
1670 _showSiteAdministrationIcon = showSiteAdministrationIcon;
1671 }
1672
1673 public void setShowSiteMapSettingsIcon(boolean showSiteMapSettingsIcon) {
1674 _showSiteMapSettingsIcon = showSiteMapSettingsIcon;
1675 }
1676
1677 public void setShowSiteSettingsIcon(boolean showSiteSettingsIcon) {
1678 _showSiteSettingsIcon = showSiteSettingsIcon;
1679 }
1680
1681 public void setShowStagingIcon(boolean showStagingIcon) {
1682 _showStagingIcon = showStagingIcon;
1683 }
1684
1685 public void setSignedIn(boolean signedIn) {
1686 _signedIn = signedIn;
1687 }
1688
1689 public void setSiteDefaultLocale(Locale siteDefaultLocale) {
1690 _siteDefaultLocale = siteDefaultLocale;
1691
1692 LocaleThreadLocal.setSiteDefaultLocale(siteDefaultLocale);
1693 }
1694
1695 public void setSiteGroupId(long siteGroupId) {
1696 _siteGroupId = siteGroupId;
1697
1698 if (_siteGroupId > 0) {
1699 try {
1700 _siteGroup = GroupLocalServiceUtil.getGroup(_siteGroupId);
1701 }
1702 catch (Exception e) {
1703 _log.error(e, e);
1704 }
1705 }
1706 }
1707
1708 public void setStateExclusive(boolean stateExclusive) {
1709 _stateExclusive = stateExclusive;
1710 }
1711
1712 public void setStateMaximized(boolean stateMaximized) {
1713 _stateMaximized = stateMaximized;
1714 }
1715
1716 public void setStatePopUp(boolean statePopUp) {
1717 _statePopUp = statePopUp;
1718 }
1719
1720 public void setThemeCssFastLoad(boolean themeCssFastLoad) {
1721 _themeCssFastLoad = themeCssFastLoad;
1722 }
1723
1724 public void setThemeImagesFastLoad(boolean themeImagesFastLoad) {
1725 _themeImagesFastLoad = themeImagesFastLoad;
1726 }
1727
1728 public void setThemeJsBarebone(boolean themeJsBarebone) {
1729 _themeJsBarebone = themeJsBarebone;
1730 }
1731
1732 public void setThemeJsFastLoad(boolean themeJsFastLoad) {
1733 _themeJsFastLoad = themeJsFastLoad;
1734 }
1735
1736 public void setTilesContent(String tilesContent) {
1737 _tilesContent = tilesContent;
1738 }
1739
1740 public void setTilesSelectable(boolean tilesSelectable) {
1741 _tilesSelectable = tilesSelectable;
1742 }
1743
1744 public void setTilesTitle(String tilesTitle) {
1745 _tilesTitle = tilesTitle;
1746 }
1747
1748 public void setTimeZone(TimeZone timeZone) {
1749 _timeZone = timeZone;
1750
1751 TimeZoneThreadLocal.setThemeDisplayTimeZone(timeZone);
1752 }
1753
1754 public void setUnfilteredLayouts(List<Layout> unfilteredLayouts) {
1755 _unfilteredLayouts = unfilteredLayouts;
1756 }
1757
1758
1761 @Deprecated
1762 public void setURLAddContent(String urlAddContent) {
1763 }
1764
1765 public void setURLControlPanel(String urlControlPanel) {
1766 _urlControlPanel = urlControlPanel;
1767 }
1768
1769 public void setURLCurrent(String urlCurrent) {
1770 _urlCurrent = urlCurrent;
1771 }
1772
1773 public void setURLHome(String urlHome) {
1774 _urlHome = urlHome;
1775 }
1776
1777 public void setURLLayoutTemplates(String urlLayoutTemplates) {
1778 _urlLayoutTemplates = urlLayoutTemplates;
1779 }
1780
1781
1784 @Deprecated
1785 public void setURLMyAccount(PortletURL urlMyAccount) {
1786 _urlMyAccount = urlMyAccount;
1787 }
1788
1789
1792 @Deprecated
1793 public void setURLPageSettings(PortletURL urlPageSettings) {
1794 _urlPageSettings = urlPageSettings;
1795 }
1796
1797 public void setURLPortal(String urlPortal) {
1798 _urlPortal = urlPortal;
1799 }
1800
1801 public void setURLPublishToLive(PortletURL urlPublishToLive) {
1802 _urlPublishToLive = urlPublishToLive;
1803 }
1804
1805 public void setURLSignIn(String urlSignIn) {
1806 _urlSignIn = urlSignIn;
1807 }
1808
1809 public void setURLSignOut(String urlSignOut) {
1810 _urlSignOut = urlSignOut;
1811 }
1812
1813
1816 @Deprecated
1817 public void setURLUpdateManager(PortletURL urlUpdateManager) {
1818 _urlUpdateManager = urlUpdateManager;
1819 }
1820
1821 public void setUser(User user) throws PortalException {
1822 _user = user;
1823
1824 setContact(user.getContact());
1825 }
1826
1827 public void setWidget(boolean widget) {
1828 _widget = widget;
1829 }
1830
1831 public String translate(String key) {
1832 return LanguageUtil.get(getLocale(), key);
1833 }
1834
1835 public String translate(String pattern, Object... arguments) {
1836 return LanguageUtil.format(getLocale(), pattern, arguments);
1837 }
1838
1839 private static final Log _log = LogFactoryUtil.getLog(ThemeDisplay.class);
1840
1841 private Account _account;
1842 private boolean _addSessionIdToURL;
1843 private boolean _ajax;
1844 private String _cdnBaseURL;
1845 private String _cdnDynamicResourcesHost = StringPool.BLANK;
1846 private String _cdnHost = StringPool.BLANK;
1847 private ColorScheme _colorScheme;
1848 private Company _company;
1849 private long _companyGroupId;
1850 private String _companyLogo = StringPool.BLANK;
1851 private int _companyLogoHeight;
1852 private int _companyLogoWidth;
1853 private Contact _contact;
1854 private User _defaultUser;
1855 private Device _device;
1856 private long _doAsGroupId = 0;
1857 private String _doAsUserId = StringPool.BLANK;
1858 private String _doAsUserLanguageId = StringPool.BLANK;
1859 private boolean _facebook;
1860 private String _facebookCanvasPageURL;
1861 private boolean _freeformLayout;
1862 private boolean _i18n;
1863 private String _i18nLanguageId;
1864 private String _i18nPath;
1865 private boolean _includePortletCssJs;
1866 private boolean _isolated;
1867 private String _languageId;
1868 private Layout _layout;
1869 private List<Layout> _layouts;
1870 private LayoutSet _layoutSet;
1871 private String _layoutSetLogo = StringPool.BLANK;
1872 private LayoutTypePortlet _layoutTypePortlet;
1873 private String _lifecycle;
1874 private boolean _lifecycleAction;
1875 private boolean _lifecycleEvent;
1876 private boolean _lifecycleRender;
1877 private boolean _lifecycleResource;
1878 private Locale _locale;
1879 private MDRRuleGroupInstance _mdrRuleGroupInstance;
1880 private String _pathApplet = StringPool.BLANK;
1881 private String _pathCms = StringPool.BLANK;
1882 private String _pathColorSchemeImages = StringPool.BLANK;
1883 private String _pathContext = StringPool.BLANK;
1884 private String _pathFlash = StringPool.BLANK;
1885 private String _pathFriendlyURLPrivateGroup = StringPool.BLANK;
1886 private String _pathFriendlyURLPrivateUser = StringPool.BLANK;
1887 private String _pathFriendlyURLPublic = StringPool.BLANK;
1888 private String _pathImage = StringPool.BLANK;
1889 private String _pathJavaScript = StringPool.BLANK;
1890 private String _pathMain = StringPool.BLANK;
1891 private String _pathSound = StringPool.BLANK;
1892 private String _pathThemeCss = StringPool.BLANK;
1893 private String _pathThemeImages = StringPool.BLANK;
1894 private String _pathThemeJavaScript = StringPool.BLANK;
1895 private String _pathThemeRoot = StringPool.BLANK;
1896 private String _pathThemeTemplates = StringPool.BLANK;
1897 private transient PermissionChecker _permissionChecker;
1898 private long _plid;
1899 private String _portalURL = StringPool.BLANK;
1900 private PortletDisplay _portletDisplay = new PortletDisplay();
1901 private String _ppid = StringPool.BLANK;
1902 private String _realCompanyLogo = StringPool.BLANK;
1903 private int _realCompanyLogoHeight;
1904 private int _realCompanyLogoWidth;
1905 private User _realUser;
1906 private Group _refererGroup;
1907 private long _refererGroupId;
1908 private long _refererPlid;
1909 private transient HttpServletRequest _request;
1910 private transient HttpServletResponse _response;
1911 private Group _scopeGroup;
1912 private long _scopeGroupId;
1913 private boolean _secure;
1914 private String _serverName;
1915 private int _serverPort;
1916 private String _sessionId = StringPool.BLANK;
1917 private boolean _showControlPanelIcon;
1918 private boolean _showHomeIcon;
1919 private boolean _showLayoutTemplatesIcon;
1920 private boolean _showManageSiteMembershipsIcon;
1921 private boolean _showMyAccountIcon;
1922 private boolean _showPageCustomizationIcon;
1923 private boolean _showPageSettingsIcon;
1924 private boolean _showPortalIcon;
1925 private boolean _showSignInIcon;
1926 private boolean _showSignOutIcon;
1927 private boolean _showSiteAdministrationIcon;
1928 private boolean _showSiteMapSettingsIcon;
1929 private boolean _showSiteSettingsIcon;
1930 private boolean _showStagingIcon;
1931 private boolean _signedIn;
1932 private Locale _siteDefaultLocale;
1933 private Group _siteGroup;
1934 private long _siteGroupId;
1935 private boolean _stateExclusive;
1936 private boolean _stateMaximized;
1937 private boolean _statePopUp;
1938 private Theme _theme;
1939 private boolean _themeCssFastLoad;
1940 private boolean _themeImagesFastLoad;
1941 private boolean _themeJsBarebone;
1942 private boolean _themeJsFastLoad;
1943 private String _tilesContent = StringPool.BLANK;
1944 private boolean _tilesSelectable;
1945 private String _tilesTitle = StringPool.BLANK;
1946 private TimeZone _timeZone;
1947 private List<Layout> _unfilteredLayouts;
1948 private String _urlControlPanel = StringPool.BLANK;
1949 private String _urlCurrent = StringPool.BLANK;
1950 private String _urlHome = StringPool.BLANK;
1951 private String _urlLayoutTemplates = StringPool.BLANK;
1952 private transient PortletURL _urlMyAccount = null;
1953 private transient PortletURL _urlPageSettings = null;
1954 private String _urlPortal = StringPool.BLANK;
1955 private transient PortletURL _urlPublishToLive = null;
1956 private String _urlSignIn = StringPool.BLANK;
1957 private String _urlSignOut = StringPool.BLANK;
1958 private transient PortletURL _urlUpdateManager = null;
1959 private User _user;
1960 private boolean _widget;
1961
1962 }