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

📄 spacesaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			memberfiled.setSpacename(spacename);
			memberServer.modifyMemberfields(memberfiled);
		}
		spaceServer.modifyMemberspace(memberspace);
		request.setAttribute("successInfo", "个人空间设置保存成功。<br/><a href='"+ request.getContextPath()+ "/memcp.jsp?action=spacemodule'>[ 需要继续管理个人空间请点击这里 ]</a>");
		request.setAttribute("requestPath", request.getContextPath()+ "/space.jsp?uid=" + uid);
		return mapping.findForward("showMessage");
	}
	@SuppressWarnings("unchecked")
	public ActionForward toUserinfo(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
		String username = request.getParameter("username");
		Members member =null;
		int uid;
		if(username!=null)
		{
			member = memberServer.findByName(username);
		}
		else{
			uid = Common.toDigit(request.getParameter("uid")); 
			member = memberServer.findMemberById(uid);
		}
		if(member==null){
			request.setAttribute("errorInfo", "该用户不存在或已被删除,请返回上一页");
			return mapping.findForward("showMessage");
		}
		uid = member.getUid();
		HttpSession session = request.getSession();
		Members tomember = (Members)session.getAttribute("user");
		int jsprun_uid = (Integer)session.getAttribute("jsprun_uid");
		Map<String,String> usergroups=(Map<String,String>)request.getAttribute("usergroups");
		String dateformat = (String)session.getAttribute("dateformat");
		int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
		if(("0".equals(usergroups.get("allowviewpro"))) && uid!=jsprun_uid){
			request.setAttribute("show_message", "您所在的用户组("+ usergroups.get("grouptitle") + ")无法进行此操作。");
			return mapping.findForward("nopermission");
		}
		Memberfields memberfild = memberServer.findMemberfieldsById(uid);
		Onlinetime online = memberServer.findOnlineTimeById(uid);
		List<Profilefields> profiled = memberServer.findprofilefieldByAvaliable((byte)1);
		String profileds = "";
		for(Profilefields profiledt :profiled){
			profileds = profileds+",field_"+profiledt.getFieldid();
		}
		if(!profileds.equals("")){
			Map<String,String> profiledvalue = dataBaseService.executeQuery("select "+profileds.substring(1)+" from jrun_memberfields where uid="+uid).get(0);
			StringBuffer profiledis = new StringBuffer();
			for(Profilefields profiledt :profiled){
				profiledis.append("<tr><th>");
				profiledis.append(profiledt.getTitle());
				profiledis.append(":</th><td>");
				profiledis.append(profiledvalue.get("field_"+profiledt.getFieldid())==null?"":profiledvalue.get("field_"+profiledt.getFieldid()));
				profiledis.append("</td></tr>");
			}
			request.setAttribute("profiledis", profiledis);
		}
		profiled = null;
		Map<String,String> settings=(Map<String,String>)request.getAttribute("settings");
		if(member.getGroupid()==1){
			String forumfounder = ","+settings.get("forumfounders").trim()+",";
			request.setAttribute("isfounder",Common.matches(forumfounder,","+uid+","));
		}else{
			request.setAttribute("isfounder", false);
		}
		Users users = new Users();
		Usergroups usergroup = usergroupServer.findUserGroupById(member.getGroupid());
		String extgroupterms = memberfild.getGroupterms();
		DataParse dataParse = (DataParse) BeanFactory.getBean("dataParse");
		Map extgroupMap = dataParse.characterParse(extgroupterms,false);
		Map mainMap = null;
		Map extMap = null;
		if (extgroupMap != null) {
			mainMap = (Map) extgroupMap.get("main");
			extMap = (Map) extgroupMap.get("ext");
		}
		String extgroups = "";
		String extgroupids = member.getExtgroupids();
		String sql="";
		if (extgroupids != null && !extgroupids.equals("")) {
			sql="SELECT groupid,grouptitle FROM jrun_usergroups WHERE groupid in("+extgroupids.trim().replaceAll("\t", ",")+")";
			List<Map<String,String>> extgroupList=dataBaseService.executeQuery(sql);
			for(Map<String,String> extgroup:extgroupList)
			{
				if (extMap != null && extMap.get(extgroup.get("groupid")) != null) {
					extgroups += extgroup.get("grouptitle")+ " (有效期至"+ Common.gmdate(dateformat, (int)(Common.toDigit(extMap.get(extgroup.get("groupid")).toString())+timeoffset))+"<br/>";
				} else {
					extgroups += extgroup.get("grouptitle")+"<br/>";
				}
			}
		}		
		users.setExtgroup(extgroups);
		if(usergroup!=null){
			String result[] = Common.getgroupid(member, settings.get("creditsformula"), null, usergroup);
			member.setCredits(convertInt(result[2]));
			users.setGrouptitle(result[1]);
			users.setGroupstars(result[4]);
			usergroup.setColor(result[3]);
			usergroup.setStars(Short.valueOf(result[4]));
			if (mainMap != null) {
				String time = mainMap.get("time") == null ? "" : mainMap.get("time").toString();
				if(!time.equals("0") && !time.equals("")){
					users.setGrouptime("<br> 有效期至" + Common.gmdate(dateformat, (int)(Common.toDigit(time)+timeoffset)));
				}
			}
		}
		Map<Integer,Map<String,String>> ranks=dataParse.characterParse(((Map<String,String>)request.getAttribute("ranks")).get("ranks"),false);
		for (int j = 1; j <= ranks.size(); j++) {
			Map<String,String> rank = ranks.get(j);
			if (member.getPosts() >= Integer.valueOf(rank.get("postshigher"))) {
				users.setRankname(rank.get("ranktitle"));
				users.setStars(rank.get("stars"));
				users.setRankcolor(rank.get("color"));
				break;
			}
		}
		int postnum = spaceServer.findPostCount();
		int posts = member.getPosts();
		double proportion = ((double) posts / (double) postnum) * 100;
		DecimalFormat df = new DecimalFormat("0.00");
		users.setPostnum(posts + "(占全部帖子的 " + df.format(proportion) + "%)");
		double diff = new Date().getTime()/1000 - member.getRegdate();
		double day = diff / (60 * 60 * 24);
		double propro = posts /(day>1?day:1d);
		users.setEveryposts(df.format(propro));
		if (member.getGender() == 0) {
			users.setSex("保密");
		} else if (member.getGender() == 1) {
			users.setSex("男");
		} else {
			users.setSex("女");
		}
		request.setAttribute("allowip", false);
		if(member.getAdminid()<=0 || tomember.getAdminid()<=member.getAdminid()){
			IPSeeker seeker  = IPSeeker.getInstance();
			String ipaddress = seeker.getAddress(member.getLastip());
			String address2 = seeker.getAddress(member.getRegip());
			if(!address2.equals("")){
				address2 = " -- " +address2;
			}
			request.setAttribute("ipaddress2", address2);
			request.setAttribute("ipaddress", " -- "+ipaddress);
			request.setAttribute("allowip", true);
		}
		UserInfoVO userinfo = new UserInfoVO();
		userinfo.setUsername(member.getUsername());
		userinfo.setAvoras(memberfild.getAvatar());
		String bio = memberfild.getBio();
		String[] bios = bio.split("\t");
		if(bios!=null && bios.length>0){
			userinfo.setBios(bios[0]);
		}else{
			userinfo.setBios("");
		}
		userinfo.setWidth(memberfild.getAvatarwidth());
		userinfo.setHeight(memberfild.getAvatarheight());
		userinfo.setIsonline(spaceServer.findSessionByUid(uid));
		request.setAttribute("member", member);
		request.setAttribute("onlitime", online);
		request.setAttribute("memberfild", memberfild);
		request.setAttribute("users", users);
		request.setAttribute("userinfo", userinfo);
		request.setAttribute("usergroup", usergroup);
		double  onlinettotal = online==null?0.0:online.getTotal();
		double onlinenum = Double.valueOf(df.format(onlinettotal/60));
		int onlinestars = (int) Math.ceil((onlinenum + 1) / 50);
		int olupgrade = onlinettotal > 0 ? (int) Math.ceil(20 - onlinenum % 20) : 20;  
		request.setAttribute("olupgrade", olupgrade);
		request.setAttribute("onlinstars",onlinestars);
		int buycredit = memberfild.getBuyercredit();
		int shellcredit = memberfild.getSellercredit();
		Map buycreditMap = dataParse.characterParse(settings.get("ec_credit"), true);
		Map buysMap = (Map) buycreditMap.get("rank");
		String postbuycredit = "0";
		String postshellcredit = "0";
		if (buysMap != null) {
			if(buycredit>0){
				Iterator it = buysMap.keySet().iterator();
				while (it.hasNext()) {
					Object key = it.next();
					if (buycredit <= Integer.valueOf(buysMap.get(key).toString())) {
						postbuycredit=key.toString();
						break;
					}
				}
			}
			if(shellcredit>0){
				Iterator its = buysMap.keySet().iterator();
				while (its.hasNext()) {
					Object key = its.next();
					if (shellcredit <= Integer.valueOf(buysMap.get(key).toString())) {
						postshellcredit = key.toString();
						break;
					}
				}
			}
		}
		request.setAttribute("buycredit", postbuycredit);
		request.setAttribute("shellcredit", postshellcredit);
		Map extcredits = dataParse.characterParse(settings.get("extcredits"), true);
		request.setAttribute("extcredits", extcredits);
		String medal = memberfild.getMedals().trim();
		if (!medal.equals("")) {
			try {
				request.getRequestDispatcher("/forumdata/cache/cache_medals.jsp").include(request, response);
			} catch (Exception e) {
				e.printStackTrace();
			}
			Map<String,Map<String,String>> medals=dataParse.characterParse(((Map<String,String>)request.getAttribute("medals")).get("medals"),true);
			if(medals!=null && medals.size()>0){
				StringBuffer medallist=new StringBuffer();
				for(int j=0;j<medals.size();j++){
					Map<String,String> medaltemp=medals.get(j);
					if(Common.matches(medal,"(^|\t)(" + medaltemp.get("medalid") + ")(\t|$)")){
						medallist.append("<img src='images/common/"+medaltemp.get("image")+"' border='0' title='"+medaltemp.get("name")+"' /> &nbsp;");
					}
				}
				request.setAttribute("medallist", medallist.length()>0?medallist:null);
			}
		}
		if(member.getAdminid()>0){
			List<Map<String, String>> modertarlist = dataBaseService.executeQuery("SELECT f.fid, f.name FROM jrun_moderators m LEFT JOIN jrun_forums f USING(fid) where m.inherited='0' and f.status=1 and m.uid="+ uid+" ORDER BY f.displayorder");
			request.setAttribute("modertarlist", modertarlist!=null&&modertarlist.size()>0?modertarlist:null);
		}
		if(settings.get("spacestatus").equals("1")){
			Memberspaces memberspace = spaceServer.findMemberspace(uid);
			if (memberspace == null) {
				memberspace = new Memberspaces();
				memberspace.setUid(uid);
				memberspace.setDescription("");
				memberspace.setLayout("[userinfo][calendar][myreplies][myfavforums]	[myblogs][mythreads]	");
				memberspace.setSide(Byte.valueOf("1"));
				memberspace.setStyle("default");
				spaceServer.addMemberSpace(memberspace);
			}
			String layout = memberspace.getLayout();
			Map menuMap = new HashMap();
			if (layout.indexOf("[myblogs]") != -1) {
				menuMap.put("myblogs", "ok");
			}
			if (layout.indexOf("[mythreads]") != -1) {
				menuMap.put("mythreads", "ok");
			}
			if (layout.indexOf("[myreplies]") != -1) {
				menuMap.put("myreplies", "ok");
			}
			if (layout.indexOf("[myrewards]") != -1) {
				menuMap.put("myrewards", "ok");
			}
			if (layout.indexOf("[mytrades]") != -1) {
				menuMap.put("mytrades", "ok");
			}
			if (layout.indexOf("[myfavforums]") != -1) {
				menuMap.put("myfavforums", "ok");
			}
			if (layout.indexOf("[myfavthreads]") != -1) {
				menuMap.put("myfavthreads", "ok");
			}
			request.setAttribute("menuMap", menuMap);
			request.setAttribute("memberspace", memberspace);
			return mapping.findForward("touserinfo");			
		}else{
			return mapping.findForward("userinfo");
		}
	}
	@SuppressWarnings("unchecked")
	public ActionForward toMyblogs(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String suid = request.getParameter("uid");  
		int uid = convertInt(suid);
		Members member = memberServer.findMemberById(uid);
		if(member==null){
			request.setAttribute("errorInfo", "该用户不存在或已被删除,请返回上一页");
			return mapping.findForward("showMessage");
		}
		Memberfields memberfild = memberServer.findMemberfieldsById(uid);
		request.setAttribute("bember", member);
		request.setAttribute("memberfild", memberfild);
		HttpSession session = request.getSession();
		int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
		String begin = request.getParameter("begin");
		String end = request.getParameter("end");
		if (begin == null || end == null) {
			Calendar cale = Common.getGMTCalendar();
			cale.setTimeInMillis(cale.getTimeInMillis()+timeoffset*1000);
			cale.set(Calendar.DATE, 1);
			int ddd = cale.get(Calendar.DAY_OF_WEEK);
			request.setAttribute("week", ddd - 1);
			int days = calcCalenday(cale);
			begin = cale.getTimeInMillis() + "";
			begin = begin.substring(0, 10);
			cale.set(Calendar.DATE, days);
			end = cale.getTimeInMillis() + "";
			end = end.substring(0, 10);
			request.setAttribute("days", days);
			int year = cale.get(Calendar.YEAR);
			int month = cale.get(Calendar.MONTH);
			cale.set(year, month - 1, 1);
			String beforbegintime = cale.getTimeInMillis() + "";
			beforbegintime = beforbegintime.substring(0, 10);
			days = calcCalenday(cale);
			cale.set(Calendar.DATE, days);
			String beforendtime = cale.getTimeInMillis() + "";
			beforendtime = beforendtime.substring(0, 10);
			request.setAttribute("beforendtime", beforendtime);
			request.setAttribute("beforbegintime", beforbegintime);
			request.setAttribute("year", year);
			request.setAttribute("month", month + 1);
		} else {
			Calendar cale = Common.getGMTCalendar();
			Calendar nowcale =  Common.getGMTCalendar();
			nowcale.setTimeInMillis(nowcale.getTimeInMillis()+timeoffset*1000);

⌨️ 快捷键说明

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