Index: portal/portal-impl/impl/src/java/org/sakaiproject/portal/charon/CharonPortal.java =================================================================== --- portal/portal-impl/impl/src/java/org/sakaiproject/portal/charon/CharonPortal.java (revision 14757) +++ portal/portal-impl/impl/src/java/org/sakaiproject/portal/charon/CharonPortal.java (working copy) @@ -2222,15 +2222,49 @@ String pageUrl = Web.returnUrl(req, "/" + portalPrefix + "/" + Web.escapeUrl(getSiteEffectiveId(site)) + "/page/"); String pagePopupUrl = Web.returnUrl(req, "/page/"); - boolean showPresence = ServerConfigurationService.getBoolean( - "display.users.present", true); - boolean showHelp = ServerConfigurationService.getBoolean( - "display.help.menu", true); boolean loggedIn = session.getUserId() != null; String iconUrl = site.getIconUrlFull(); boolean published = site.isPublished(); String type = site.getType(); - + + // Display Help menu? Site property has precedence if specified + + boolean showHelp; + String showHelpSite = site.getProperties().getProperty("display-help-menu"); + + if (showHelpSite == null) + { + showHelp = ServerConfigurationService.getBoolean("display.help.menu", true); + } + else + { + showHelp = Boolean.valueOf(showHelpSite).booleanValue(); + } + + // Display presence? Global property display.users.present may be always / never / true / false + // If true or false, the value may be overriden by the site property display-users-present + // which may be true or false. + + boolean showPresence; + String globalShowPresence = ServerConfigurationService.getString("display.users.present"); + + if (globalShowPresence.equals("never")) { + showPresence = false; + } else if (globalShowPresence.equals("always")) { + showPresence = true; + } else { + String showPresenceSite = site.getProperties().getProperty("display-users-present"); + + if (showPresenceSite == null) + { + showPresence = Boolean.valueOf(globalShowPresence).booleanValue(); + } + else + { + showPresence = Boolean.valueOf(showPresenceSite).booleanValue(); + } + } + out.println("
"); out.println("
"); if (!published)