documentmgr.java
来自「cwbbs 云网论坛源码」· Java 代码 · 共 1,162 行 · 第 1/3 页
JAVA
1,162 行
public void createAllPageHtml(HttpServletRequest request, Document doc) throws ErrMsgException { for (int i = 0; i < doc.getPageCountPlugin(); i++) { createHtml(request, doc, i + 1); } } public void createHtml(HttpServletRequest request, Document doc, int pageNum) throws ErrMsgException { if (Leaf.isLeafOfSubsite(doc.getDirCode())) return; String filePath = ""; TemplateDb td = doc.getTemplateDb(); filePath = Global.getRealPath() + td.getString("path"); try { request.setAttribute("id", "" + doc.getID()); request.setAttribute("isCreateHtml", "true"); request.setAttribute("CPages", "" + pageNum); TemplateLoader tl = new TemplateLoader(request, filePath); FileUtil fu = new FileUtil(); File f = new File(Global.getRealPath() + doc.getDocHtmlPath()); if (!f.isDirectory()) { f.mkdirs(); } fu.WriteFile(Global.getRealPath() + doc.getDocHtmlName(pageNum), tl.toString(), "UTF-8"); } catch (IOException e) { LogUtil.getLog(getClass()).error("createHtml:" + e.getMessage()); } } public void createListHtmlOfDirecroty(HttpServletRequest request) throws ErrMsgException { String dirCode = ParamUtil.get(request, "dir_code"); boolean isIncludeChildren = ParamUtil.getBoolean(request, "isIncludeChildren", false); int pageNumBegin = ParamUtil.getInt(request, "pagNumBegin", 1); int pageNumEnd = ParamUtil.getInt(request, "pagNumEnd", -1); createListHtmlOfDirectory(request, dirCode, isIncludeChildren, pageNumBegin, pageNumEnd); } public void createListHtmlOfDirectory(HttpServletRequest request, String dirCode, boolean isIncludeChildren, int pageNumBegin, int pageNumEnd) throws ErrMsgException { String sql = SQLBuilder.getDirDocListSql(dirCode); Document doc = new Document(); int total = doc.getDocCount(sql); cn.js.fan.module.cms.Config cfg = new cn.js.fan.module.cms.Config(); int pageSize = cfg.getIntProperty("cms.listPageSize"); Paginator paginator = new Paginator(request, total, pageSize); int totalpages = paginator.getTotalPages(); if (totalpages == 0) { totalpages = 1; } if (pageNumEnd == -1) { pageNumEnd = totalpages; } for (int num = pageNumBegin; num <= pageNumEnd; num++) { createListPageHtml(request, dirCode, num); } if (isIncludeChildren) { Leaf lf = new Leaf(); lf = lf.getLeaf(dirCode); Vector vchild = lf.getChildren(); Iterator irchild = vchild.iterator(); while (irchild.hasNext()) { Leaf childlf = (Leaf) irchild.next(); createListHtmlOfDirectory(request, childlf.getCode(), isIncludeChildren, pageNumBegin, pageNumEnd); } } } public void createHtmlOfDirecroty(HttpServletRequest request) throws ErrMsgException { String dirCode = ParamUtil.get(request, "dir_code"); String bDate = ParamUtil.get(request, "beginDate"); String eDate = ParamUtil.get(request, "endDate"); Date beginDate = DateUtil.parse(bDate, "yyyy-MM-dd"); Date endDate = DateUtil.parse(eDate, "yyyy-MM-dd"); if (beginDate == null || endDate == null) { } boolean isIncludeChildren = ParamUtil.getBoolean(request, "isIncludeChildren", false); String sql; if (beginDate==null && endDate==null) sql = "select id from document where class1=? and examine=2"; else if (beginDate==null) { sql = "select id from document where class1=? and modifiedDate<=? and examine=2"; } else if (endDate==null) { sql = "select id from document where class1=? and modifiedDate>=? and examine=2"; } else sql = "select id from document where class1=? and modifiedDate>=? and modifiedDate<=? and examine=2"; createHtmlOfDirectory(request, dirCode, sql, isIncludeChildren, beginDate, endDate); } public void createHtmlOfDirectory(HttpServletRequest request, String dirCode, String sql, boolean isIncludeChildren, Date beginDate, Date endDate) throws ErrMsgException { Object[] params = null; if (beginDate==null && endDate==null) params = new Object[] {dirCode}; else if (beginDate == null) { params = new Object[] {dirCode, DateUtil.toLongString(endDate)}; } else if (endDate==null) { params = new Object[] {dirCode, DateUtil.toLongString(beginDate)}; } else params = new Object[] {dirCode, DateUtil.toLongString(beginDate), DateUtil.toLongString(endDate)}; Document doc = new Document(); Vector v = doc.list(sql, params); Iterator ir = v.iterator(); while (ir.hasNext()) { doc = (Document) ir.next(); createAllPageHtml(request, doc); } if (isIncludeChildren) { Leaf lf = new Leaf(); lf = lf.getLeaf(dirCode); Vector vchild = lf.getChildren(); Iterator irchild = vchild.iterator(); while (irchild.hasNext()) { Leaf childlf = (Leaf) irchild.next(); createHtmlOfDirectory(request, childlf.getCode(), sql, isIncludeChildren, beginDate, endDate); } } } public boolean ChangeDir(HttpServletRequest request, int id, String newDirCode) throws ErrMsgException { Privilege privilege = new Privilege(); if (!privilege.isUserPrivValid(request, Priv.PRIV_ADMIN)) { throw new ErrMsgException(SkinUtil.LoadString(request, SkinUtil.PVG_INVALID)); } Document doc = getDocument(id); return doc.ChangeDir(newDirCode); } public void createSubjectHtmlOfDirecroty(HttpServletRequest request) throws ErrMsgException { String dirCode = ParamUtil.get(request, "code"); String bDate = ParamUtil.get(request, "beginDate"); String eDate = ParamUtil.get(request, "endDate"); Date beginDate = DateUtil.parse(bDate, "yyyy-MM-dd"); Date endDate = DateUtil.parse(eDate, "yyyy-MM-dd"); if (beginDate == null || endDate == null) { } boolean isIncludeChildren = ParamUtil.getBoolean(request, "isIncludeChildren", false); String sql; if (beginDate==null && endDate==null) sql = "select d.id from cws_cms_subject_doc s,document d where s.doc_id=d.id and s.code=? and d.examine=2"; else if (beginDate==null) { sql = "select d.id from cws_cms_subject_doc s,document d where s.doc_id=d.id and s.code=? and d.modifiedDate<=? and d.examine=2"; } else if (endDate==null) { sql = "select d.id from cws_cms_subject_doc s,document d where s.doc_id=d.id and s.code=? and d.modifiedDate>=? and d.examine=2"; } else sql = "select d.id from cws_cms_subject_doc s,document d where s.doc_id=d.id and s.code=? and d.modifiedDate>=? and d.modifiedDate<=? and examine=2"; createSubjectHtmlOfDirectory(request, dirCode, sql, isIncludeChildren, beginDate, endDate); } public void createSubjectHtmlOfDirectory(HttpServletRequest request, String subjectCode, String sql, boolean isIncludeChildren, Date beginDate, Date endDate) throws ErrMsgException { Object[] params = null; if (beginDate==null && endDate==null) params = new Object[] {subjectCode}; else if (beginDate == null) { params = new Object[] {subjectCode, DateUtil.toLongString(endDate)}; } else if (endDate==null) { params = new Object[] {subjectCode, DateUtil.toLongString(beginDate)}; } else params = new Object[] {subjectCode, DateUtil.toLongString(beginDate), DateUtil.toLongString(endDate)}; Document doc = new Document(); Vector v = doc.list(sql, params); Iterator ir = v.iterator(); while (ir.hasNext()) { doc = (Document) ir.next(); createSubjectAllPageHtml(request, subjectCode, doc); } if (isIncludeChildren) { SubjectDb lf = new SubjectDb(); lf = lf.getSubjectDb(subjectCode); Vector vchild = lf.getChildren(); Iterator irchild = vchild.iterator(); while (irchild.hasNext()) { Leaf childlf = (Leaf) irchild.next(); createSubjectHtmlOfDirectory(request, childlf.getCode(), sql, isIncludeChildren, beginDate, endDate); } } } public void createSubjectAllPageHtml(HttpServletRequest request, String subjectCode, Document doc) throws ErrMsgException { for (int i = 0; i < doc.getPageCountPlugin(); i++) { createSubjectHtml(request, subjectCode, doc, i + 1); } } public void createSubjectHtml(HttpServletRequest request, String subjectCode, Document doc, int pageNum) throws ErrMsgException { String filePath = ""; SubjectDb sd = new SubjectDb(); sd = sd.getSubjectDb(subjectCode); TemplateDb td = new TemplateDb(); if (sd.getPageTemplateId()!=SubjectDb.NOTEMPLATE) { td = td.getTemplateDb(sd.getPageTemplateId()); } else { td = doc.getTemplateDb(); } filePath = Global.getRealPath() + td.getString("path"); try { request.setAttribute("id", "" + doc.getID()); request.setAttribute("isCreateHtml", "true"); request.setAttribute("CPages", "" + pageNum); TemplateLoader tl = new TemplateLoader(request, filePath); FileUtil fu = new FileUtil(); File f = new File(Global.getRealPath() + SubjectListDb.getDocHtmlPath(subjectCode, doc)); if (!f.isDirectory()) { f.mkdirs(); } fu.WriteFile(Global.getRealPath() + SubjectListDb.getDocHtmlName(subjectCode, doc, pageNum), tl.toString(), "UTF-8"); } catch (IOException e) { LogUtil.getLog(getClass()).error("createHtml:" + e.getMessage()); } } public String[] uploadImg(ServletContext application, HttpServletRequest request) throws ErrMsgException { FileUpload fu = new FileUpload(); String[] ext = new String[] {"jpg", "gif", "png", "bmp", "swf"}; if (ext!=null) fu.setValidExtname(ext); int ret = 0; try { ret = fu.doUpload(application, request); if (ret!=fu.RET_SUCCESS) { throw new ErrMsgException(fu.getErrMessage(request)); } if (fu.getFiles().size()==0) throw new ErrMsgException("请上传文件!"); } catch (IOException e) { logger.error("doUpload:" + e.getMessage()); throw new ErrMsgException(e.getMessage()); } Calendar cal = Calendar.getInstance(); String year = "" + (cal.get(cal.YEAR)); String month = "" + (cal.get(cal.MONTH) + 1); String virtualpath = year + "/" + month; Config cfg = new Config(); String attPath = cfg.getProperty("cms.file_doc_attach"); String filepath = Global.getRealPath() + attPath + "/" + virtualpath + "/"; File f = new File(filepath); if (!f.isDirectory()) { f.mkdirs(); } fu.setSavePath(filepath); String[] re = null; Vector v = fu.getFiles(); Iterator ir = v.iterator(); int orders = 0; String attachmentBasePath = request.getContextPath() + "/"; if (ir.hasNext()) { FileInfo fi = (FileInfo) ir.next(); String fname = FileUpload.getRandName() + "." + fi.getExt(); Attachment att = new Attachment(); att.setDiskName(fi.getDiskName()); att.setDocId(att.TEMP_DOC_ID); att.setName(fi.getName()); att.setDiskName(fname); att.setOrders(orders); att.setVisualPath(attPath + "/" + virtualpath); att.setUploadDate(new java.util.Date()); att.setSize(fi.getSize()); if (att.create()) { fi.write(filepath, fname); re = new String[2]; re[0] = "" + att.getId(); re[1] = attachmentBasePath + att.getVisualPath() + "/" + att.getDiskName(); } } return re; } public FileUpload getFileUpload() { return fileUpload; } public String getDirCode() { return dirCode; } private FileUpload fileUpload; private String dirCode;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?