⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wapaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
					wapService.forwardToMessage(request, response, settingMap, "验证信息不正确", null, settingMap.get("bbname"), currentMember, "post", formhashInSession, session.getId());
					return null;
				}
				String checkflood = checkflood(jsprun_uid, timestamp, currentMember!=null?currentMember.getLastpost():0,Integer.valueOf(settingMap.get("floodctrl")), admingroupMap==null?0:Integer.valueOf(admingroupMap.get("disablepostctrl")), Integer.valueOf(userGroupMap.get("maxpostsperhour")));
				if (checkflood != null) {
					wapService.forwardToMessage(request, response, settingMap, checkflood, null, settingMap.get("bbname"), currentMember, "post", formhashInSession, session.getId());
					return null;
				}
				int pinvisible = modnewreplies ? -2 : 0;
				String author = currentMember!=null?currentMember.getUsername():"匿名";
				Posts post = new Posts();
				post.setFid(Short.valueOf(fid));
				post.setTid(Integer.parseInt(tid));
				post.setFirst((byte)0);
				post.setAuthor(author);
				post.setAuthorid(jsprun_uid);
				post.setDateline(timestamp);
				post.setMessage(message);
				post.setUseip(request.getRemoteAddr());
				post.setInvisible((byte)pinvisible);
				post.setUsesig((byte)1);
				post.setHtmlon((byte)0);
				post.setBbcodeoff((byte)0);
				post.setSmileyoff((byte)0);
				post.setParseurloff((byte)0);
				post.setAttachment((byte)0);
				postService.saveOrupdatePosts(post);
				
				Integer pid = post.getPid();
				
				dataBaseService.execute("REPLACE INTO "+tablePre+"myposts (uid, tid, pid, position, dateline) VALUES ('"+jsprun_uid+"', '"+tid+"', '"+pid+"', '"+(Integer.parseInt(threadMap.get("replies")) + 1)+"', '"+timestamp+"')");
				if(modnewreplies){
					Map<String,String> link_titleMap = new HashMap<String, String>();
					link_titleMap.put("link", "index.jsp?action=forum&amp;fid="+fid);
					link_titleMap.put("title", "回到当前论坛");
					wapService.forwardToMessage(request, response, settingMap, "成功提交人工审核", link_titleMap, settingMap.get("bbname"), currentMember, "post", formhashInSession, session.getId());
					return null;
				}else{
					dataBaseService.execute("UPDATE "+tablePre+"threads SET lastposter='"+author+"', lastpost='"+timestamp+"', replies=replies+1 WHERE tid='"+tid+"' AND fid='"+fid+"'");
					Common.updatepostcredits("+", jsprun_uid, postcredits, timestamp);
					Common.updatepostcredits(jsprun_uid,settingMap.get("creditsformula"));
					Common.updateMember(session, jsprun_uid);
					
					String lastpost = tid + "\t" + Common.dhtmlspecialchars(Common.cutstr(Common.htmlspecialchars(threadMap.get("subject").replaceAll("\t", " ")), 40, null)) + "\t" + timestamp + "\t"+ author;
					dataBaseService.runQuery("update jrun_forums set lastpost='"+lastpost.replace("'", "''")+"',posts=posts+1 where fid='"+fid+"'",true);
					if(currentForum.get("type").equals("sub")){
						dataBaseService.runQuery("update jrun_forums set lastpost='"+lastpost.replace("'", "''")+"',posts=posts+1 where fid='"+currentForum.get("fup")+"'",true);
					}
					
					int wapppp = Integer.parseInt(settingMap.get("wapppp"));
					String tempUrl = response.encodeURL("index.jsp?action=forum&amp;fid="+fid);
					Map<String,String> link_titleMap = new HashMap<String, String>();
					link_titleMap.put("link", "index.jsp?action=thread&amp;tid="+tid+"&amp;page="+(int)(Math.ceil((Integer.parseInt(threadMap.get("replies"))+ 2) / wapppp)));
					link_titleMap.put("title", "回到当前论坛");
					wapService.forwardToMessage(request, response, settingMap, "主题回复成功<br /><a href=\""+tempUrl+"\">返回论坛</a>", link_titleMap, settingMap.get("bbname"), currentMember, "post", formhashInSession, session.getId());
					return null;
				}
			}
		}
		
		return null;
		
	}
	
	public ActionForward my(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
		
		Map<String,String> settingMap = (Map<String,String>)request.getAttribute("settings");
		
		HttpSession session = request.getSession();
		String formhashInSession = (String)session.getAttribute("formhash");
		Members currentMember = (Members)session.getAttribute("user");
		int jsprun_uid = (Integer)session.getAttribute("jsprun_uid");
		
		if(!wapService.validateWap(request, response, settingMap, currentMember, formhashInSession,session.getId())){
			return null;
		}
		
		if(currentMember==null){
			wapService.forwardToMessage(request, response, settingMap, "请登录后使用本功能", null, settingMap.get("bbname"), currentMember, "my", formhashInSession, session.getId());
			return null;
		}
		
		String uidString = request.getParameter("uid");
		int uid = uidString !=null ? Integer.parseInt(uidString) : jsprun_uid;
		String username = request.getParameter("username");
		username = username !=null ? Common.dhtmlspecialchars(username) : "";
		String usernameadd = uid !=0 ? "m.uid='"+uid+"'" : "m.username='"+username+"'";
		
		String dow = request.getParameter("do");
		if(dow==null){
			List<Map<String,String>> memberInfoMapList = dataBaseService.executeQuery("SELECT m.*, mf.* FROM "+tablePre+"members m " +
					"LEFT JOIN "+tablePre+"memberfields mf ON mf.uid=m.uid " +
					"WHERE "+usernameadd+" LIMIT 1");
			
			if(memberInfoMapList == null || memberInfoMapList.size()<0){
				wapService.forwardToMessage(request, response, settingMap, "该用户不存在", null, settingMap.get("bbname"), currentMember, "my", formhashInSession, session.getId());
				return null;
			}
			
			Map<String,String> memberMap = memberInfoMapList.get(0);
			MyVO myVO = wapService.getMyVO(request, settingMap, currentMember, formhashInSession, session.getId(), memberMap, uid, jsprun_uid, username);
			request.setAttribute("valueObject", myVO);
			
			return mapping.findForward("my");
		}else{
			if(dow.equals("fav")){
				String favid = request.getParameter("favid");
				if(favid != null){
					String type = request.getParameter("type");
					String selectid = type!=null && type.equals("thread") ? "tid" : "fid";
					List<Map<String,String>> tempMapList = dataBaseService.executeQuery("SELECT "+selectid+" FROM "+tablePre+"favorites WHERE uid='"+jsprun_uid+"' AND "+selectid+"='"+favid+"' LIMIT 1");
					if(tempMapList!=null && tempMapList.size()>0){
						wapService.forwardToMessage(request, response, settingMap, "您过去已经收藏过这个主题或者版块,请返回。", null, settingMap.get("bbname"), currentMember, "my", formhashInSession, session.getId());
						return null;
					}else{
						dataBaseService.execute("INSERT INTO "+tablePre+"favorites (uid, "+selectid+") " +
								"VALUES ('"+jsprun_uid+"', '"+favid+"')");
						wapService.forwardToMessage(request, response, settingMap, "已成功添加到收藏夹中,请返回。", null, settingMap.get("bbname"), currentMember, "my", formhashInSession, session.getId());
						return null;
					}
				}else{
					MyCollectionVO myCollectionVO = wapService.getMyCollectionVO(request, settingMap, currentMember, formhashInSession, session.getId(), jsprun_uid);
					request.setAttribute("valueObject", myCollectionVO);
					return mapping.findForward("mycollection");
				}
			}
		}
		return null;
	}
	
	public ActionForward myphone(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
		request.setAttribute("jsprun_action", "194");
		
		HttpSession session = request.getSession();
		Map<String,String> settingMap = (Map<String,String>)request.getAttribute("settings");
		Members currentMember = (Members)request.getAttribute("user");
		String formhash = (String)session.getAttribute("formhash");
		
		if(!wapService.validateWap(request, response, settingMap, currentMember, formhash,session.getId())){
			return null;
		}
		
		request.setAttribute("valueObject", wapService.getMyPhoneVO(request, settingMap, currentMember, formhash, session.getId()));
		return mapping.findForward("myphone");
	}
	
	public ActionForward search(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
		HttpSession session = request.getSession();
		int cachelife_time = 300;
		int cachelife_text = 3600;
		
		Map<String,String> groupMap = (Map<String,String>)request.getAttribute("usergroups");
		Map<String,String> settingMap = (Map<String,String>)request.getAttribute("settings");
		
		Members currentMember = (Members)session.getAttribute("user");
		String formhashInSession = (String)session.getAttribute("formhash");
		
		if(!wapService.validateWap(request, response, settingMap, currentMember, formhashInSession,session.getId())){
			return null;
		}
		
		String allowsearch = groupMap.get("allowsearch");
		
		if(allowsearch == null || allowsearch.equals("")|| allowsearch.equals("0")){
			wapService.forwardToMessage(request, response, settingMap, "您所在的用户组没有搜索权限,请返回", null, settingMap.get("bbname"), currentMember, "search", formhashInSession, session.getId());
			return null;
		}
		
		String dow = request.getParameter("do");
		if(dow == null){
			dow = "";
		}
		if(!dow.equals("submit")){
			SearchVO searchVO = wapService.getSearchVO(request, settingMap, currentMember, formhashInSession, session.getId());
			request.setAttribute("valueObject", searchVO);
			return mapping.findForward("search");
		}else{
			
			String searchid = request.getParameter("searchid");
			if(searchid!=null){
				String pageString = request.getParameter("page");
				int page = pageString == null ? 1 : Math.max(1, Integer.parseInt(pageString));
				int waptpp = Integer.parseInt(settingMap.get("waptpp"));
				
				int start_limit = (page - 1) * waptpp;
				
				List<Map<String,String>> tempMapList = dataBaseService.executeQuery("SELECT searchstring, keywords, threads, tids FROM "+tablePre+"searchindex WHERE searchid='"+searchid+"'");
				if(tempMapList == null || tempMapList.size()==0){
					wapService.forwardToMessage(request, response, settingMap, "您指定的搜索不存在或已过期,请返回。", null, settingMap.get("bbname"), currentMember, "search", formhashInSession, session.getId());
					return null;
				}
				
				Map<String,String> index = tempMapList.get(0);
				List<Map<String,String>> tempMapList2 = dataBaseService.executeQuery("SELECT COUNT(*) AS cnt FROM  "+tablePre+"threads WHERE tid IN ("+index.get("tids")+") AND displayorder>='0'");
				
				int searchnum = 0;
				if(tempMapList2!=null || tempMapList2.size()>0){
					searchnum = Integer.parseInt(tempMapList2.get(0).get("cnt"));
				}
				if(searchnum == 0){
					wapService.forwardToMessage(request, response, settingMap, "未找到相关搜索!", null, settingMap.get("bbname"), currentMember, "search", formhashInSession, session.getId());
					return null;
				}else{
					SearchResultVO searchResultVO  = wapService.getSearchResultVO(request, response, settingMap, currentMember, formhashInSession, session.getId(), index, waptpp, start_limit, page, searchnum, searchid);
					request.setAttribute("valueObject", searchResultVO);
					return mapping.findForward("searchresult");
				}
			}else{
				String srchtxt = request.getParameter("srchtxt");
				String srchuname = request.getParameter("srchuname");
				String srchuid = request.getParameter("srchuid");
				
				srchtxt = srchtxt==null?"":srchtxt.trim();
				srchuname = srchuname==null?"":srchuname.trim();
				srchuid = srchuid!=null ? srchuid : "0";
				
				String searchstring = "title|"+Common.addslashes(srchtxt)+"|"+srchuid+"|"+srchuname;
				Map<String,String> searchindex = new HashMap<String, String>();
				searchindex.put("id", "0");
				searchindex.put("dateline", "0");
				
				String searchctrl = settingMap.get("searchctrl");
				int jsprun_uid = (Integer)session.getAttribute("jsprun_uid");
				int timestamp = (Integer)request.getAttribute("timestamp");
				String onlineip = request.getRemoteAddr();
				List<Map<String,String>> tempMapList = dataBaseService.executeQuery("SELECT searchid, dateline, " +
						"('"+searchctrl+"'<>'0' AND "+(jsprun_uid==0 ? "useip='"+onlineip+"'" : "uid='"+jsprun_uid+"'")+" AND "+timestamp+"-dateline<"+searchctrl+") AS flood, " +
								"(searchstring='"+searchstring+"' AND expiration>'"+timestamp+"') AS indexvalid " +
								"FROM "

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -