📄 common.java
字号:
creditsadd.append(", extcredits" + key + "= extcredits" + key+ operator + creditsarray.get(key));
}
dataBaseService.runQuery("UPDATE jrun_members SET posts=posts+('"+ operator + 1 + "') " + ", lastpost='" + timestamp + "'" + " " + creditsadd+ " WHERE uid =" + uid,true);
creditsadd=null;
}
public static void updatepostcredits(String operator, int uid,Map<Integer, Integer> creditsarray) {
StringBuffer creditsadd = new StringBuffer();
Set<Integer> keys = creditsarray.keySet();
for (Integer key : keys) {
creditsadd.append(", extcredits" + key + "= extcredits" + key+ operator + creditsarray.get(key));
}
if(creditsadd.length()>0){
dataBaseService.runQuery("UPDATE jrun_members SET " + creditsadd.substring(1)+ " WHERE uid =" + uid,true);
}
creditsadd=null;
}
public static void updatepostcredits(int uid,String creditsformula) {
dataBaseService.runQuery("UPDATE jrun_members SET credits="+creditsformula+" WHERE uid =" + uid,true);
}
public static void updateMember(HttpSession session,int uid) {
if(uid>0){
session.setAttribute("user", memberService.findMemberById(uid));
}
}
@SuppressWarnings("unchecked")
public static void calcGroup(HttpSession session,HttpServletRequest request,HttpServletResponse response,Map<String,String> settings){
Members member = (Members) session.getAttribute("user");
int timestamp = (Integer)request.getAttribute("timestamp");
if (member != null) {
List<Map<String,String>> meminfolist = dataBaseService.executeQuery("select mm.groupterms,m.extgroupids,m.credits,m.extcredits1,m.extcredits2,m.extcredits3,m.extcredits4,m.extcredits5,m.extcredits6,m.extcredits7,m.extcredits8,m.groupid,m.adminid,m.newpm,u.type from jrun_members as m left join jrun_memberfields as mm on m.uid=mm.uid left join jrun_usergroups as u on m.groupid=u.groupid where m.uid="+member.getUid());
if(meminfolist!=null && meminfolist.size()>0){
Map<String,String> membermap = meminfolist.get(0);
session.setAttribute("jsprun_groupid", Short.valueOf(membermap.get("groupid")));
member.setGroupid(Short.valueOf(membermap.get("groupid")));
member.setAdminid(Byte.valueOf(membermap.get("adminid")));
member.setNewpm(Byte.valueOf(membermap.get("newpm")));
member.setExtgroupids(membermap.get("extgroupids"));
member.setCredits(Integer.valueOf(membermap.get("credits")));
member.setExtcredits1(Integer.valueOf(membermap.get("extcredits1")));
member.setExtcredits2(Integer.valueOf(membermap.get("extcredits2")));
member.setExtcredits3(Integer.valueOf(membermap.get("extcredits3")));
member.setExtcredits4(Integer.valueOf(membermap.get("extcredits4")));
member.setExtcredits5(Integer.valueOf(membermap.get("extcredits5")));
member.setExtcredits6(Integer.valueOf(membermap.get("extcredits6")));
member.setExtcredits7(Integer.valueOf(membermap.get("extcredits7")));
member.setExtcredits8(Integer.valueOf(membermap.get("extcredits8")));
session.setAttribute("user",member);
String groupterm = membermap.get("groupterms");
Map grouptermMap = dataParse.characterParse(groupterm,false);
if(grouptermMap!=null && !grouptermMap.keySet().isEmpty()){
Map extMap = (Map) grouptermMap.get("ext");
if (extMap != null) {
if (!extMap.keySet().isEmpty()) {
String extgroupids = membermap.get("extgroupids");
Map extids = new HashMap();
if (!extgroupids.equals("")) {
String extdids[] = extgroupids.split("\t");
if (extdids != null && extdids.length > 0) {
for (int i = 0; i < extdids.length; i++) {
extids.put(extdids[i], "yes");
}
}
}
Iterator it = extMap.keySet().iterator();
List keylist = new ArrayList();
while (it.hasNext()) {
Object key = it.next();
int time = (Integer) extMap.get(key);
if (Common.toDigit(time + "", 100000000000000L, 0L).intValue() < timestamp) {
keylist.add(key);
if (extids != null && extids.get(key) != null) {
extids.remove(key);
}
}
}
if(keylist.size()>0){
for(int j=0;j<keylist.size();j++){
extMap.remove(keylist.get(j));
}
}
grouptermMap.put("ext", extMap);
keylist = null;
String extidp = "";
if (extids != null) {
Iterator its = extids.keySet().iterator();
while (its.hasNext()) {
Object key = its.next();
if(!key.toString().equals("")){
extidp += key + "\t";
}
}
}
if(!member.getExtgroupids().equals(extidp)){
member.setExtgroupids(extidp);
dataBaseService.runQuery("update jrun_members set extgroupids = '"+extidp.trim()+"' where uid="+member.getUid(),true);
}
}else{
grouptermMap.remove("ext");
}
}
Map mapMap = (Map) grouptermMap.get("main");
if (mapMap != null&&mapMap.size()>0) {
byte adminid = (mapMap.get("adminid")==null?(byte)0:Byte.valueOf(mapMap.get("adminid").toString()));
short groupid = (mapMap.get("groupid")==null?(short)10:Short.valueOf(mapMap.get("groupid").toString()));
int time = 0;
if(mapMap.get("time")!=null){
time = (Integer)mapMap.get("time");
}
if (time>0) {
if (time < timestamp) {
member.setAdminid(adminid);
member.setGroupid(groupid);
member.setGroupexpiry(0);
member.setCredits(Common.toDigit(membermap.get("credits")));
dataBaseService.runQuery("update jrun_members set adminid = "+adminid+",groupid="+groupid+",groupexpiry=0 where uid="+member.getUid(),true);
session.setAttribute("user", member);
session.setAttribute("jsprun_adminid", member.getAdminid());
session.setAttribute("jsprun_groupid", member.getGroupid());
if(mapMap.get("bktime")!=null){
mapMap.put("time", mapMap.get("bktime"));
mapMap.remove("bktime");
mapMap.put("groupid", mapMap.get("bkgroupid"));
mapMap.remove("bkgroupid");
mapMap.put("adminid", mapMap.get("bkadminid"));
mapMap.remove("bkadminid");
grouptermMap.put("main", mapMap);
}else{
grouptermMap.remove("main");
}
}
}
}
mapMap=null;
if(grouptermMap.keySet().isEmpty()){
dataBaseService.runQuery("update jrun_memberfields set groupterms = '' where uid="+member.getUid(),true);
}else{
String pmdf = dataParse.combinationChar(grouptermMap);
if(!pmdf.equals(groupterm)){
dataBaseService.runQuery("update jrun_memberfields set groupterms = '"+pmdf+"' where uid="+member.getUid(),true);
}
}
}
List<Map<String,String>> usergrouplist = dataBaseService.executeQuery("select type from jrun_usergroups where groupid="+member.getGroupid());
if (usergrouplist.size()<=0||usergrouplist.get(0).get("type").equals("member")) {
List<Map<String,String>> membergrouplist = dataBaseService.executeQuery("select groupid from jrun_usergroups where type='member' and "+ membermap.get("credits")+" >= creditshigher and creditslower > "+ membermap.get("credits"));
if (membergrouplist.size()>0 && !membergrouplist.get(0).get("groupid").equals(member.getGroupid()+"")) {
member.setGroupid(Common.toDigit(membergrouplist.get(0).get("groupid"),1000000L,0L).shortValue());
member.setAdminid(Byte.valueOf("0"));
dataBaseService.runQuery("update jrun_members set adminid=0,groupid="+membergrouplist.get(0).get("groupid")+" where uid="+member.getUid(),true);
}
membergrouplist = null;
}
session.setAttribute("jsprun_adminid", member.getAdminid());
session.setAttribute("jsprun_groupid", member.getGroupid());
session.setAttribute("user", member);
membermap = null;
}else{
CookieUtil.clearCookies(request, response, settings);
}
}
}
public static boolean uploadFile(FormFile src,String targetpath){
InputStream is = null;
OutputStream os = null;
boolean flag = false;
try {
is = new BufferedInputStream(src.getInputStream(),4096);
os = new BufferedOutputStream(new FileOutputStream(targetpath),4096);
int count = 0;
byte[] buffer = new byte[4096];
while((count = is.read(buffer))>0){
os.write(buffer,0,count);
}
flag = true;
buffer = null;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(os != null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(is != null){
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
is = null;src=null;
return flag;
}
public static void updatemodworks(Map<String, String> settings, int uid,int timestamp, String modaction, int posts) {
String today = new SimpleDateFormat("yyyy-MM-dd").format(timestamp* 1000L+ Common.toDigit(settings.get("timeoffset"), 1000L, 0L).intValue()* 3600);
if ("1".equals(settings.get("modworkstatus")) && !"".equals(modaction) && posts > 0) {
List<Map<String, String>> modworks = dataBaseService.executeQuery("SELECT * FROM jrun_modworks WHERE uid='"+ uid + "' AND modaction='" + modaction+ "' AND dateline='" + today + "'");
if (modworks != null && modworks.size() > 0) {
dataBaseService.runQuery("UPDATE jrun_modworks SET count=count+1, posts=posts+'" + posts+ "' WHERE uid='" + uid + "' AND modaction='"+ modaction + "' AND dateline='" + today + "'",true);
} else {
dataBaseService.runQuery("INSERT INTO jrun_modworks (uid, modaction, dateline, count, posts) VALUES ('"+ uid + "', '" + modaction + "', '" + today + "', 1, '"+ posts + "')",true);
}
}
}
public static void updatemodlog(Members member, int timestamp, String tid,String action, Integer expiration, int status, boolean iscron) {
int uid = iscron ? member.getUid() : 0;
String username = iscron ? "0" : member.getUsername();
expiration = expiration != null ? expiration : 0;
String data = "";
String comma = "";
String[] tids = tid.split(",");
if (tids != null && tids.length > 0) {
for (String obj : tids) {
data += comma + " ('" + obj + "', '" + uid + "', '" + username+ "', '" + timestamp + "', '" + action + "', '"+ expiration + "', '1')";
comma = ",";
}
}
if (!"".equals(data)) {
dataBaseService.runQuery("INSERT INTO jrun_threadsmod (tid, uid, username, dateline, action, expiration, status) VALUES "+ data,true);
}
}
@SuppressWarnings({ "unchecked", "deprecation" })
public static void updatesession(HttpServletRequest request,Map<String, String> settings) {
HttpSession httpSession = request.getSession();
int seccode = (Integer) request.getAttribute("seccode");
boolean sessionexists = (Boolean) request.getAttribute("sessionexists");
String sid = (String) httpSession.getAttribute("jsprun_sid");
String onlineip = request.getRemoteAddr();
int jsprun_uid = (Integer) httpSession.getAttribute("jsprun_uid");
Members member = (Members) httpSession.getAttribute("user");
int timestamp=(Integer)(request.getAttribute("timestamp"));
int lastactivity = timestamp;
int pvfrequence = Common.toDigit(settings.get("pvfrequence"), 1000000000L,0L).intValue();
int spageviews = 0;
int lastolupdate = (Integer) request.getAttribute("lastolupdate");
int oltimespan = Common.toDigit(settings.get("oltimespan"), 1000000000L,0L).intValue();
int onlinehold = Common.toDigit(settings.get("onlinehold"), 1000000000L,0L).intValue();
String styleid = (String)httpSession.getAttribute("styleid");
short groupid = (Short) httpSession.getAttribute("jsprun_groupid");
styleid = Common.toDigit(styleid)>0? styleid : settings.get("styleid");
byte invisible = 0;
int jsprun_action =Common.toDigit((String)request.getAttribute("jsprun_action"), 255L, 0L).intValue();
Short fid = (Short) request.getAttribute("fid");
Integer tid = (Integer) request.getAttribute("tid");
fid = fid != null ? fid : 0;
tid = tid != null ? tid : 0;
short bloguid = 0;
String jsprun_userss=null;
if (member != null) {
lastactivity = member.getLastactivity();
invisible = member.getInvisible();
jsprun_userss = member.getUsername();
}else{
jsprun_userss="";
}
if (oltimespan > 0&& jsprun_uid > 0 && lastactivity > 0 && ((timestamp - (lastolupdate > 0 ? lastolupdate : lastactivity)) > (oltimespan * 60))) {
lastolupdate = timestamp;
List<Map<String, String>> count = dataBaseService.executeQuery("SELECT count(*) count FROM jrun_onlinetime WHERE uid='" + jsprun_uid + "' AND lastupdate<='" + (timestamp - oltimespan * 60) + "'");
int size = (count != null && count.size() > 0 ? Integer .valueOf(count.get(0).get("count")) : 0);
if (size > 0) {
dataBaseService.runQuery("UPDATE jrun_onlinetime SET total=total+'" + oltimespan + "', thismonth=thismonth+'" + oltimespan + "', lastupdate='" + timestamp + "' WHERE uid='"+ jsprun_uid + "' AND lastupdate<='"+ (timestamp - oltimespan * 60) + "'",true);
} else {
List<Map<String,String>> insert = dataBaseService.executeQuery("select uid from jrun_onlinetime where uid="+jsprun_uid+" limit 1");
if(insert==null || insert.size()<=0){
dataBaseService.runQuery("INSERT INTO jrun_onlinetime (uid, thismonth, total, lastupdate) VALUES ('"+ jsprun_uid + "', '" + oltimespan + "', '" + oltimespan + "', '" + timestamp + "')",true);
}
insert = null;
}
}
if (sessionexists) {
String pageviewsadd = null;
if (pvfrequence > 0 && jsprun_uid > 0) {
if (spageviews >= pvfrequence) {
pageviewsadd = ", pageviews=\'0\'";
dataBaseService.runQuery("UPDATE jrun_members SET pageviews=pageviews+'" + spageviews+ "' WHERE uid='" + jsprun_uid + "'",true);
member.setPageviews(member.getPageviews()+spageviews);
httpSession.setAttribute("user",member);
} else {
pageviewsadd = ", pageviews=pageviews+1";
}
} else {
pageviewsadd = "";
}
dataBaseService.runQuery("UPDATE jrun_sessions SET uid='" + jsprun_uid+ "', username='" + jsprun_userss + "', groupid='"+ groupid + "', styleid='" + styleid + "', invisible='" + invisible + "', action='" + jsprun_action+ "', lastactivity='" + timestamp + "', lastolupdate='"+ lastolupdate + "', seccode='" + seccode + "', fid='"+ fid + "', tid='" + tid + "', bloguid='" + bloguid + "' "+ pageviewsadd + " WHERE sid='" + sid + "'",true);
} else {
String[] ips = onlineip.split("\\.");
if(ips.length<4){
ips=new String[]{"0","0","0","0"};
}
dataBaseService.runQuery("DELETE FROM jrun_sessions WHERE sid='" + sid+ "' OR lastactivity<" + (timestamp - onlinehold)+ " OR ('" + jsprun_uid + "'<>'0' AND uid='" + jsprun_uid+ "') OR (uid='0' AND ip1='" + ips[0] + "' AND ip2='"+ ips[1] + "' AND ip3='" + ips[2] + "' AND ip4='" + ips[3]+ "' AND lastactivity>" + (timestamp - 60) + ")",true);
dataBaseService.runQuery("REPLACE INTO jrun_sessions (sid, ip1, ip2, ip3, ip4, uid, username, groupid, styleid, invisible, action, lastactivity, lastolupdate, seccode, fid, tid, bloguid) VALUES ('"+ sid + "
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -