protected void process() { String actPath = getParameter("actPath"); if (!checkAccess(actPath)) { return; } String actPathOS = actPath.replace('/', File.separatorChar); String commentAuthor = uid; boolean modifyPermission = true; if (userMgr.getUserType(uid).equals("virtual")) { modifyPermission = InvitationManager.getInstance().commentsAllowed(uid); String author = req.getParameter("author"); if ((author != null) && (author.trim().length() > 0)) { commentAuthor = author; } } if (!modifyPermission) { Logger.getLogger(getClass()) .warn( "attempt to add comments for " + actPath + " from virtual user " + uid + " without permission"); return; } String newComment = getParameter("newComment"); if ((newComment != null) && (newComment.trim().length() > 0)) { MetaInfManager.getInstance() .addComment(actPathOS, new Comment(commentAuthor, new Date(), newComment)); } String mobile = (String) session.getAttribute("mobile"); if (mobile != null) { // (new MobileFolderFileListHandler(req, resp, session, output, uid)).handleRequest(); (new XslListCommentsHandler(req, resp, session, output, uid)).handleRequest(); } else { String role = userMgr.getRole(uid); if ((role != null) && role.equals("album")) { (new XslAlbumImageHandler(req, resp, session, output, uid)).handleRequest(); } else { (new XslListCommentsHandler(req, resp, session, output, uid)).handleRequest(); } } }
protected void process() { if (!checkWriteAccess()) { return; } String relPath = null; String path = getParameter("path"); if (isMobile()) { relPath = path; path = getAbsolutePath(path); } if (!checkAccess(path)) { return; } Element resultElement = doc.createElement("result"); String success = null; String resultMsg = ""; String lowerCaseDocRoot = userMgr.getLowerCaseDocRoot(uid); if (path.toLowerCase().replace('\\', '/').equals(lowerCaseDocRoot)) { success = "error"; resultMsg = getResource("alert.delhomedir", "The home directory may not be deleted!"); } else { File dirToBeDeleted = new File(path); if (!dirToBeDeleted.canWrite() || (!dirToBeDeleted.isDirectory())) { Logger.getLogger(getClass()) .warn(dirToBeDeleted + " cannot be deleted (is not a writable directory)"); success = "error"; resultMsg = getResource("alert.delDirError", "could not be deleted!"); } else { String fileList[] = dirToBeDeleted.list(); if (fileList.length > 0) { if ((fileList.length > 1) || (!fileList[0].equals(MetaInfManager.METAINF_FILE))) { String confirmed = getParameter("confirmed"); if ((confirmed == null) || (!confirmed.equalsIgnoreCase("true"))) { success = "notEmpty"; String shortPath = null; if (relPath != null) { shortPath = CommonUtils.shortName(relPath, 35); } else { shortPath = CommonUtils.shortName(path, 35); } resultMsg = shortPath + "\n" + getResource("confirm.forcedirdel", "is not empty.\nDelete it anyway?"); } } } if (success == null) { File parentDir = dirToBeDeleted.getParentFile(); if (delDirTree(path)) { MetaInfManager.getInstance().removePath(path); SubdirExistCache.getInstance().cleanupExistSubdir(path); FastPathManager.getInstance().removeTree(uid, path); success = "deleted"; XmlUtil.setChildText(resultElement, "parentPath", parentDir.getAbsolutePath()); } else { success = "error"; resultMsg = getResource("alert.delDirError", "could not be deleted!"); } // even if only a part of the tree could be deleted we have to refresh the // subdir status (new TestSubDirThread(parentDir.getAbsolutePath())).start(); } } } XmlUtil.setChildText(resultElement, "success", success); XmlUtil.setChildText(resultElement, "message", resultMsg); XmlUtil.setChildText(resultElement, "path", path); doc.appendChild(resultElement); this.processResponse(); }
protected void process() { String imagePath = getParameter("imagePath"); if ((imagePath == null) || (imagePath.trim().length() == 0)) { Logger.getLogger(getClass()).error("RateVotingHandler: imagePath missing"); return; } if (!this.checkAccess(imagePath)) { return; } String imagePathOS = imagePath.replace('/', File.separatorChar); String temp = getParameter("rating"); if (temp == null) { Logger.getLogger(getClass()).error("rating is null"); return; } int rating = (-1); try { rating = Integer.parseInt(temp); } catch (NumberFormatException nfe) { Logger.getLogger(getClass()).error("invalid rating: " + temp); return; } MetaInfManager metaInfMgr = MetaInfManager.getInstance(); if (readonly) { Hashtable ratedPictures = (Hashtable) session.getAttribute("ratedPictures"); if (ratedPictures == null) { ratedPictures = new Hashtable(5); session.setAttribute("ratedPictures", ratedPictures); } if (ratedPictures.get(imagePathOS) == null) { String visitorId = (String) req.getSession().getAttribute(VisitorServlet.SESSION_ATTRIB_VISITOR_ID); if (visitorId != null) { metaInfMgr.addIdentifiedVisitorRating(visitorId, imagePathOS, rating); } else { metaInfMgr.addVisitorRating(imagePathOS, rating); } ratedPictures.put(imagePathOS, new Boolean(true)); } } else { metaInfMgr.setOwnerRating(imagePathOS, rating); } String role = userMgr.getRole(uid); if ((role != null) && role.equals("album")) { (new XslAlbumPictureHandler(req, resp, session, output, uid)).handleRequest(); } else { this.setParameter("imgname", imagePath); (new XslShowImageHandler(req, resp, session, output, uid)).handleRequest(); } }