private String getStrToSign(HttpServletRequest request) { try { this.body = GetPostBody( request.getInputStream(), Integer.parseInt(request.getHeader("content-length"))); } catch (IOException e) { log.error(e.getMessage()); return null; } String queryString = request.getQueryString(); String uri = request.getRequestURI(); String decodeUri; try { decodeUri = java.net.URLDecoder.decode(uri, "UTF-8"); } catch (UnsupportedEncodingException e) { log.error(e.getMessage()); return null; } String authStr = decodeUri; if (queryString != null && !queryString.equals("")) { authStr += "?" + queryString; } authStr += "\n" + this.body; return authStr; }
public void drop(DropTargetDropEvent dtde) { dtde.acceptDrop(DnDConstants.ACTION_COPY); DataFlavor[] flavors = null; try { Transferable t = dtde.getTransferable(); iterator = null; flavors = t.getTransferDataFlavors(); if (IJ.debugMode) IJ.log("DragAndDrop.drop: " + flavors.length + " flavors"); for (int i = 0; i < flavors.length; i++) { if (IJ.debugMode) IJ.log(" flavor[" + i + "]: " + flavors[i].getMimeType()); if (flavors[i].isFlavorJavaFileListType()) { Object data = t.getTransferData(DataFlavor.javaFileListFlavor); iterator = ((List) data).iterator(); break; } else if (flavors[i].isFlavorTextType()) { Object ob = t.getTransferData(flavors[i]); if (!(ob instanceof String)) continue; String s = ob.toString().trim(); if (IJ.isLinux() && s.length() > 1 && (int) s.charAt(1) == 0) s = fixLinuxString(s); ArrayList list = new ArrayList(); if (s.indexOf("href=\"") != -1 || s.indexOf("src=\"") != -1) { s = parseHTML(s); if (IJ.debugMode) IJ.log(" url: " + s); list.add(s); this.iterator = list.iterator(); break; } BufferedReader br = new BufferedReader(new StringReader(s)); String tmp; while (null != (tmp = br.readLine())) { tmp = java.net.URLDecoder.decode(tmp.replaceAll("\\+", "%2b"), "UTF-8"); if (tmp.startsWith("file://")) tmp = tmp.substring(7); if (IJ.debugMode) IJ.log(" content: " + tmp); if (tmp.startsWith("http://")) list.add(s); else list.add(new File(tmp)); } this.iterator = list.iterator(); break; } } if (iterator != null) { Thread thread = new Thread(this, "DrawAndDrop"); thread.setPriority(Math.max(thread.getPriority() - 1, Thread.MIN_PRIORITY)); thread.start(); } } catch (Exception e) { dtde.dropComplete(false); return; } dtde.dropComplete(true); if (flavors == null || flavors.length == 0) { if (IJ.isMacOSX()) IJ.error( "First drag and drop ignored. Please try again. You can avoid this\n" + "problem by dragging to the toolbar instead of the status bar."); else IJ.error("Drag and drop failed"); } }
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { this.working_for = request.getRemoteAddr(); String content_type = request.getParameter("content-type"); String uri = request.getQueryString(); if (content_type != null) { response.setContentType(content_type); uri = uri.replace("content-type=" + content_type, ""); } else { response.setContentType(RESPONSE_HEADER); } PrintWriter out = response.getWriter(); String XSLuri = ""; String XMLuri = ""; String param = ""; Hashtable paramHash = new Hashtable(); /* Parameter fishing routine might look messy, the convention is as follow's : Any paramater given after the xml= until xsl= will be regarded as a URI for getting XML data, Any parameter before xml=<value> and after xsl=<value> will be regarded as a paramters for the xsl template. Special paramter content-type will be treated as such. */ if ((uri.indexOf("xml") > -1) && (uri.indexOf("xsl") > -1)) { XMLuri = uri.substring( (uri.indexOf("xml") + 4), (uri.indexOf("xsl") - 1)); // Find out where the xsl paramater starts XSLuri = request.getParameter("xsl"); // Get the xsl location parameter param = param + uri.substring(0, uri.indexOf("xml")) + uri.substring( uri.indexOf(XSLuri) + XSLuri.length()); // All the other stuff will be treated as extra transform // parameters String[] tmp = null; if (param.indexOf('&') > -1) { tmp = param.split("\\&"); } if (tmp != null) { for (int i = 0; i < tmp.length; i++) { if (tmp[i].length() > 0) { if (tmp[i].indexOf('=') > -1) { paramHash.put( new String(tmp[i].substring(0, tmp[i].indexOf("="))), new String( tmp[i].substring( tmp[i].indexOf("=") + 1))); // Java compiler does not like this, but I do ;) } } } } } else { if (uri.indexOf("xml") < 0) { XMLuri = null; } if (uri.indexOf("xsl") < 0) { XSLuri = null; } } Boolean quit = false; if ((XSLuri == null) || (XMLuri == null)) { out.println("No paramaters supplied, redo from start !"); } else { log.error(java.net.URLDecoder.decode(XMLuri)); StringBuffer XMLdata = new StringBuffer(); log.error(XMLuri); if (XMLuri.indexOf("%20") < 0) { XMLdata = getXMLdata(java.net.URLDecoder.decode(XMLuri)); } else { XMLdata = getXMLdata(XMLuri); } StringBuffer XSLdata = getXSLdata(XSLuri); if (XMLdata.toString().startsWith("Error!")) { out.println(XMLdata); quit = true; } if (XSLdata.toString().startsWith("Error!")) { out.println(XSLdata); quit = true; } if (!quit) { log.debug(this.working_for + " : XSL parameter : " + XSLuri); log.debug(this.working_for + " : XML parameter : " + XMLuri); out.println(transform(XMLdata, XSLdata, paramHash)); } } }
private void InitUpload() throws ServletException, IOException { String sConfig = myUtil.ReadFile(myUtil.getConfigFileRealPath(m_request.getServletPath())); ArrayList aStyle = myUtil.getConfigArray("Style", sConfig); String sAllowExt, sUploadDir, sBaseUrl, sContentPath; String sCurrDir, sDir; int nAllowBrowse; String sPathShareImage, sPathShareFlash, sPathShareMedia, sPathShareOther; // param String sType = myUtil.dealNull(m_request.getParameter("type")).toUpperCase(); String sStyleName = myUtil.dealNull(m_request.getParameter("style")); String sCusDir = myUtil.dealNull(m_request.getParameter("cusdir")); String sAction = myUtil.dealNull(m_request.getParameter("action")).toUpperCase(); String s_SKey = myUtil.dealNull(m_request.getParameter("skey")); // InitUpload String[] aStyleConfig = new String[1]; boolean bValidStyle = false; for (int i = 0; i < aStyle.size(); i++) { aStyleConfig = myUtil.split(aStyle.get(i).toString(), "|||"); if (sStyleName.toLowerCase().equals(aStyleConfig[0].toLowerCase())) { bValidStyle = true; break; } } if (!bValidStyle) { out.print(getOutScript("alert('Invalid Style!')")); out.close(); return; } if (!aStyleConfig[61].equals("1")) { sCusDir = ""; } String ss_FileSize = "", ss_FileBrowse = "", ss_SpaceSize = "", ss_SpacePath = "", ss_PathMode = "", ss_PathUpload = "", ss_PathCusDir = "", ss_PathCode = "", ss_PathView = ""; if ((aStyleConfig[61].equals("2")) && (!s_SKey.equals(""))) { ss_FileSize = (String) myUtil.dealNull(m_session.getAttribute("eWebEditor_" + s_SKey + "_FileSize")); ss_FileBrowse = (String) myUtil.dealNull(m_session.getAttribute("eWebEditor_" + s_SKey + "_FileBrowse")); ss_SpaceSize = (String) myUtil.dealNull(m_session.getAttribute("eWebEditor_" + s_SKey + "_SpaceSize")); ss_SpacePath = (String) myUtil.dealNull(m_session.getAttribute("eWebEditor_" + s_SKey + "_SpacePath")); ss_PathMode = (String) myUtil.dealNull(m_session.getAttribute("eWebEditor_" + s_SKey + "_PathMode")); ss_PathUpload = (String) myUtil.dealNull(m_session.getAttribute("eWebEditor_" + s_SKey + "_PathUpload")); ss_PathCusDir = (String) myUtil.dealNull(m_session.getAttribute("eWebEditor_" + s_SKey + "_PathCusDir")); ss_PathCode = (String) myUtil.dealNull(m_session.getAttribute("eWebEditor_" + s_SKey + "_PathCode")); ss_PathView = (String) myUtil.dealNull(m_session.getAttribute("eWebEditor_" + s_SKey + "_PathView")); if (myUtil.IsInt(ss_FileSize)) { aStyleConfig[11] = ss_FileSize; aStyleConfig[12] = ss_FileSize; aStyleConfig[13] = ss_FileSize; aStyleConfig[14] = ss_FileSize; aStyleConfig[15] = ss_FileSize; aStyleConfig[45] = ss_FileSize; } else { ss_FileSize = ""; } if (ss_FileBrowse.equals("0") || ss_FileBrowse.equals("1")) { aStyleConfig[43] = ss_FileBrowse; } else { ss_FileBrowse = ""; } if (myUtil.IsInt(ss_SpaceSize)) { aStyleConfig[78] = ss_SpaceSize; } else { ss_SpaceSize = ""; } if (!ss_PathMode.equals("")) { aStyleConfig[19] = ss_PathMode; } if (!ss_PathUpload.equals("")) { aStyleConfig[3] = ss_PathUpload; } if (!ss_PathCode.equals("")) { aStyleConfig[23] = ss_PathCode; } if (!ss_PathView.equals("")) { aStyleConfig[22] = ss_PathView; } sCusDir = ss_PathCusDir; } sBaseUrl = aStyleConfig[19]; nAllowBrowse = Integer.valueOf(aStyleConfig[43]).intValue(); if (nAllowBrowse != 1) { out.print(getOutScript("alert('Do not allow browse!')")); out.close(); return; } if (!sCusDir.equals("")) { sCusDir = myUtil.replace(sCusDir, "\\", "/"); if ((sCusDir.startsWith("/")) || (sCusDir.startsWith(".")) || (sCusDir.endsWith(".")) || (sCusDir.indexOf("./") >= 0) || (sCusDir.indexOf("/.") >= 0) || (sCusDir.indexOf("//") >= 0) || (sCusDir.indexOf("..") >= 0)) { sCusDir = ""; } else { if (!sCusDir.endsWith("/")) { sCusDir = sCusDir + "/"; } } } sUploadDir = aStyleConfig[3]; if (!sBaseUrl.equals("3")) { sUploadDir = myUtil.getRealPathFromRelative(m_request.getServletPath(), sUploadDir); } sUploadDir = GetSlashPath(sUploadDir); sUploadDir = sUploadDir + myUtil.replace(myUtil.replace(sCusDir, "/", sFileSeparator), "\\", sFileSeparator); if (sType.equals("FILE")) { sAllowExt = aStyleConfig[6]; } else if (sType.equals("MEDIA")) { sAllowExt = aStyleConfig[9]; } else if (sType.equals("FLASH")) { sAllowExt = aStyleConfig[7]; } else { sAllowExt = aStyleConfig[8]; } sPathShareImage = GetSlashPath( myUtil.getRealPathFromRelative(m_request.getServletPath(), "sharefile/image/")); sPathShareFlash = GetSlashPath( myUtil.getRealPathFromRelative(m_request.getServletPath(), "sharefile/flash/")); sPathShareMedia = GetSlashPath( myUtil.getRealPathFromRelative(m_request.getServletPath(), "sharefile/media/")); sPathShareOther = GetSlashPath( myUtil.getRealPathFromRelative(m_request.getServletPath(), "sharefile/other/")); String s_Out = ""; if (sAction.equals("FILE")) { String s_ReturnFlag = myUtil.dealNull(m_request.getParameter("returnflag")); String s_FolderType = myUtil.dealNull(m_request.getParameter("foldertype")); String s_Dir = myUtil.dealNull(m_request.getParameter("dir")); s_Dir = java.net.URLDecoder.decode(s_Dir, "UTF-" + "8"); String s_CurrDir = ""; if (s_FolderType.equals("upload")) { s_CurrDir = sUploadDir; } else if (s_FolderType.equals("shareimage")) { sAllowExt = ""; s_CurrDir = sPathShareImage; } else if (s_FolderType.equals("shareflash")) { sAllowExt = ""; s_CurrDir = sPathShareFlash; } else if (s_FolderType.equals("sharemedia")) { sAllowExt = ""; s_CurrDir = sPathShareMedia; } else { s_FolderType = "shareother"; sAllowExt = ""; s_CurrDir = sPathShareOther; } s_Dir = myUtil.replace(s_Dir, "\\", "/"); if ((s_Dir.startsWith("/")) || (s_Dir.startsWith(".")) || (s_Dir.endsWith(".")) || (s_Dir.indexOf("./") >= 0) || (s_Dir.indexOf("/.") >= 0) || (s_Dir.indexOf("//") >= 0) || (s_Dir.indexOf("..") >= 0)) { s_Dir = ""; } String s_Dir2 = myUtil.replace(s_Dir, "/", sFileSeparator); s_Dir2 = myUtil.replace(s_Dir2, "\\", sFileSeparator); if (!s_Dir.equals("")) { if (CheckValidDir(s_CurrDir + s_Dir2)) { s_CurrDir += s_Dir2; } else { s_Dir = ""; } } if (CheckValidDir(s_CurrDir)) { File file = new File(s_CurrDir); File[] filelist = file.listFiles(); if (filelist != null && filelist.length > 0) { int n = -1; for (int i = 0; i < filelist.length; i++) { if (filelist[i].isFile()) { String s_FileName = filelist[i].getName(); String s_FileExt = s_FileName.substring(s_FileName.lastIndexOf(".") + 1); s_FileExt = s_FileExt.toLowerCase(); if (CheckValidExt(sAllowExt, s_FileExt)) { n++; s_Out = s_Out + "arr[" + String.valueOf(n) + "]=new Array(\"" + s_FileName + "\", \"" + String.valueOf(convertFileSize(filelist[i].length())) + "\",\"" + formatDate(new Date(filelist[i].lastModified())) + "\");\n"; } } } } } s_Out = "var arr = new Array();\n" + s_Out + "parent.setFileList('" + s_ReturnFlag + "', '" + s_FolderType + "', '" + s_Dir + "', arr);"; out.print(getOutScript(s_Out)); } else { s_Out = "var arrUpload = new Array();\n"; s_Out += "var arrShareImage = new Array();\n"; s_Out += "var arrShareFlash = new Array();\n"; s_Out += "var arrShareMedia = new Array();\n"; s_Out += "var arrShareOther = new Array();\n"; s_Out += GetFolderTree(sUploadDir, "Upload", 1, 0).get(0).toString(); sAllowExt = ""; if (sType.equals("FILE")) { s_Out += GetFolderTree(sPathShareImage, "ShareImage", 1, 0).get(0).toString(); s_Out += GetFolderTree(sPathShareFlash, "ShareFlash", 1, 0).get(0).toString(); s_Out += GetFolderTree(sPathShareMedia, "ShareMedia", 1, 0).get(0).toString(); s_Out += GetFolderTree(sPathShareOther, "ShareOther", 1, 0).get(0).toString(); } else if (sType.equals("MEDIA")) { s_Out += GetFolderTree(sPathShareMedia, "ShareMedia", 1, 0).get(0).toString(); } else if (sType.equals("FLASH")) { s_Out += GetFolderTree(sPathShareFlash, "ShareFlash", 1, 0).get(0).toString(); } else { s_Out += GetFolderTree(sPathShareImage, "ShareImage", 1, 0).get(0).toString(); } s_Out += "parent.setFolderList(arrUpload, arrShareImage, arrShareFlash, arrShareMedia, arrShareOther);"; out.print(getOutScript(s_Out)); } }