📄 spacesaction.java
字号:
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")+"' /> ");
}
}
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 + -