📄 documentmgr.java
字号:
}
return re;
}
public void clearDustbin(HttpServletRequest request) throws ErrMsgException {
Document doc = new Document();
doc.clearDustbin();
}
public boolean increaseHit(HttpServletRequest request, int id,
IPrivilege privilege) throws
ErrMsgException {
Document doc = getDocument(id);
boolean re = doc.increaseHit();
return re;
}
public boolean UpdateIsHome(HttpServletRequest request, int id,
IPrivilege privilege) throws
ErrMsgException {
Document doc = getDocument(id);
String v = ParamUtil.get(request, "value");
boolean re = doc.UpdateIsHome(v.equals("y") ? true : false);
return re;
}
public boolean vote(HttpServletRequest request, int id) throws
ErrMsgException {
int votesel = ParamUtil.getInt(request, "votesel");
Document doc = getDocument(id);
boolean re = doc.vote(id, votesel);
return re;
}
public boolean OperatePage(ServletContext application,
HttpServletRequest request, IPrivilege privilege) throws
ErrMsgException {
CMSMultiFileUploadBean mfu = doUpload(application, request);
String op = StrUtil.getNullStr(mfu.getFieldValue("op"));
String dir_code = StrUtil.getNullStr(mfu.getFieldValue("dir_code"));
boolean isValid = false;
LeafPriv lp = new LeafPriv();
lp.setDirCode(dir_code);
if (op.equals("add")) {
if (lp.canUserAppend(privilege.getUser(request)))
isValid = true;
}
if (op.equals("edit")) {
if (lp.canUserModify(privilege.getUser(request)))
isValid = true;
}
if (!isValid)
throw new ErrMsgException(Privilege.MSG_INVALID);
String strdoc_id = StrUtil.getNullStr(mfu.getFieldValue("id"));
int doc_id = Integer.parseInt(strdoc_id);
Document doc = new Document();
doc = doc.getDocument(doc_id);
// logger.info("filepath=" + mfu.getFieldValue("filepath"));
if (op.equals("add")) {
String content = StrUtil.getNullStr(mfu.getFieldValue(
"htmlcode"));
boolean re = doc.AddContentPage(application, mfu, content);
if (re) {
// 重新生成所有页面的静态页面
Config cfg = new Config();
boolean isCreateHtml = cfg.getBooleanProperty("cms.html_auto");
if (isCreateHtml) {
createAllPageHtml(request, doc);
}
}
return re;
}
if (op.equals("edit")) {
// return doc.EditContentPage(content, pageNum);
boolean re = doc.EditContentPage(application, mfu);
if (re) {
String strpageNum = StrUtil.getNullStr(mfu.getFieldValue(
"pageNum"));
int pageNum = Integer.parseInt(strpageNum);
// 生成静态页面
Config cfg = new Config();
boolean isCreateHtml = cfg.getBooleanProperty("cms.html_auto");
if (isCreateHtml) {
createHtml(request, doc, pageNum);
}
}
return re;
}
return false;
}
public boolean uploadDocument(ServletContext application,
HttpServletRequest request) throws
ErrMsgException {
java.util.Date currentTime = new java.util.Date();
long inserttime = currentTime.getTime();
String filenm = String.valueOf(inserttime);
// String[] extnames = {"jpg", "gif", "xls", "rar", "doc", "rm", "avi",
// "bmp", "swf"};
FileUpload TheBean = new FileUpload();
// TheBean.setValidExtname(extnames); // 设置可上传的文件类型
TheBean.setMaxFileSize(Global.FileSize); // 最大35000K
int ret = 0;
try {
ret = TheBean.doUpload(application, request);
if (ret == -3) {
String str = SkinUtil.LoadString(request, "res.cms.Document",
"err_upload_size");
str = StrUtil.format(str, new Object[] {"" + Global.FileSize});
throw new ErrMsgException(str);
}
if (ret == -4) {
throw new ErrMsgException(TheBean.getErrMessage(request));
}
} catch (Exception e) {
logger.error("uploadDocument:" + e.getMessage());
}
if (ret == 1) {
Document doc = new Document();
boolean re = false;
try {
re = doc.uploadDocument(TheBean);
} catch (ResKeyException e) {
throw new ErrMsgException(e.getMessage(request));
}
return re;
} else
return false;
}
/**
* 生成所有的页面
* @param request HttpServletRequest
* @param doc Document
*/
public void createAllPageHtml(HttpServletRequest request, Document doc) {
for (int i = 0; i < doc.getPageCount(); i++) {
createHtml(request, doc, i + 1);
}
}
/**
* 生成单个页面
* @param request HttpServletRequest
* @param doc Document
* @param pageNum int
*/
public void createHtml(HttpServletRequest request, Document doc,
int pageNum) {
int pageTemplateId = doc.getPageTemplateId();
String filePath = "";
TemplateDb td = new TemplateDb();
if (pageTemplateId == -1) {
String dirCode = doc.getDirCode();
Vector v = td.getTemplatesOfLeaf(dirCode);
if (v.size() > 0) {
filePath = ((TemplateDb) v.elementAt(0)).getString("path");
}
} else {
td = (TemplateDb) td.getQObjectDb(new Integer(pageTemplateId));
if (td != null)
filePath = td.getString("path");
else
filePath = "";
}
if (filePath.equals("")) {
Leaf lf = new Leaf();
lf = lf.getLeaf(doc.getDirCode());
String parentcode = lf.getParentCode();
Leaf plf = new Leaf();
td = new TemplateDb();
while (!parentcode.equals("-1")) {
plf = plf.getLeaf(parentcode);
if (plf == null)
break;
Vector v = td.getTemplatesOfLeaf(parentcode);
if (v.size() > 0) {
filePath = ((TemplateDb) v.elementAt(0)).getString("path");
if (!filePath.equals(""))
break;
}
parentcode = plf.getParentCode();
}
if (filePath.equals(""))
filePath = "doc/template/doc_show_default.htm";
}
filePath = Global.getRealPath() + filePath;
try {
// 加入ID标识
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 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) {
// throw new ErrMsgException("请填写开始和结束日期!");
}
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) {
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();
// System.out.println(getClass() + " dirCode=" + dirCode + " title=" +
// doc.getTitle());
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);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -