| 1 41 package com.mvnforum.auth; 42 43 import java.util.ArrayList ; 44 45 import com.mvnforum.MVNForumConfig; 46 import com.mvnforum.MVNForumConstant; 47 import com.mvnforum.MyUtil; 48 import com.mvnforum.db.DAOFactory; 49 import com.mvnforum.db.MemberBean; 50 import net.myvietnam.mvncore.exception.*; 51 52 public class MVNForumPermissionFactory { 53 54 private MVNForumPermissionFactory() { 55 } 56 57 static MVNForumPermission getAnonymousPermission() 58 throws DatabaseException, AssertionException { 59 60 MVNForumPermissionImpl permission = new MVNForumPermissionImpl(); 61 62 ArrayList permList = MVNForumPermissionWebHelper.getPermissionsForGroupGuest(); 63 for (int i = 0; i < permList.size(); i++) { 64 int perm = ((Integer )permList.get(i)).intValue(); 65 permission.setPermission(perm); 66 } 67 68 ArrayList forumPermList = MVNForumPermissionWebHelper.getPermissionsForGroupGuestInForums(); 69 for (int i = 0; i < forumPermList.size(); i++) { 70 ForumPermission perm = (ForumPermission)forumPermList.get(i); 71 permission.setPermissionInForum(perm.getForumID(), perm.getPermission()); 72 } 73 74 return permission; 75 } 76 77 public static MVNForumPermission getAuthenticatedPermission(int memberID) 78 throws DatabaseException, AssertionException, ObjectNotFoundException { 79 80 if (memberID == MVNForumConstant.MEMBER_ID_OF_GUEST || memberID == 0) { 81 throw new AssertionException("Cannot get authenticated permission for user Guest."); 82 } 83 84 MVNForumPermissionImpl permission = new MVNForumPermissionImpl(); 85 86 ArrayList memberPermList = MVNForumPermissionWebHelper.getMemberPermissions(memberID); 87 for (int i = 0; i < memberPermList.size(); i++) { 88 int perm = ((Integer )memberPermList.get(i)).intValue(); 89 permission.setPermission(perm); 90 } 91 92 ArrayList groupPermList = MVNForumPermissionWebHelper.getGroupPermissions(memberID); 93 for (int i = 0; i < groupPermList.size(); i++) { 94 int perm = ((Integer )groupPermList.get(i)).intValue(); 95 permission.setPermission(perm); 96 } 97 98 ArrayList forumMemberPermList = MVNForumPermissionWebHelper.getMemberPermissionsInForums(memberID); 99 for (int i = 0; i < forumMemberPermList.size(); i++) { 100 ForumPermission perm = (ForumPermission)forumMemberPermList.get(i); 101 permission.setPermissionInForum(perm.getForumID(), perm.getPermission()); 102 } 103 104 ArrayList forumGroupPermList = MVNForumPermissionWebHelper.getGroupPermissionsInForums(memberID); 105 for (int i = 0; i < forumGroupPermList.size(); i++) { 106 ForumPermission perm = (ForumPermission)forumGroupPermList.get(i); 107 permission.setPermissionInForum(perm.getForumID(), perm.getPermission()); 108 } 109 110 permission.setPermission(MVNForumPermission.PERMISSION_AUTHENTICATED); 112 113 if (MVNForumConfig.getEnablePortlet() == false ) { if ( DAOFactory.getMemberDAO().getActivateCode(memberID).equals(MemberBean.MEMBER_ACTIVATECODE_ACTIVATED)) { 116 permission.setPermission(MVNForumPermission.PERMISSION_ACTIVATED); 117 } 118 } 119 120 if (MyUtil.isRootAdminID(memberID)) { 122 permission.setPermission(MVNForumPermission.PERMISSION_SYSTEM_ADMIN); 123 } 124 return permission; 125 } 126 } 127 | Popular Tags |