%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page trimDirectiveWhitespaces="true" %> <%@ page import="org.crosswire.utils.Utils" %> <%@ page import="org.crosswire.utils.Sessions" %> <%@ page import="org.crosswire.community.RightsAndRoles" %> <%@ page import="org.crosswire.community.projects.ntmss.data.Document" %> <%@ page import="org.crosswire.community.projects.ntmss.data.Page" %> <%@ page import="org.crosswire.community.projects.ntmss.data.Surrogate.SurrogateImage" %> <%@ page import="java.util.Set" %> <%@ page import="java.util.HashSet" %> <% String userName = Sessions.getSessionStringValue(request, "userName"); int docID = -1; try {docID = Integer.parseInt(request.getParameter("docID"));} catch (Exception e){} String pageIDStrings[] = request.getParameterValues("pageID"); if (pageIDStrings != null && pageIDStrings.length == 0) pageIDStrings = null; String surrID = request.getParameter("surrID"); if (docID > -1) { response.setContentType("text/xml"); Set pageIDs = new HashSet(); if (pageIDStrings != null) { for (String p : pageIDStrings) { try { pageIDs.add(Integer.parseInt(p));} catch (Exception e){} } } Document doc = Document.getDocument(docID); if (doc == null) { %> <% return; } String role = "VMR Administrator"; // let's check to see if we're a privileged user boolean permission = RightsAndRoles.hasRole(request, response, role) || (userName != null && userName.equals(doc.getUserID())); // --------------------------------------------- if (permission) { int count = 0; String imagesRootFolder = Utils.getSysConfig(session).getProperty("ImagesRootFolder"); String imagesRootURL = Utils.getSysConfig(session).getProperty("ImagesRootURL"); if (!imagesRootFolder.endsWith("/")) imagesRootFolder += "/"; if (!imagesRootURL.endsWith("/")) imagesRootURL += "/"; String errors = ""; for (Page p : doc.getPages(true)) { if (!pageIDs.isEmpty() && !pageIDs.contains(p.getPageID())) continue; p.setContentAccessLevel(5); for (SurrogateImage img : p.getSurrogateImages()) { if (!img.generateThumbnail(imagesRootFolder +"thumbs/", imagesRootURL + "thumbs/", 240)) { if (errors.length() < 1) { errors = "Problem generating thumbnail for some pages:"; } errors += " " + p.getPageID(); } else ++count; } } if (errors.length() < 1) { %> <% } else { // What do we do if we have errors? Well, we report success and state how many pages were successful. Hmmm. Not the worst that could happen. %> <% } } else { %> <% } return; } %> image/generatethumb Generate a new image thumbnail for a manuscript page image Parameters docIDmanuscript id of the image, e.g., 10046 pageIDoptional, page id of the image (can repeat). If not given, all images of all pages will be generated. e.g., 10
Generate a new image thumbnail for a manuscript page image