<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ page contentType="text/html; charset=UTF-8" language="java" %> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <%@ page import="org.apache.commons.io.*" %> <%@ page import="com.csc.library.utilities.UProfile" %> <%@ page import="com.csc.library.utilities.CheckNull" %> <%@ page import="com.csc.library.fileutils.*" %> <%@ page import="com.csc.library.upload.*" %> <%@ page import="com.csc.library.upload.utils.*" %> <%@ page import="com.csc.library.upload.UploadConfig" %> <%@ page import="com.csc.library.session.InitialEnvironment" %> <%@ page import="com.csc.library.download.FileDownloadUtils2" %> <jsp:useBean id="uploadbean" class="com.csc.library.upload.CscFileUpload" scope="request" /> <% CheckNull chkNull = new CheckNull(); int fileCount = 1, uploadLastFileIndex = 1; long fileSizeMax= -1L; boolean blacklistenabled = false, error = false; String root = "", folder= "", filter = ""; String uploadfield = request.getParameter("uploadfield"); String fieldreturn = request.getParameter("fieldreturn"); String subfolder = request.getParameter("subfolder"); //out.println("fieldreturn " + fieldreturn); UploadConfig uconfig = null; try { uconfig = new UploadConfig(); uconfig.setUploadField( uploadfield ); filter=uconfig.getFilter(); blacklistenabled = uconfig.isBlacklistenabled(); fileSizeMax = uconfig.getFileSizeMax(); fileCount = uconfig.getFileCount(); if(fileCount>1) { uploadLastFileIndex = fileCount; } } catch (Exception e) { error = true; request.setAttribute("error", e.getMessage() ); } if(CscFileUpload.isMultipartFormData( request ) ) { try { System.out.println("Start uploading..."); uploadbean.setProgressListener(new FileUploadProgressListener(request, 30) ); uploadbean.setFileSizeMax(fileSizeMax); uploadbean.process( request ); Map files = uploadbean.getFiles(); String uploadpath; root = uconfig.getRoot(); folder = uconfig.getFolder(); InitialEnvironment env = new InitialEnvironment("GLOBAL"); uploadpath = env.getValue( root +"-dir" ); if( folder != null && !("").equals(folder) ) { uploadpath = uploadpath +folder +"/"; } if( subfolder != null && !("").equals(subfolder) ) { uploadpath = uploadpath +subfolder +"/"; } request.setAttribute("path",uploadpath); uploadbean.setUploadDirectory( uploadpath ); uploadbean.setFileFilter( filter ); uploadbean.setBlacklistEnabled( blacklistenabled ); FileRenamePolicy fileRename = (FileRenamePolicy)uconfig.getFileRenamePolicy(); if(fileRename == null ) { fileRename = new TimeStampFileRename(); } uploadbean.setFileRenamePolicy( fileRename ); System.out.println("Process file upload"); if(FileUploadUtils.getUploadInfo(request).isCancel()) { request.setAttribute("cancel", "Upload cancel."); System.out.println("jsp-Cancel"); } else if( files != null && files.size()>0 ) { uploadbean.save(); request.setAttribute("success", "The file was uploaded successfully!"); System.out.println("jsp-success"); } else if(!error) { request.setAttribute("error", "No file upload" ); System.out.println("jsp-error : No file upload:" +files.size()); } } catch(Exception e) { request.setAttribute("error", e.getMessage()); System.out.println("jsp-error :" +e.getMessage()); e.printStackTrace(); } } UProfile uprofile = (UProfile)request.getSession().getAttribute("userprofile"); String lang= "tha"; if( uprofile!= null && uprofile.get("lang")!=null ) { lang = uprofile.get("lang"); } %> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="PRAGMA" content="NO-CACHE"> <link rel="stylesheet" type="text/css" href="CSS/TISCO.css" /> <link rel="stylesheet" type="text/css" href="CSS/UPLOAD_UI.css" /> <script type="text/javascript" src="<%=request.getContextPath() %>/dwr/interface/UploadMonitor.js"></script> <script type="text/javascript" src="<%=request.getContextPath() %>/dwr/engine.js"></script> <script type="text/javascript" src="JS/JavaUtils.js"></script> <script type="text/javascript" src="JS/FilenameUtils.js"></script> <script type="text/javascript" src="JS/UPLOAD2.js"></script> <script type='text/javascript' src='/hr/dwr/interface/SearchDWR.js'></script> <script type='text/javascript' src='/hr/dwr/util.js'></script> <script type='text/javascript' src='/hr/dwr/interface/Createemployeelist_dwr.js'></script> <script type='text/javascript' src='/hr/dwr/interface/Createleavelist_dwr.js'></script> <script type="text/javascript"> var fileFilter, restrict; var lang = "<%=lang%>"; var uploadLastFileIndex = <%=uploadLastFileIndex %>; function activeButton(obj, active){ } function cancelUpload(){ activeButton($("cancelButton"), false); if(submitted) { if(uploadCanCancel()) { cancelProgress(); } }else { closePage(); } } function closePage() { window.close(); } function reloadPage() { window.location.replace( window.location.href ); } function uploadReturn(){ with(document.cscform) { var cmd = window.opener.document.getElementsByName("__cmd")[0]; var cmdchild = window.opener.document.getElementsByName("__cmdchild")[0]; var fieldreturn = window.opener.document.getElementsByName(__fieldreturn.value)[0]; // alert(fieldreturn + " >> "+__uploadreturn.value); if(fieldreturn != null && typeof(fieldreturn) !="undefined" ) { fieldreturn.value = __uploadreturn.value; } cmd.value = 'refresh'; if(cmdchild != null && typeof(cmdchild) !="undefined" ) { cmdchild.value = 'upload'; } window.opener.document.cscform.submit(); } } function CreateEmpList(path,filename,emp_boss){ Createleavelist_dwr.createlist(path,filename,emp_boss,isApproved); } var isApproved = function(data){ if(data == "ImportUnsuccess"){ let msg = lang==='tha'?"ไม่สามารถนำเข้าได้":data; alert(data); data = ""; } var filename = document.cscform.__filename.value; var pathname = document.cscform.__pathname.value; window.opener.document.cscform.__wf__pathname.value = pathname; window.opener.document.cscform.__wf__filename.value = filename; window.opener.document.cscform.__wf__group_name.value = filename; window.opener.document.cscform.__empListid.value = data; window.opener.document.cscform.__uploadFile.value = "true"; window.opener.initiframe('Y'); /* if(document.cscform.__del.value != ""){ var oldfilenme = document.getElementById("__oldfilename").value; var uploadfield = document.getElementById("__uploadfield").value; //alert(uploadfield+":"+subfolder+":"+oldfilenme); Createleavelist_dwr.removeList(document.cscform.__del.value,uploadfield,subfolder,oldfilenme); } */ }; /* // used input image and set on form submit = startProgress; function processUpload(){ with(document.cscform) { submit(); startProgress(); } } */ </script> <style type="text/css"> #mainMasterTable { background: #efefef; } #preUpload { /*padding-left: 30px;*/ } .subText2 { color: #000000; } .input-image { height: 23px; min-width: 73px; border: 0px solid none; } </style> </head> <body> <div id="wrapper"> <table align="center" cellpadding="0" cellspacing="0" id="mainMasterTable"> <tr> <td class="header">UPLOADFILE, <script type="text/javascript">document.write( messages[lang]["upload-page-title"] );</script> </td> </tr> <tr> <td valign="top"> <% if (request.getAttribute("cancel") != null) { %> <div class="globalContentSpacing"> <table border="0" cellpadding="0" cellspacing="0" class="maxsize"> <tr> <td width="48" height="48" rowspan="2"> <span id="titleIcon"><img src="IMAGES/UPLOAD/ICON/ICON-WARNING.gif" width="48" height="48" align="absmiddle" /></span> </td> <td> <h1 class="pageTitle"><span id="titleText"><script type="text/javascript">document.write( messages[lang]["upload-cancel-title"] );</script></span></h1> </td> </tr> <tr> <td><div class="subText" id="pageSubText"></div></td> </tr> </table> <div id="postUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div class="message"> <p><script type="text/javascript">document.write( messages[lang]["upload-cancel-message"] );</script></p> </div> </div> <div class="pageTitlePadding"></div> </div> </div> <div id="buttonBarRow"> <div id="buttonCancel" class="buttonline" align="center"> <a href="javascript:;" onclick="reloadPage();"><img src="IMAGES/BUTTON/RETRY.gif" width="73" height="23" border="0"></a> <a href="javascript:;" onclick="closePage();"><img src="IMAGES/BUTTON/CLOSE.gif" width="73" height="23" border="0"></a> </div> </div> <% } else if (request.getAttribute("error") != null) { %> <div class="globalContentSpacing"> <table border="0" cellpadding="0" cellspacing="0" class="maxsize"> <tr> <td width="48" height="48" rowspan="2"> <span id="titleIcon"><img src="IMAGES/UPLOAD/ICON/ICON-ERROR.gif" width="48" height="48" align="absmiddle" /></span> </td> <td> <h1 class="pageTitle"><span id="titleText"><script type="text/javascript">document.write( messages[lang]["upload-error-title"] );</script></span></h1> </td> </tr> <tr> <td> <div class="subText" id="pageSubText"> <script type="text/javascript">document.write( messages[lang]["upload-error-sub"] );</script> </div> </td> </tr> </table> <div id="postUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div class="message"> <p><%=request.getAttribute("error")%></p> </div> </div> <div class="pageTitlePadding"></div> </div> </div> <div id="buttoBarRow"> <div id="buttonError" class="buttonline" align="center"> <a href="javascript:;" onclick="reloadPage();"><img src="IMAGES/BUTTON/RETRY.gif" width="73" height="23" border="0"></a> <a href="javascript:;" onclick="closePage();"><img src="IMAGES/BUTTON/CLOSE.gif" width="73" height="23" border="0"></a> </div> </div> <% } else if (request.getAttribute("success") != null) { %> <form name="cscform" id="cscform" method="post" action="?<%=request.getQueryString()%>"> <input type="hidden" name="__fieldreturn" value="<%=fieldreturn %>" /> <div class="globalContentSpacing"> <table border="0" cellpadding="0" cellspacing="0" class="maxsize"> <tr> <td width="48" height="48" rowspan="2"> <span id="titleIcon"><img src="IMAGES/UPLOAD/ICON/ICON-TIPS.gif" width="48" height="48" align="absmiddle" /></span> </td> <td> <h1 class="pageTitle"> <span id="titleText"> <script type="text/javascript">document.write( messages[lang]["upload-success-title"] );</script> </span> </h1> </td> </tr> <tr> <td> <div class="subText" id="pageSubText"> <script type="text/javascript">document.write( messages[lang]["upload-success-sub"] );</script> </div> </td> </tr> </table> <div id="postUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div id="fileUploads"> <% List history = uploadbean.getHistory(); StringBuffer uploadReturn = new StringBuffer(); FileDownloadUtils2 utils = null; System.out.println(history.size()); UploadParameters up = (UploadParameters)history.get(0); uploadReturn.append(up.getFilename()); utils = new FileDownloadUtils2(uploadfield, up.getFilename()); if( subfolder != null && !("").equals(subfolder) ) { utils.setSubfolder(subfolder); } request.setAttribute("filename",up.getFilename()); %> <div class="listFiles"> <span class="attachIcon"><img src="IMAGES/UPLOAD/ICON/ICON-ATTACH.gif" /></span> <a href="<%=utils.getDownloadUrl()%>"><%=up.getOrgFilename()%></a> [<%=FileUtils.byteCountToDisplaySize(up.getFilesize())%>] </div> <input type="hidden" id="__uploadreturn" name="__uploadreturn" value="<%=uploadReturn.toString()%>" /> </div> </div> <div class="pageTitlePadding"></div> </div> </div> <input type="hidden" id="__del" name="__del" value="<%=chkNull.chkNullString(request.getParameter("__del"),"")%>" /> <input type="hidden" id="__subfolder" name="__subfolder" value="<%=chkNull.chkNullString(request.getParameter("subfolder"),"")%>" /> <input type="hidden" id="__pathname" name="__pathname" value="<%=request.getAttribute("path")%>" /> <input type="hidden" id="__filename" name="__filename" value="<%=request.getAttribute("filename")%>" /> <input type="hidden" id="__oldfilename" name="__oldfilename" value="<%=chkNull.chkNullString(request.getParameter("oldfilename"),"")%>" /> <input type="hidden" id="__uploadfield" name="__uploadfield" value="<%=chkNull.chkNullString(request.getParameter("uploadfield"),"")%>" /> <input type="hidden" id="__emp_boss" name="__emp_boss" value="<%=chkNull.chkNullString(request.getParameter("emp_boss"),"0")%>" /> <script type="text/javascript">CreateEmpList('<%=request.getAttribute("path")%>','<%=request.getAttribute("filename")%>','<%=chkNull.chkNullString(request.getParameter("emp_boss"),"")%>');</script> <script type="text/javascript">//uploadReturn();</script> <div id="buttonBarRow"> <div id="buttonSuccess" class="buttonline" align="center"> <a href="javascript:;" onclick="closePage();"><img src="IMAGES/BUTTON/CLOSE.gif" width="73" height="23" border="0"></a> </div> </div> </form> <% } else {%> <% FileUploadUtils.removeUploadInfo(request); %> <form name="cscform" id="cscform" enctype="multipart/form-data" method="post" action="?<%=request.getQueryString()%>" onsubmit="return startProgress();" > <input type="hidden" name="__blacklistenabled" value="<%=blacklistenabled %>" /> <input type="hidden" name="__filter" value="<%=filter %>" /> <input type="hidden" name="__fieldreturn" value="<%=fieldreturn %>" /> <script type="text/javascript">initialFileFilter();</script> <div class="globalContentSpacing"> <table border="0" cellpadding="0" cellspacing="0" class="maxsize"> <tr> <td width="48" height="48" rowspan="2"> <span id="titleIcon"> <img src="IMAGES/UPLOAD/ICON/ICON-UPLOAD.gif" width="48" height="48" align="absmiddle" /> </span> </td> <td> <h1 class="pageTitle"> <span id="titleText"> <script type="text/javascript">document.write( messages[lang]["upload-title"] );</script> </span> </h1> </td> </tr> <tr> <td> <div class="subText" id="pageSubText"> <script type="text/javascript">document.write( messages[lang]["upload-message"] );</script> </div> </td> </tr> </table> <div id="preUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div id="fileUploads"> <% if( fileCount == 0 ) { %> <div id="filediv1"> <input type="file" id="file1" name="file1" size="50" class="fileUploadBox" onchange="chkFileUpload(event, this);" onkeyup="chkFileUpload(event, this);" /> </div> <% } else { for(int index=1; index<= fileCount; index++) { %> <div id="filediv<%=index %>"> <input type="file" id="file<%=index %>" name="file<%=index %>" size="50" class="fileUploadBox" onchange="chkFileUpload(event, this);" onkeyup="chkFileUpload(event, this);" /> </div> <% } } %> </div> <div class="pageTitlePadding"></div> <div class="subText2"> <% if(fileSizeMax>0) {%> <script type="text/javascript">document.write( messages[lang]["upload-max-size"] );</script>: <span><%=FileUtils.byteCountToDisplaySize(fileSizeMax)%></span> <% } %> </div> <div class="subText2"> <script type="text/javascript">document.write( messages[lang]["extensions<% if(blacklistenabled){%>-not<%}%>-allow"] );</script>: <span><%=filter%></span> </div> </div> <div class="pageTitlePadding"></div> </div> <div id="duringUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div id="progressBar"> <div id="progressBarText">Upload in progress: 0% </div> <div id="progressBarBox"> <div id="progressBarBoxContent" style="width:1px;"></div> </div> <div id="progressStatusText">Status : Upload start</div> </div> </div> <div class="pageTitlePadding"></div> </div> <div id="postUpload" class="displayVisible"> <div class="pageTitlePadding"></div> <div class="uploadContent"> <div class="message"> <p><script type="text/javascript">document.write( messages[lang]["upload-cancel-message"] );</script></p> </div> </div> <div class="pageTitlePadding"></div> </div> <script type="text/javascript">setVisible($("duringUpload"), false);</script> <script type="text/javascript">setVisible($("postUpload"), false);</script> </div> <div id="buttonBarRow"> <div id="buttonUpload" class="buttonline" align="center"> <input name="btnUpload" type="image" class="input-image" id="btnUpload" value="upload" src="IMAGES/BUTTON/UPLOAD.gif" border="0" /> <a href="javascript:;" onclick="cancelUpload();"><img src="IMAGES/BUTTON/CANCEL.gif" width="73" height="23" border="0"></a> </div> <div id="buttonCancel" class="buttonline" align="center"> <a href="javascript:;" onclick="reloadPage();"><img src="IMAGES/BUTTON/RETRY.gif" width="73" height="23" border="0"></a> <a href="javascript:;" onclick="closePage();"><img src="IMAGES/BUTTON/CLOSE.gif" width="73" height="23" border="0"></a> </div> <script type="text/javascript">setVisible($("buttonCancel"), false);</script> </div> </form> <% } %> </td> </tr> <tr> <td class="blankspace"></td> </tr> <tr> <td class="bottom"></td> </tr> </table> </div> </body> </html>