Index: roster-app/src/java/org/sakaiproject/tool/roster/ParticipantImageServlet.java =================================================================== --- roster-app/src/java/org/sakaiproject/tool/roster/ParticipantImageServlet.java (revision 92424) +++ roster-app/src/java/org/sakaiproject/tool/roster/ParticipantImageServlet.java (working copy) @@ -38,6 +38,7 @@ import org.sakaiproject.api.app.roster.RosterFunctions; import org.sakaiproject.authz.cover.SecurityService; import org.sakaiproject.component.cover.ComponentManager; +import org.sakaiproject.component.cover.ServerConfigurationService; import org.sakaiproject.site.cover.SiteService; import org.sakaiproject.tool.cover.ToolManager; import org.sakaiproject.util.ResourceLoader; @@ -140,10 +142,12 @@ private void displayLocalImage(OutputStream stream) { String unavailable_image = msgs.getString("img_off_unavail"); + // If sakai.property is set, then use that instead + String unavailable_image_property = ServerConfigurationService.getString("roster_img_off_unavail", ""); if (LOG.isDebugEnabled()) LOG.debug("displayPhotoUnavailable(OutputStream" + stream + ", String " - + unavailable_image + ")"); + + unavailable_image + " "+unavailable_image_property+")"); try { BufferedInputStream in = null; @@ -152,6 +156,10 @@ in = new BufferedInputStream(new FileInputStream(getServletContext() .getRealPath(unavailable_image))); + + if (!"".equals(unavailable_image_property)) { + in = new BufferedInputStream(new FileInputStream(unavailable_image_property)); + } int ch; while ((ch = in.read()) != -1)