jforum論壇二次開發--顯示版主

發表於2008-05-11
*****************************************
lynx286原創, 首發

歡迎轉貼, 但轉貼請不要刪除此段版權說明.
*****************************************
[@more@]
jforum論壇是很流行的java開源論壇,但不支援版主.網友可以查查其他的jforum論壇都沒有版主, 這種論壇貌似很不適合中國國情,本人在這裡介紹一個顯示版主的方法.

1. 為每個板塊新增一個群組, 將版主的群組屬性改成此群組.
2. 板塊的稽核屬性用預設的"不稽核", 原來只有設定成"稽核狀態"才顯示版主,但這樣每發一個帖子都要稽核,不好.
3. 刪除forum_list.htm 第51(57)行那個if語句即可.

其實過程非常簡單, 但是網上都沒有人研究,嘗試解決這個問題.

jforum論壇二次開發--顯示版主(續) 直接顯示版主名稱,而不是顯示版主群組名稱

ForumRepository.java 增加以下函式:

  1. public static List getModeratorList2(int forumId) {
  2. List ulist = new ArrayList();
  3. List l = getModeratorList(forumId);
  4. System.out.println("************" + l.size());
  5. if (l != null && l.size() > 0) {
  6. for (Iterator it = l.iterator(); it.hasNext();) {
  7. ModeratorInfo mi = (ModeratorInfo) it.next();
  8. int groupId = mi.getId();
  9. List users = listGroup(groupId);
  10. ulist.addAll(users);
  11. System.out.println("========" + users.size());
  12. }
  13. }
  14. return ulist;
  15. }
  16. public static List listGroup(int groupId) {
  17. // int groupId = this.request.getIntParameter("group_id");
  18. int start = preparePagination(DataAccessDriver.getInstance()
  19. .newUserDAO().getTotalUsersByGroup(groupId));
  20. int usersPerPage = SystemGlobals.getIntValue(ConfigKeys.USERS_PER_PAGE);
  21. List users = DataAccessDriver.getInstance().newUserDAO()
  22. .selectAllByGroup(groupId, start, usersPerPage);
  23. return users;
  24. // this.context.put("users", users);
  25. // this.setTemplateName(TemplateKeys.USER_LIST);
  26. }
  27. private static int preparePagination(int totalUsers) {
  28. int start = ViewCommon.getStartPage();
  29. int usersPerPage = SystemGlobals.getIntValue(ConfigKeys.USERS_PER_PAGE);
  30. ViewCommon.contextToPagination(start, totalUsers, usersPerPage);
  31. return start;
  32. }

相關文章