📄 postsaction.java
字号:
b.setTag(tagname);
b.setParams(param);
String promptnew = request.getParameter("promptnew");
promptnew = promptnew==null?"":promptnew;
promptnew = promptnew.replaceAll("\r\n", "\t");
b.setPrompt(promptnew);
b.setNest(nestnum);
bbcodesService.updateBbcodes(b);
Cache cache = new Cache(servlet.getServletContext().getRealPath("/"));
try {
cache.updatecache("post");
} catch (Exception e) {
e.printStackTrace();
}
String successInfo = "Jsprun! 代码成功更新。";
request.setAttribute("successInfo", successInfo);
request.setAttribute("requestPath", "admincp.jsp?action=jspruncodes");
return mapping.findForward("success");
}
private String getAvailable(String ids) {
StringBuffer sb = new StringBuffer("availablenew[");
sb.append(ids);
sb.append("]");
return sb.toString();
}
public ActionForward toRecyclebin(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");
request.setAttribute("forumselect", Common.forumselect(false, false,groupid,member!=null?member.getExtgroupids():"",null,false));
session.removeAttribute("recyclebinform");
return mapping.findForward("toRecyclebin");
}
@SuppressWarnings({ "unchecked", "deprecation" })
public ActionForward toSmilies(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String export = request.getParameter("export");
String importsubmit = request.getParameter("importsubmit");
if(export==null && importsubmit==null){
List<Map<String,String>> dateList = dataBaseService.executeQuery("select i.name,i.displayorder,i.typeid,i.directory,(select count(*) from jrun_smilies where typeid=i.typeid) as totalCount from jrun_imagetypes as i where i.type = 'smiley'");
List<String> showList = new ArrayList<String>();
String filePath = servlet.getServletContext().getRealPath("/")+"images/smilies";
File f = new File(filePath);
String[] fs = f.list();
if (fs != null && fs.length > 0) {
for (int i = 0; i < fs.length; i++) {
File fsi = new File(filePath+"/"+fs[i]);
if (fsi.isDirectory()) {
showList.add(fsi.getName());
}
}
if (showList != null && showList.size() > 0 && dateList != null && dateList.size() > 0) {
for (int j = 0; j < dateList.size(); j++) {
for (int i = 0; i < showList.size(); i++) {
if (dateList.get(j).get("directory").equals(showList.get(i))) {
showList.remove(i);
}
}
}
}
request.setAttribute("showList", showList);
}
request.setAttribute("datelist", dateList);
return mapping.findForward("toSmilies");
}else if(export!=null){
Imagetypes imagetype = typeServer.findImagetypeById(Short.valueOf(export));
if(imagetype==null){
request.setAttribute("resultInfo", "指定的表情分类不存在,无法导出。");
return mapping.findForward("result");
}
List<Smilies> smilieslist = smiliesService.findSmiliesBytypeid(imagetype.getTypeid(), 0, 200);
String dateformat=((Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap")).get("dateformat");
String timeformat=((Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap")).get("timeformat");
String timeoffset=((Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap")).get("timeoffset");
String bbname=((Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap")).get("bbname");
String boardurl=(String)request.getSession().getAttribute("boardurl");
Long timestamp=new Date().getTime();
String time=new SimpleDateFormat(dateformat+" "+timeformat).format(timestamp+Integer.valueOf(timeoffset)*3600);
Map smiliesMap=new HashMap();
String name=imagetype.getName();
smiliesMap.put("name", name);
smiliesMap.put("directory", imagetype.getDirectory());
Map smilesmap = new TreeMap();
for(Smilies smilies : smilieslist){
Map<String,String> smilMap = new HashMap<String,String>();
smilMap.put("typeid", smilies.getTypeid()+"");
smilMap.put("displayorder", smilies.getDisplayorder()+"");
smilMap.put("code", smilies.getCode());
smilMap.put("url", smilies.getUrl());
smilesmap.put(Integer.valueOf(smilies.getId()+""), smilMap);
}
smiliesMap.put("smilies", smilesmap);
smiliesMap.put("version",JspRunConfig.version);
try {
name=new String(name.getBytes("GBK"),"ISO8859-1");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
String style_export="# JspRun! Smilies Dump\n# Version: JspRun! "+JspRunConfig.version+"\n# Time: "+time+"\n# From: "+bbname+" ("+boardurl+")\n#\n# This file was BASE64 encoded\n#\n# JspRun! Community: http://www.JspRun.com\n# Please visit our website for latest news about JspRun!\n# --------------------------------------------------------\n\n\n"+Base64Encoder.encode(dataParse.combinationChar(smiliesMap), JspRunConfig.charset);
response.setCharacterEncoding("ISO8859-1");
response.setHeader("Content-Type","application/octet-stream");
response.setHeader("Content-Disposition","attachment; filename=JspRun_smilies_"+name+".txt");
response.setHeader("Expires", "Mon, 26 Jul 1997 05:00:00 GMT");
response.setHeader("Last-Modified", new Date().toGMTString()+" GMT");
response.setHeader("Content-Encoding", "none");
response.setHeader("Cache-Control", "no-cache, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setHeader("Content-Length", String.valueOf(style_export.length()));
try {
OutputStream os=response.getOutputStream();
os.write(style_export.getBytes(), 0, style_export.length());
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
smilieslist = null;smiliesMap=null;
return null;
}else {
if(importsubmit==null){
Common.requestforward(response, "admincp.jsp?action=smilies");
return null;
}
String realPath=servlet.getServletContext().getRealPath("/");
String styledata=request.getParameter("smiliesdata");
styledata=styledata.replaceAll("(#.*\\s+)*", "");
Map styleMap=dataParse.characterParse(Base64Decoder.decode(styledata, JspRunConfig.charset), false);
if(styleMap==null||styleMap.size()==0)
{
request.setAttribute("errorInfo", "界面数据文件已损坏,无法导入,请返回。");
return mapping.findForward("error");
}
boolean renamed=false;
String directory=styleMap.get("directory")==null?"":styleMap.get("directory").toString();
String templatedir=realPath+"./images/smilies/"+directory;
File file=new File(templatedir);
if(!file.isDirectory())
{
if(!file.mkdir())
{
String basedir=directory;
request.setAttribute("errorInfo", "表情目录无法自动建立,请设置 "+basedir+" 目录属性为 777<br />或通过 FTP 建立目录 "+directory+" 并设置属性为 777。");
return mapping.findForward("error");
}
}
List<Imagetypes> imagetypes = typeServer.findImagetypeByName(styleMap.get("name").toString());
if(imagetypes!=null && imagetypes.size()>0){
styleMap.put("name", styleMap.get("name").toString()+"_"+getRandStr(4,false));
renamed = true;
}
Imagetypes imagetype = new Imagetypes();
imagetype.setName(styleMap.get("name").toString());
imagetype.setDisplayorder(Short.valueOf("0"));
imagetype.setDirectory(styleMap.get("directory").toString());
imagetype.setType("smiley");
if(!typeServer.addImagetype(imagetype)){
request.setAttribute("errorInfo", "界面数据文件已损坏,无法导入,请返回。");
return mapping.findForward("error");
}
short typeid = imagetype.getTypeid();
Map smilemap = (HashMap)styleMap.get("smilies");
if(smilemap!=null){
Iterator its = smilemap.keySet().iterator();
while(its.hasNext()){
Object key = its.next();
Map<String,String> smile = (Map<String,String>)smilemap.get(key);
Smilies smilies = new Smilies();
smilies.setCode(smile.get("code"));
smilies.setType("smiley");
smilies.setUrl(smile.get("url"));
smilies.setTypeid(typeid);
smilies.setDisplayorder(Short.valueOf(smile.get("displayorder")));
smiliesService.addSmilies(smilies);
}
}
String successInfo = "";
Cache cache=new Cache(realPath);
try {
cache.updatecache("post");
} catch (Exception e) {
e.printStackTrace();
}
if(renamed)
{
successInfo="导入表情分类名称与现有重复,已被自动重命名。表情成功导入。";
}
else{
successInfo="表情成功导入。";
}
styleMap = null;imagetypes=null;imagetype=null;smilemap=null;
request.setAttribute("successInfo", successInfo);
request.setAttribute("requestPath", "admincp.jsp?action=smilies");
return mapping.findForward("success");
}
}
public ActionForward toIcoes(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
List<Smilies> dateList = null;
List<Smilies> showList = new ArrayList<Smilies>();
dateList = smiliesService.getIcons();
String filePath = servlet.getServletContext().getRealPath("/")+"images/icons";
File f = new File(filePath);
String repxl = "gif|jpg|png|bmp|jpeg";
String[] fs = f.list();
if (fs != null && fs.length > 0) {
for (int i = 0; i < fs.length; i++) {
int index = fs[i].lastIndexOf(".");
if(index!=-1 && Common.matches(fs[i].substring(index).toLowerCase(),repxl)){
File fsi = new File(filePath+"/"+fs[i]);
if (fsi.exists() && !fsi.isDirectory()) {
Smilies icons = new Smilies();
icons.setUrl(fs[i]);
showList.add(icons);
}
}
}
if (showList != null && showList.size() > 0 && dateList != null
&& dateList.size() > 0) {
for (int j = 0; j < dateList.size(); j++) {
for (int i = 0; i < showList.size(); i++) {
if (dateList.get(j).getUrl().equals(showList.get(i).getUrl())) {
showList.remove(i);
}
}
}
}
request.setAttribute("fileIcons", showList);
}
request.setAttribute("dateList", dateList);
return mapping.findForward("toIcons");
}
@SuppressWarnings("unchecked")
public ActionForward tomodreplies(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ServletContext context = request.getSession().getServletContext();
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"):"");
ModrepliesPageForm mod = new ModrepliesPageForm();
mod.setList(request.getContextPath());
request.setAttribute("modrepliesPageForm", mod);
return mapping.findForward("toreplies");
}
@SuppressWarnings("unchecked")
public ActionForward tomodthreads(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ServletContext context = request.getSession().getServletContext();
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"):"");
PostsPageForm mod = new PostsPageForm();
mod.setList(request.getContextPath());
request.setAttribute("postsPageForm", mod);
return mapping.findForward("tothreads");
}
private int convertInt(String str){
int count = 0;
try{
count = Integer.valueOf(str);
}catch(Exception e){
}
return count;
}
private String getRandStr(int length, boolean isOnlyNum) {
Random random = new Random();
int size = 62;
if (isOnlyNum) {
size = 10;
}
String str = "0123456789abcdefghigklmnopqrstuvtxyzABCDEFGHIGKLMNOPQRSTUVWXYZ";
StringBuffer sRand = new StringBuffer("");
String rand = "";
for (int i = 0; i < length; i++) {
rand = String.valueOf(str.charAt(random.nextInt(size)));
sRand.append(rand);
}
return sRand.toString();
}
public ActionForward toforumrecommend(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Strin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -