private void sendSubscriberNotification( String email, String code, String blogTitle, String virtualUser, String blogAccessCode) { String userLanguage = WebFileSys.getInstance().getUserMgr().getLanguage(virtualUser); try { String templateFilePath = WebFileSys.getInstance().getConfigBaseDir() + "/languages/blogChangeNotification_" + userLanguage + ".template"; MailTemplate notificationTemplate = new MailTemplate(templateFilePath); notificationTemplate.setVarValue("BLOGTITLE", blogTitle); String blogURL = WebFileSys.getInstance().getClientUrl() + "/visitor/" + virtualUser + "/" + blogAccessCode; notificationTemplate.setVarValue("BLOGURL", blogURL); String unsubscribeURL = WebFileSys.getInstance().getClientUrl() + "/servlet?command=blog&cmd=unsubscribe&virtualUser="******"&email=" + UTF8URLEncoder.encode(email) + "&code=" + code; notificationTemplate.setVarValue("UNSUBSCRIBEURL", unsubscribeURL); String mailText = notificationTemplate.getText(); String subject = LanguageManager.getInstance() .getResource( userLanguage, "blog.subjectChangeNotification", "New entries in the Blog"); (new SmtpEmail(email, subject, mailText)).send(); Logger.getLogger(getClass()) .info("blog subscriber notification mail sent to " + email + " for blog " + blogTitle); } catch (IllegalArgumentException iaex) { System.out.println(iaex); } }
protected void process() { String imgFileName = getParameter("imgFile"); if (!this.checkAccess(imgFileName)) { return; } Element cameraDataElement = doc.createElement("cameraData"); doc.appendChild(cameraDataElement); ProcessingInstruction xslRef = doc.createProcessingInstruction( "xml-stylesheet", "type=\"text/xsl\" href=\"/webfilesys/xsl/cameraData.xsl\""); doc.insertBefore(xslRef, cameraDataElement); XmlUtil.setChildText(cameraDataElement, "css", userMgr.getCSS(uid), false); String shortImgName = CommonUtils.shortName(this.getHeadlinePath(imgFileName), 48); XmlUtil.setChildText(cameraDataElement, "shortImgName", shortImgName, false); addMsgResource("alt.cameradata", getResource("alt.cameradata", "Camera Data")); addMsgResource( "alert.nocameradata", getResource("alert.nocameradata", "No camera data available")); addMsgResource("label.picturefile", getResource("label.picturefile", "picture file")); addMsgResource("label.manufacturer", getResource("label.manufacturer", "camera manufacturer")); addMsgResource("label.cameramodel", getResource("label.cameramodel", "camera model")); addMsgResource("label.exposuredate", getResource("label.exposuredate", "exposure date")); addMsgResource("label.exposuretime", getResource("label.exposuretime", "exposure time")); addMsgResource("label.aperture", getResource("label.aperture", "aperture")); addMsgResource("label.isoValue", getResource("label.isoValue", "ISO equivalent")); addMsgResource("label.flashfired", getResource("label.flashfired", "flash fired")); addMsgResource("label.imgwidth", getResource("label.imgwidth", "image width")); addMsgResource("label.imgheight", getResource("label.imgheight", "image height")); addMsgResource("label.thumbexists", getResource("label.thumbexists", "thumbnail included")); addMsgResource("label.gpsLatitude", getResource("label.gpsLatitude", "GPS latitude")); addMsgResource("label.gpsLongitude", getResource("label.gpsLongitude", "GPS longitude")); addMsgResource("button.closewin", getResource("button.closewin", "Close Window")); CameraExifData exifData = new CameraExifData(imgFileName); if (exifData.hasExifData()) { Element exifDataElement = doc.createElement("exifData"); cameraDataElement.appendChild(exifDataElement); String manufacturer = exifData.getManufacturer(); if (manufacturer != null) { XmlUtil.setChildText(exifDataElement, "manufacturer", manufacturer); } String cameraModel = exifData.getCameraModel(); if (cameraModel != null) { XmlUtil.setChildText(exifDataElement, "cameraModel", cameraModel); } Date exposureDate = exifData.getExposureDate(); if (exposureDate != null) { SimpleDateFormat dateFormat = LanguageManager.getInstance().getDateFormat(language); String formattedDate = dateFormat.format(exposureDate); XmlUtil.setChildText(exifDataElement, "exposureDate", formattedDate); } String exposureTime = exifData.getExposureTime(); if (exposureTime != null) { XmlUtil.setChildText(exifDataElement, "exposureTime", exposureTime); } String aperture = exifData.getAperture(); if (aperture != null) { XmlUtil.setChildText(exifDataElement, "aperture", aperture); } String isoValue = exifData.getISOValue(); if (isoValue != null) { XmlUtil.setChildText(exifDataElement, "isoValue", isoValue); } int flashFired = exifData.getFlashFired(); if (flashFired >= 0) { if ((flashFired == 0) || (flashFired == 16) || (flashFired == 24) || (flashFired == 32)) { XmlUtil.setChildText(exifDataElement, "flashFired", getResource("label.no", "no")); } else { XmlUtil.setChildText(exifDataElement, "flashFired", getResource("label.yes", "yes")); } } int imageWidth = exifData.getImageWidth(); if (imageWidth >= 0) { XmlUtil.setChildText(exifDataElement, "imgWidth", Integer.toString(imageWidth)); } int imageHeight = exifData.getImageHeigth(); if (imageHeight >= 0) { XmlUtil.setChildText(exifDataElement, "imgHeight", Integer.toString(imageHeight)); } int thumbLength = exifData.getThumbnailLength(); if (thumbLength > 0) { String srcFileName = "/webfilesys/servlet?command=exifThumb&imgFile=" + UTF8URLEncoder.encode(imgFileName); XmlUtil.setChildText(exifDataElement, "thumbnailPath", srcFileName); } int thumbWidth = exifData.getThumbWidth(); int thumbHeight = exifData.getThumbHeight(); if ((thumbWidth > 0) && (thumbHeight > 0)) { XmlUtil.setChildText(exifDataElement, "thumbnailWidth", Integer.toString(thumbWidth)); XmlUtil.setChildText(exifDataElement, "thumbnailHeight", Integer.toString(thumbHeight)); } float gpsLatitude = exifData.getGpsLatitude(); if (gpsLatitude >= 0.0f) { XmlUtil.setChildText( exifDataElement, "gpsLatitude", Float.toString(gpsLatitude) + " " + exifData.getGpsLatitudeRef()); } float gpsLongitude = exifData.getGpsLongitude(); if (gpsLongitude >= 0.0f) { XmlUtil.setChildText( exifDataElement, "gpsLongitude", Float.toString(gpsLongitude) + " " + exifData.getGpsLongitudeRef()); } int orientation = exifData.getOrientation(); if (orientation != CameraExifData.ORIENTATION_UNKNOWN) { XmlUtil.setChildText(exifDataElement, "orientation", Integer.toString(orientation)); addMsgResource("label.imgOrientation", getResource("label.imgOrientation", "orientation")); addMsgResource("orientation.landscape", getResource("orientation.landscape", "lanscape")); addMsgResource("orientation.portrait", getResource("orientation.portrait", "portrait")); } } this.processResponse("cameraData.xsl", false); }
protected void process() { if (!checkWriteAccess()) { return; } String filePath = getParameter("filePath"); if (!checkAccess(filePath)) { return; } output.println("<html>"); output.println("<head>"); output.println( "<link rel=\"stylesheet\" type=\"text/css\" href=\"/webfilesys/styles/common.css\">"); output.println( "<link rel=\"stylesheet\" type=\"text/css\" href=\"/webfilesys/styles/skins/" + userMgr.getCSS(uid) + ".css\">"); output.println("</head>"); output.println("<body>"); headLine(getResource("label.untarhead", "Extract from TAR archive")); output.println("<br/>"); output.println("<form accept-charset=\"utf-8\" name=\"form1\">"); output.println("<table class=\"dataForm\" width=\"100%\">"); output.println("<tr>"); output.println("<td colspan=\"2\" class=\"formParm1\">"); output.println(getResource("label.extractfrom", "extracting from") + ":"); output.println("</td>"); output.println("</tr>"); output.println("<tr>"); output.println("<td colspan=\"2\" class=\"formParm2\">"); output.println(this.getHeadlinePath(filePath)); output.println("</td>"); output.println("</tr>"); output.println("<tr>"); output.println("<td colspan=\"2\" class=\"formParm1\">"); output.println(getResource("label.currentzip", "current file") + ":"); output.println("</td>"); output.println("</tr>"); output.println("<tr>"); output.println("<td colspan=\"2\" class=\"formParm2\">"); output.println("<div id=\"currentFile\" />"); output.println("</td>"); output.println("</tr>"); output.println("<tr>"); output.println("<td colspan=\"2\" class=\"formParm1\">"); output.println(getResource("label.untarResult", "files extracted") + ":"); output.println("</td>"); output.println("</tr>"); output.println("<tr>"); output.println("<td colspan=\"2\" class=\"formParm2\">"); output.println("<div id=\"extractCount\" />"); output.println("</td>"); output.println("</tr>"); boolean untarOkay = true; int untarNum = 0; boolean dirCreated = false; try { TarInputStream tarFile = new TarInputStream(new FileInputStream(filePath)); TarEntry tarEntry = null; byte buff[] = new byte[4096]; while ((tarEntry = tarFile.getNextEntry()) != null) { output.println("<script language=\"javascript\">"); output.println( "document.getElementById('currentFile').innerHTML='" + CommonUtils.shortName(tarEntry.getName(), 45) + " (" + tarEntry.getSize() + " bytes)';"); output.println("document.getElementById('extractCount').innerHTML='" + untarNum + "';"); output.println("</script>"); output.flush(); File untarOutFile = createUntarFile(tarEntry.getName()); if (!(untarOutFile.isDirectory())) { FileOutputStream destination = null; try { destination = new FileOutputStream(untarOutFile); boolean done = false; while (!done) { int bytesRead = tarFile.read(buff); if (bytesRead == -1) { done = true; } else { destination.write(buff, 0, bytesRead); } } destination.close(); } catch (IOException ioex) { Logger.getLogger(getClass()).error("untar error in file " + untarOutFile, ioex); output.println("<font class=\"error\">"); output.println( getResource("label.untarError", "Failed to extract from TAR archive") + ": " + untarOutFile); output.println("</font><br><br>"); untarOkay = false; try { if (destination != null) { destination.close(); } untarOutFile.delete(); } catch (Exception ex) { } } untarNum++; } else { dirCreated = true; } } tarFile.close(); } catch (IOException ioex) { Logger.getLogger(getClass()).error("failed to extract from tar archive", ioex); output.println("<font class=\"error\">"); output.println(getResource("label.untarError", "Failed to extract from TAR archive")); output.println("</font><br><br>"); untarOkay = false; } if (dirCreated) { TestSubDirThread subDirThread = new TestSubDirThread(getCwd()); subDirThread.start(); } String filenameWithoutPath = filePath.substring(filePath.lastIndexOf(File.separator) + 1); output.println("<script language=\"javascript\">"); output.println("document.getElementById('extractCount').innerHTML='" + untarNum + "';"); output.println("</script>"); output.flush(); String returnUrl = null; if (!untarOkay) { output.println("<tr>"); output.println("<td colspan=\"2\" class=\"formButton\">"); returnUrl = "/webfilesys/servlet?command=listFiles"; output.println( "<input type=\"button\" value=\"" + getResource("button.return", "Return") + "\" onclick=\"window.location.href='" + returnUrl + "'\">"); output.println("</td>"); output.println("</tr>"); } else { output.println("<tr>"); output.println("<td class=\"formButton\">"); String mobile = (String) session.getAttribute("mobile"); if (mobile != null) { returnUrl = "/webfilesys/servlet?command=mobile&cmd=folderFileList&keepListStatus=true"; } else { returnUrl = "/webfilesys/servlet?command=listFiles&keepListStatus=true"; } output.print( "<input type=\"button\" value=\"" + getResource("button.keepTarArchive", "keep TAR archive") + "\" onclick=\""); if ((mobile == null) && (dirCreated)) { output.print( "window.parent.frames[1].location.href='/webfilesys/servlet?command=refresh&path=" + UTF8URLEncoder.encode(getCwd()) + "';"); } output.println("window.location.href='" + returnUrl + "'\">"); output.println("</td>"); output.println("<td class=\"formButton\" style=\"text-align:right\">"); returnUrl = "/webfilesys/servlet?command=fmdelete&fileName=" + UTF8URLEncoder.encode(filenameWithoutPath) + "&deleteRO=no"; output.print( "<input type=\"button\" value=\"" + getResource("button.delTarArchive", "delete TAR archive") + "\" onclick=\""); if ((mobile == null) && (dirCreated)) { output.print( "window.parent.frames[1].location.href='/webfilesys/servlet?command=refresh&path=" + UTF8URLEncoder.encode(getCwd()) + "';"); } output.println("window.location.href='" + returnUrl + "'\">"); output.println("</td>"); output.println("</tr>"); if (WebFileSys.getInstance().isAutoCreateThumbs()) { if (dirCreated) { AutoThumbnailCreator.getInstance().queuePath(getCwd(), AutoThumbnailCreator.SCOPE_TREE); } else { AutoThumbnailCreator.getInstance().queuePath(getCwd(), AutoThumbnailCreator.SCOPE_DIR); } } } output.println("</table>"); output.println("</form>"); output.print("</body>"); output.println("</html>"); output.flush(); }