mirror of
https://gitlab.com/Shinobi-Systems/ShinobiCE.git
synced 2025-03-09 15:40:15 +00:00
Son Goku
- Rebased sql, test, web, defintions, languages, INSTALL, and libs folders.
This commit is contained in:
parent
24de55e45a
commit
d0b12e92e7
362 changed files with 21716 additions and 7018 deletions
58
libs/user.js
58
libs/user.js
|
@ -15,7 +15,7 @@ module.exports = function(s,config){
|
|||
if(s.group[e.ke].sizePurgeQueue.length > 0){
|
||||
checkQueue()
|
||||
}else{
|
||||
s.group[e.ke].sizePurging=false
|
||||
s.group[e.ke].sizePurging = false
|
||||
s.sendDiskUsedAmountToClients(e)
|
||||
}
|
||||
}
|
||||
|
@ -116,6 +116,9 @@ module.exports = function(s,config){
|
|||
s.tx({f:'log',ke:e.ke,mid:e.mid,log:x,time:s.timeObject()},'GRPLOG_'+e.ke);
|
||||
}
|
||||
s.loadGroup = function(e){
|
||||
s.loadGroupExtensions.forEach(function(extender){
|
||||
extender(e)
|
||||
})
|
||||
if(!s.group[e.ke]){
|
||||
s.group[e.ke]={}
|
||||
}
|
||||
|
@ -145,7 +148,7 @@ module.exports = function(s,config){
|
|||
ar=JSON.parse(r.details);
|
||||
//load extenders
|
||||
s.loadGroupAppExtensions.forEach(function(extender){
|
||||
extender(r)
|
||||
extender(r,ar)
|
||||
})
|
||||
//disk Used Emitter
|
||||
if(!s.group[e.ke].diskUsedEmitter){
|
||||
|
@ -257,11 +260,11 @@ module.exports = function(s,config){
|
|||
d.form.details.use_admin=d.d.use_admin
|
||||
d.form.details.use_ldap=d.d.use_ldap
|
||||
//check
|
||||
if(d.d.edit_days=="0"){
|
||||
d.form.details.days=d.d.days;
|
||||
if(d.d.edit_days == "0"){
|
||||
d.form.details.days = d.d.days;
|
||||
}
|
||||
if(d.d.edit_size=="0"){
|
||||
d.form.details.size=d.d.size;
|
||||
if(d.d.edit_size == "0"){
|
||||
d.form.details.size = d.d.size;
|
||||
}
|
||||
if(d.d.sub){
|
||||
d.form.details.sub=d.d.sub;
|
||||
|
@ -292,7 +295,7 @@ module.exports = function(s,config){
|
|||
var userDetails = JSON.parse(d.form.details)
|
||||
s.group[d.ke].sizeLimit = parseFloat(newSize)
|
||||
s.onAccountSaveExtensions.forEach(function(extender){
|
||||
extender(s.group[d.ke],userDetails)
|
||||
extender(s.group[d.ke],userDetails,user)
|
||||
})
|
||||
s.unloadGroupAppExtensions.forEach(function(extender){
|
||||
extender(user)
|
||||
|
@ -305,4 +308,45 @@ module.exports = function(s,config){
|
|||
}
|
||||
})
|
||||
}
|
||||
s.findPreset = function(presetQueryVals,callback){
|
||||
//presetQueryVals = [ke, type, name]
|
||||
s.sqlQuery("SELECT * FROM Presets WHERE ke=? AND type=? AND name=? LIMIT 1",presetQueryVals,function(err,presets){
|
||||
var preset
|
||||
var notFound = false
|
||||
if(presets && presets[0]){
|
||||
preset = presets[0]
|
||||
s.checkDetails(preset)
|
||||
}else{
|
||||
notFound = true
|
||||
}
|
||||
callback(notFound,preset)
|
||||
})
|
||||
}
|
||||
s.checkUserPurgeLock = function(groupKey){
|
||||
var userGroup = s.group[groupKey]
|
||||
if(s.group[groupKey].usedSpace > s.group[groupKey].sizeLimit){
|
||||
s.group[groupKey].sizePurgeQueue = []
|
||||
s.group[groupKey].sizePurging = false
|
||||
s.systemLog(lang.sizePurgeLockedText + ' : ' + groupKey)
|
||||
s.onStalePurgeLockExtensions.forEach(function(extender){
|
||||
extender(groupKey,s.group[groupKey].usedSpace,s.group[groupKey].sizeLimit)
|
||||
})
|
||||
}
|
||||
}
|
||||
if(config.cron.deleteOverMax === true){
|
||||
s.checkForStalePurgeLocks = function(){
|
||||
var doCheck = function(){
|
||||
Object.keys(s.group).forEach(function(groupKey){
|
||||
s.checkUserPurgeLock(groupKey)
|
||||
})
|
||||
}
|
||||
clearTimeout(s.checkForStalePurgeLocksInterval)
|
||||
s.checkForStalePurgeLocksInterval = setInterval(function(){
|
||||
doCheck()
|
||||
},1000 * 60 * 60)
|
||||
doCheck()
|
||||
}
|
||||
}else{
|
||||
s.checkForStalePurgeLocks = function(){}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue