📄 postsaction.java
字号:
request.setAttribute("modreasons",modreasons!=null?modreasons.split("\r\n"):"");
return mapping.findForward("toreplies");
}
@SuppressWarnings("unchecked")
public ActionForward auditingNewModreplies(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
ServletContext context = request.getSession().getServletContext();
String filter = request.getParameter("filter");
String modfid = request.getParameter("modfid");
PostsForm pf = new PostsForm();
if (FormDataCheck.isNotNullAndNotEmpty(filter)) {
pf.setFilter(filter.trim());
}
if (FormDataCheck.isNotNullAndNotEmpty(modfid)) {
pf.setFid(Short.valueOf(modfid));
}
request.setAttribute("pastsPage", pf);
ModrepliesPageForm mpf = postsService.fidnByModreplies(pf);
mpf.setList(request.getContextPath());
request.setAttribute("modrepliesPageForm", mpf);
String sql="SELECT f.fid,f.name FROM jrun_forums f LEFT JOIN jrun_forumfields ff USING(fid) WHERE f.type <>'group' AND f.status>0";
List<Map<String,String>> forumList=dataBaseService.executeQuery(sql);
request.setAttribute("forumList", forumList);
String modreasons=((Map<String,String>)context.getAttribute("fsmap")).get("modreasons");
request.setAttribute("modreasons",modreasons!=null?modreasons.split("\r\n"):"");
return mapping.findForward("toreplies");
}
@SuppressWarnings("unchecked")
public ActionForward workAllModreplies(ActionMapping mapping,
ActionForm form, HttpServletRequest request,HttpServletResponse response) {
String modsubmit = request.getParameter("modsubmit");
if(modsubmit==null){
Common.requestforward(response, "admincp.jsp?action=modreplies");
return null;
}
HttpSession session = request.getSession();
ServletContext context = request.getSession().getServletContext();
Map<String,String> settings = (Map<String,String>)context.getAttribute("fsmap");
Members members = (Members) session.getAttribute("members");
int num = 0;
List<Posts> validateList = new ArrayList<Posts>();
List<String> deleteList = new ArrayList<String>();
List<String> ignoreList = new ArrayList<String>();
List<PmsForm> pmsValidateList = new ArrayList<PmsForm>();
List<PmsForm> psmDeleteList = new ArrayList<PmsForm>();
String auditing = request.getParameter("auditing");
String[] audiArr = auditing.split(",");
String barckurl = (String)session.getAttribute("boardurl");
for (int i = 0; i < audiArr.length; i++) {
String postsWork = request.getParameter(audiArr[i]);
if (postsWork != null) {
if (postsWork.equals("validate")) {
num++;
String pmsMessage = request.getParameter(toPmsPostspid(audiArr[i])).trim();
if (pmsMessage != null && !pmsMessage.equals("")) {
String subject = request.getParameter(toPostsSubject(audiArr[i])).trim();
String authorid = request.getParameter(toAuthor(audiArr[i])).trim();
PmsForm pf = new PmsForm(true, false, Integer.valueOf(authorid), subject, Integer.valueOf(audiArr[i]), pmsMessage,members.getUsername(),members.getUid(),barckurl);
pmsValidateList.add(pf);
}
Posts post = postsService.getPostsById(convertInt(audiArr[i]));
List<Map<String,String>> forumsfildlist = dataBaseService.executeQuery("select f.fup,f.type,ff.postcredits from jrun_forums f left join jrun_forumfields ff on f.fid=ff.fid where f.fid="+post.getFid());
Map<String,String> forummap = forumsfildlist.get(0);
forumsfildlist = null;
String creditspolicy =settings.get("creditspolicy");
Map creditspolicys=dataParse.characterParse(creditspolicy,false);
Map<Integer, Integer> postcredits = dataParse.characterParse(forummap.get("replycredits"),false);
if(postcredits==null||postcredits.size()<=0)
{
postcredits=(Map<Integer,Integer>)creditspolicys.get("reply");
}
String author=null;
if(post.getAuthorid()>0)
{
Common.updatepostcredits("+", post.getAuthorid(), postcredits, post.getDateline());
Common.updatepostcredits( post.getAuthorid(), settings.get("creditsformula"));
author=post.getAuthor();
}
else{
author="匿名";
}
String subject = request.getParameter("threadsubject").replaceAll("\t", " ");
String lastpost = post.getTid() + "\t" +Common.dhtmlspecialchars(Common.cutstr(Common.htmlspecialchars(subject), 40, null)) + "\t" + post.getDateline() + "\t"+author;
dataBaseService.runQuery("update jrun_threads set lastpost="+post.getDateline()+",lastposter='"+author+"',replies=replies+1 where tid="+post.getTid());
dataBaseService.runQuery("update jrun_forums set lastpost='"+lastpost+"',posts=posts+1 where fid="+post.getFid());
if(forummap.get("type").equals("sub")){
dataBaseService.runQuery("update jrun_forums set lastpost='"+lastpost+"',posts=posts+1 where fid="+forummap.get("fup"));
}
validateList.add(post);
}
if (postsWork.equals("delete")) {
String pms = request.getParameter(toPmsPostspid(audiArr[i]));
if (pms != null && !pms.equals("")) {
String subject = request.getParameter(toPostsSubject(audiArr[i])).trim();
String authorid = request.getParameter(toAuthor(audiArr[i])).trim();
PmsForm pf = new PmsForm(false, false, Integer.valueOf(authorid), subject, Integer.valueOf(audiArr[i]), pms,members.getUsername(),members.getUid(),barckurl);
psmDeleteList.add(pf);
}
deleteList.add(audiArr[i]);
}
if (postsWork.equals("ignore")) {
ignoreList.add(audiArr[i]);
}
}
}
pmsService.insertPmsList(pmsValidateList);
pmsService.insertPmsList(psmDeleteList);
if(deleteList.size()>0){
StringBuffer pids = new StringBuffer();
for(String pid:deleteList){
pids.append(pid+",");
}
pids.deleteCharAt(pids.length()-1);
List<Map<String,String>>attalist = dataBaseService.executeQuery("SELECT attachment,thumb,remote FROM jrun_attachments WHERE pid IN ("+pids.toString()+")");
if(attalist!=null && attalist.size()>0){
String path = servlet.getServletContext().getRealPath("/")+settings.get("attachdir")+"/";
for(Map<String,String>atta:attalist){
Common.dunlink(atta.get("attachment"), Byte.valueOf(atta.get("thumb")), Byte.valueOf(atta.get("remote")), path);
}
attalist=null;
}
}
postsService.deleteModrepliesIDArray(deleteList);
postsService.ignoreModrepliesIDArray(ignoreList);
postsService.validateModrepliesIDArray(validateList);
ModrepliesPageForm mod = new ModrepliesPageForm();
mod.setList(request.getContextPath());
request.setAttribute("modrepliesPageForm", mod);
validateList=null;deleteList=null;ignoreList=null;pmsValidateList=null;psmDeleteList=null;
String successInfo = "回复审核成功,共有" + num + "审核被通过";
request.setAttribute("successInfo", successInfo);
request.setAttribute("requestPath", "admincp.jsp?action=modreplies");
return mapping.findForward("success");
}
public ActionForward toThreadsForum(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session=request.getSession();
String forumid = null;
if(session.getAttribute("threadsForm")!=null){
forumid = ((ThreadsForm)session.getAttribute("threadsForm")).getInforum()+"";
}
List<Map<String,String>> threadtypelist = dataBaseService.executeQuery("select typeid,name,description from jrun_threadtypes");
request.setAttribute("threadtype", threadtypelist);
short groupid = (Short)session.getAttribute("jsprun_groupid");
Members member = (Members)session.getAttribute("user");
request.setAttribute("forumselect", Common.forumselect(false, false,groupid,member!=null?member.getExtgroupids():"",forumid,false));
return mapping.findForward("toThreadsForum");
}
public ActionForward toPruneForum(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session=request.getSession();
short groupid = (Short)session.getAttribute("jsprun_groupid");
Members member = (Members)session.getAttribute("user");
if(member.getAdminid()==3){
StringBuffer fidsbuffer = new StringBuffer();
List<Map<String,String>> fidslist = dataBaseService.executeQuery("SELECT fid FROM jrun_moderators WHERE uid='"+member.getUid()+"'");
for(Map<String,String> fids:fidslist){
fidsbuffer.append(","+fids.get("fid"));
}
if(fidsbuffer.length()>0){
List<Map<String,String>> forumList=dataBaseService.executeQuery("SELECT name from jrun_forums where fid in ( "+fidsbuffer.substring(1)+" ) ORDER BY type, displayorder");
StringBuffer forumname = new StringBuffer();
for(Map<String,String> forums:forumList){
forumname.append(","+forums.get("name"));
}
if(forumname.length()>0){
request.setAttribute("forumselect", forumname.substring(1));
}else{
request.setAttribute("forumselect", "无");
}
}
}else{
request.setAttribute("forumselect", Common.forumselect(false, false,groupid,member!=null?member.getExtgroupids():"",null,false));
}
int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
int timestamp = (Integer)(request.getAttribute("timestamp"));
if (member != null) {
if (member.getAdminid() != 1) {
request.setAttribute("isAdmin", "admin");
}
}
String satrtTime = Common.gmdate("yyyy-MM-dd", (int)(timestamp+timeoffset-86400*7));
String endTime = Common.gmdate("yyyy-MM-dd", (int)(timestamp+timeoffset));
request.setAttribute("startTime", satrtTime);
request.setAttribute("endTime", endTime);
session.removeAttribute("pf");
return mapping.findForward("toPruneForum");
}
public ActionForward fromForumrecommend(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
int currentPage = 1;
String fid = request.getParameter("fid");
int totalsize = Common.toDigit(dataBaseService.executeQuery("select count(*) count from jrun_forumrecommend as f where f.fid ="+ fid).get(0).get("count"));
LogPage loginpage = new LogPage(totalsize,10,currentPage);
request.setAttribute("logpage", loginpage);
request.setAttribute("totalsize", totalsize);
int beginsize = (currentPage - 1) * 10;
if (beginsize > totalsize) {
beginsize = totalsize;
}
List<Map<String,String>> list = dataBaseService.executeQuery("select c.*,m.username,f.name from jrun_forumrecommend c left join jrun_forums f on c.fid=f.fid left join jrun_members m on c.moderatorid=m.uid where f.fid="+fid+" limit "+beginsize+",10");
String sb = getSb(list);
request.setAttribute("fid", fid);
request.setAttribute("showList", list);
request.setAttribute("sb", sb);
request.setAttribute("notfirst", "notfirst");
return mapping.findForward("toForumrecommend");
}
public ActionForward pageForumrecommend(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
String fid = request.getParameter("fid");
String page = request.getParameter("page");
int totalsize = Common.toDigit(dataBaseService.executeQuery("select count(*) count from jrun_forumrecommend as f where f.fid ="+ fid).get(0).get("count"));
int currpage = Integer.valueOf(page.trim());
LogPage loginpage = new LogPage(totalsize,10,currpage);
request.setAttribute("logpage", loginpage);
request.setAttribute("totalsize", totalsize);
int beginsize = (currpage - 1) * 10;
if (beginsize > totalsize) {
beginsize = totalsize;
}
List<Map<String,String>> list = dataBaseService.executeQuery("select c.*,m.username,f.name from jrun_forumrecommend c left join jrun_forums f on c.fid=f.fid left join jrun_members m on c.moderatorid=m.uid where f.fid="+fid+" limit "+beginsize+",10");
String sb = getSb(list);
request.setAttribute("fid", fid);
request.setAttribute("showList", list);
request.setAttribute("sb", sb);
request.setAttribute("notfirst", "notfirst");
return mapping.findForward("toForumrecommend");
}
private String getSb(List<Map<String,String>> list) {
StringBuffer sb = new StringBuffer();
for (Map<String,String> sbs:list) {
sb.append(sbs.get("tid"));
sb.append(",");
}
return sb.toString();
}
public ActionForward batchPruneForum(ActionMapping mapping,
ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String recommendsubmit = request.getParameter("recommendsubmit");
if(recommendsubmit==null){
Common.requestforward(response, "admincp.jsp?action=forumrecommend");
return null;
}
int currentPage = 1;
StringBuffer deleteSB = new StringBuffer();
List<Map<String, String>> updateList = new ArrayList<Map<String, String>>();
String sb = request.getParameter("sb");
String displayorder = request.getParameter("displayorder");
String page = request.getParameter("page");
String fid = request.getParameter("fid");
if (sb != null) {
Object[] tids = sb.split(",");
for (int i = 0; i < tids.length; i++) {
String str = request.getParameter(toDelete(tids[i].toString()));
if (str != null && !str.equals("")) {
deleteSB.append(tids[i].toString());
}
}
}
if (displayorder != null) {
Object[] updateTids = displayorder.split(",");
for (int i = 0; i < updateTids.length; i++) {
String updatestr = request.getParameter(updateTids[i].toString());
if (updatestr != null && !updatestr.equals("")) {
Map<String, String> m = new HashMap<String, String>();
m.put("tid", updateTids[i].toString());
m.put("displayorder", updatestr);
updateList.add(m);
}
}
}
postsService.batchForumrecommend(deleteSB, updateList);
updateList = null;
if (page != null && !page.equals("")) {
try {
currentPage = Integer.valueOf(page);
} catch (NumberFormatException nfe) {
currentPage = 1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -