1
22
23 package com.liferay.portlet.admin.util;
24
25 import com.liferay.portal.kernel.util.StringUtil;
26 import com.liferay.portal.model.User;
27 import com.liferay.portal.model.impl.RoleImpl;
28 import com.liferay.portal.security.auth.CompanyThreadLocal;
29 import com.liferay.portal.service.RoleLocalServiceUtil;
30 import com.liferay.portal.service.UserLocalServiceUtil;
31 import com.liferay.portal.util.PortalInstances;
32 import com.liferay.portal.util.PropsUtil;
33
34 import org.apache.commons.logging.Log;
35 import org.apache.commons.logging.LogFactory;
36
37
43 public class OmniadminUtil {
44
45 public static boolean isOmniadmin(long userId) {
46 if (CompanyThreadLocal.getCompanyId() !=
47 PortalInstances.getDefaultCompanyId()) {
48
49 return false;
50 }
51
52 if (userId <= 0) {
53 return false;
54 }
55
56 try {
57 long[] omniAdminUsers = StringUtil.split(
58 PropsUtil.get(PropsUtil.OMNIADMIN_USERS), 0L);
59
60 if (omniAdminUsers.length > 0) {
61 for (int i = 0; i < omniAdminUsers.length; i++) {
62 if (omniAdminUsers[i] == userId) {
63 User user = UserLocalServiceUtil.getUserById(userId);
64
65 if (user.getCompanyId() !=
66 PortalInstances.getDefaultCompanyId()) {
67
68 return false;
69 }
70
71 return true;
72 }
73 }
74
75 return false;
76 }
77 else {
78 User user = UserLocalServiceUtil.getUserById(userId);
79
80 if (user.getCompanyId() !=
81 PortalInstances.getDefaultCompanyId()) {
82
83 return false;
84 }
85
86 return RoleLocalServiceUtil.hasUserRole(
87 userId, user.getCompanyId(), RoleImpl.ADMINISTRATOR, true);
88 }
89 }
90 catch (Exception e) {
91 _log.error(e);
92
93 return false;
94 }
95 }
96
97 private static Log _log = LogFactory.getLog(OmniadminUtil.class);
98
99 }