Yet more UserProps usage
This commit is contained in:
parent
4050affedf
commit
d11aca571e
|
@ -847,6 +847,8 @@ function peg$parse(input, options) {
|
||||||
const client = options.client;
|
const client = options.client;
|
||||||
const user = options.client.user;
|
const user = options.client.user;
|
||||||
|
|
||||||
|
const UserProps = require('./user_property.js');
|
||||||
|
|
||||||
const moment = require('moment');
|
const moment = require('moment');
|
||||||
|
|
||||||
function checkAccess(acsCode, value) {
|
function checkAccess(acsCode, value) {
|
||||||
|
@ -863,7 +865,7 @@ function peg$parse(input, options) {
|
||||||
value = [ value ];
|
value = [ value ];
|
||||||
}
|
}
|
||||||
|
|
||||||
const userAccountStatus = parseInt(user.properties.account_status, 10);
|
const userAccountStatus = user.getPropertyAsNumber(UserProps.AccountStatus);
|
||||||
return value.map(n => parseInt(n, 10)).includes(userAccountStatus);
|
return value.map(n => parseInt(n, 10)).includes(userAccountStatus);
|
||||||
},
|
},
|
||||||
EC : function isEncoding() {
|
EC : function isEncoding() {
|
||||||
|
@ -888,15 +890,15 @@ function peg$parse(input, options) {
|
||||||
return value.map(n => parseInt(n, 10)).includes(client.node);
|
return value.map(n => parseInt(n, 10)).includes(client.node);
|
||||||
},
|
},
|
||||||
NP : function numberOfPosts() {
|
NP : function numberOfPosts() {
|
||||||
const postCount = parseInt(user.properties.post_count, 10) || 0;
|
const postCount = user.getPropertyAsNumber(UserProps.PostCount) || 0;
|
||||||
return !isNaN(value) && postCount >= value;
|
return !isNaN(value) && postCount >= value;
|
||||||
},
|
},
|
||||||
NC : function numberOfCalls() {
|
NC : function numberOfCalls() {
|
||||||
const loginCount = parseInt(user.properties.login_count, 10);
|
const loginCount = user.getPropertyAsNumber(UserProps.LoginCount);
|
||||||
return !isNaN(value) && loginCount >= value;
|
return !isNaN(value) && loginCount >= value;
|
||||||
},
|
},
|
||||||
AA : function accountAge() {
|
AA : function accountAge() {
|
||||||
const accountCreated = moment(user.properties.account_created);
|
const accountCreated = moment(user.getProperty(UserProps.AccountCreated));
|
||||||
const now = moment();
|
const now = moment();
|
||||||
const daysOld = accountCreated.diff(moment(), 'days');
|
const daysOld = accountCreated.diff(moment(), 'days');
|
||||||
return !isNaN(value) &&
|
return !isNaN(value) &&
|
||||||
|
@ -905,36 +907,36 @@ function peg$parse(input, options) {
|
||||||
daysOld >= value;
|
daysOld >= value;
|
||||||
},
|
},
|
||||||
BU : function bytesUploaded() {
|
BU : function bytesUploaded() {
|
||||||
const bytesUp = parseInt(user.properties.ul_total_bytes, 10) || 0;
|
const bytesUp = user.getPropertyAsNumber(UserProps.FileUlTotalBytes) || 0;
|
||||||
return !isNaN(value) && bytesUp >= value;
|
return !isNaN(value) && bytesUp >= value;
|
||||||
},
|
},
|
||||||
UP : function uploads() {
|
UP : function uploads() {
|
||||||
const uls = parseInt(user.properties.ul_total_count, 10) || 0;
|
const uls = user.getPropertyAsNumber(UserProps.FileUlTotalCount) || 0;
|
||||||
return !isNaN(value) && uls >= value;
|
return !isNaN(value) && uls >= value;
|
||||||
},
|
},
|
||||||
BD : function bytesDownloaded() {
|
BD : function bytesDownloaded() {
|
||||||
const bytesDown = parseInt(user.properties.dl_total_bytes, 10) || 0;
|
const bytesDown = user.getPropertyAsNumber(UserProps.FileDlTotalBytes) || 0;
|
||||||
return !isNaN(value) && bytesDown >= value;
|
return !isNaN(value) && bytesDown >= value;
|
||||||
},
|
},
|
||||||
DL : function downloads() {
|
DL : function downloads() {
|
||||||
const dls = parseInt(user.properties.dl_total_count, 10) || 0;
|
const dls = user.getPropertyAsNumber(UserProps.FileDlTotalCount) || 0;
|
||||||
return !isNaN(value) && dls >= value;
|
return !isNaN(value) && dls >= value;
|
||||||
},
|
},
|
||||||
NR : function uploadDownloadRatioGreaterThan() {
|
NR : function uploadDownloadRatioGreaterThan() {
|
||||||
const ulCount = parseInt(user.properties.ul_total_count, 10) || 0;
|
const ulCount = user.getPropertyAsNumber(UserProps.FileUlTotalCount) || 0;
|
||||||
const dlCount = parseInt(user.properties.dl_total_count, 10) || 0;
|
const dlCount = user.getPropertyAsNumber(UserProps.FileDlTotalCount) || 0;
|
||||||
const ratio = ~~((ulCount / dlCount) * 100);
|
const ratio = ~~((ulCount / dlCount) * 100);
|
||||||
return !isNaN(value) && ratio >= value;
|
return !isNaN(value) && ratio >= value;
|
||||||
},
|
},
|
||||||
KR : function uploadDownloadByteRatioGreaterThan() {
|
KR : function uploadDownloadByteRatioGreaterThan() {
|
||||||
const ulBytes = parseInt(user.properties.ul_total_bytes, 10) || 0;
|
const ulBytes = user.getPropertyAsNumber(UserProps.FileUlTotalBytes) || 0;
|
||||||
const dlBytes = parseInt(user.properties.dl_total_bytes, 10) || 0;
|
const dlBytes = user.getPropertyAsNumber(UserProps.FileDlTotalBytes) || 0;
|
||||||
const ratio = ~~((ulBytes / dlBytes) * 100);
|
const ratio = ~~((ulBytes / dlBytes) * 100);
|
||||||
return !isNaN(value) && ratio >= value;
|
return !isNaN(value) && ratio >= value;
|
||||||
},
|
},
|
||||||
PC : function postCallRatio() {
|
PC : function postCallRatio() {
|
||||||
const postCount = parseInt(user.properties.post_count, 10) || 0;
|
const postCount = user.getPropertyAsNumber(UserProps.PostCount) || 0;
|
||||||
const loginCount = parseInt(user.properties.login_count, 10);
|
const loginCount = user.getPropertyAsNumber(UserProps.LoginCount) || 0;
|
||||||
const ratio = ~~((postCount / loginCount) * 100);
|
const ratio = ~~((postCount / loginCount) * 100);
|
||||||
return !isNaN(value) && ratio >= value;
|
return !isNaN(value) && ratio >= value;
|
||||||
},
|
},
|
||||||
|
|
|
@ -85,6 +85,8 @@ module.exports = class DropFile {
|
||||||
const prop = this.client.user.properties;
|
const prop = this.client.user.properties;
|
||||||
const now = moment();
|
const now = moment();
|
||||||
const secLevel = this.client.user.getLegacySecurityLevel().toString();
|
const secLevel = this.client.user.getLegacySecurityLevel().toString();
|
||||||
|
const fullName = prop[UserProps.RealName] || this.client.user.username;
|
||||||
|
const bd = moment(prop[UserProp.Birthdate).format('MM/DD/YY');
|
||||||
|
|
||||||
// :TODO: fix time remaining
|
// :TODO: fix time remaining
|
||||||
// :TODO: fix default protocol -- user prop: transfer_protocol
|
// :TODO: fix default protocol -- user prop: transfer_protocol
|
||||||
|
@ -98,13 +100,13 @@ module.exports = class DropFile {
|
||||||
'Y', // "Printer Toggle - Y=On N=Off (Default to Y)"
|
'Y', // "Printer Toggle - Y=On N=Off (Default to Y)"
|
||||||
'Y', // "Page Bell - Y=On N=Off (Default to Y)"
|
'Y', // "Page Bell - Y=On N=Off (Default to Y)"
|
||||||
'Y', // "Caller Alarm - Y=On N=Off (Default to Y)"
|
'Y', // "Caller Alarm - Y=On N=Off (Default to Y)"
|
||||||
prop.real_name || this.client.user.username, // "User Full Name"
|
fullName, // "User Full Name"
|
||||||
prop.location || 'Anywhere', // "Calling From"
|
prop[UserProps.Location]|| 'Anywhere', // "Calling From"
|
||||||
'123-456-7890', // "Home Phone"
|
'123-456-7890', // "Home Phone"
|
||||||
'123-456-7890', // "Work/Data Phone"
|
'123-456-7890', // "Work/Data Phone"
|
||||||
'NOPE', // "Password" (Note: this is never given out or even stored plaintext)
|
'NOPE', // "Password" (Note: this is never given out or even stored plaintext)
|
||||||
secLevel, // "Security Level"
|
secLevel, // "Security Level"
|
||||||
prop.login_count.toString(), // "Total Times On"
|
prop[UserProps.LoginCount].toString(), // "Total Times On"
|
||||||
now.format('MM/DD/YY'), // "Last Date Called"
|
now.format('MM/DD/YY'), // "Last Date Called"
|
||||||
'15360', // "Seconds Remaining THIS call (for those that particular)"
|
'15360', // "Seconds Remaining THIS call (for those that particular)"
|
||||||
'256', // "Minutes Remaining THIS call"
|
'256', // "Minutes Remaining THIS call"
|
||||||
|
@ -121,7 +123,7 @@ module.exports = class DropFile {
|
||||||
'0', // "Total Downloads"
|
'0', // "Total Downloads"
|
||||||
'0', // "Daily Download "K" Total"
|
'0', // "Daily Download "K" Total"
|
||||||
'999999', // "Daily Download Max. "K" Limit"
|
'999999', // "Daily Download Max. "K" Limit"
|
||||||
moment(prop.birthdate).format('MM/DD/YY'), // "Caller's Birthdate"
|
bd, // "Caller's Birthdate"
|
||||||
'X:\\MAIN\\', // "Path to the MAIN directory (where User File is)"
|
'X:\\MAIN\\', // "Path to the MAIN directory (where User File is)"
|
||||||
'X:\\GEN\\', // "Path to the GEN directory"
|
'X:\\GEN\\', // "Path to the GEN directory"
|
||||||
StatLog.getSystemStat('sysop_username'), // "Sysop's Name (name BBS refers to Sysop as)"
|
StatLog.getSystemStat('sysop_username'), // "Sysop's Name (name BBS refers to Sysop as)"
|
||||||
|
@ -142,7 +144,7 @@ module.exports = class DropFile {
|
||||||
'0', // "Files d/led so far today"
|
'0', // "Files d/led so far today"
|
||||||
'0', // "Total "K" Bytes Uploaded"
|
'0', // "Total "K" Bytes Uploaded"
|
||||||
'0', // "Total "K" Bytes Downloaded"
|
'0', // "Total "K" Bytes Downloaded"
|
||||||
prop.user_comment || 'None', // "User Comment"
|
prop[UserProps.UserComment] || 'None', // "User Comment"
|
||||||
'0', // "Total Doors Opened"
|
'0', // "Total Doors Opened"
|
||||||
'0', // "Total Messages Left"
|
'0', // "Total Messages Left"
|
||||||
|
|
||||||
|
|
|
@ -480,7 +480,7 @@ exports.FullScreenEditorModule = exports.getModule = class FullScreenEditorModul
|
||||||
}
|
}
|
||||||
|
|
||||||
Events.emit(Events.getSystemEvents().UserPostMessage, { user : this.client.user, areaTag : this.message.areaTag });
|
Events.emit(Events.getSystemEvents().UserPostMessage, { user : this.client.user, areaTag : this.message.areaTag });
|
||||||
return StatLog.incrementUserStat(this.client.user, 'post_count', 1, cb);
|
return StatLog.incrementUserStat(this.client.user, UserProps.MessagePostCount, 1, cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
redrawFooter(options, cb) {
|
redrawFooter(options, cb) {
|
||||||
|
|
|
@ -81,18 +81,18 @@ const PREDEFINED_MCI_GENERATORS = {
|
||||||
UN : function userName(client) { return client.user.username; },
|
UN : function userName(client) { return client.user.username; },
|
||||||
UI : function userId(client) { return client.user.userId.toString(); },
|
UI : function userId(client) { return client.user.userId.toString(); },
|
||||||
UG : function groups(client) { return _.values(client.user.groups).join(', '); },
|
UG : function groups(client) { return _.values(client.user.groups).join(', '); },
|
||||||
UR : function realName(client) { return userStatAsString(client, 'real_name', ''); },
|
UR : function realName(client) { return userStatAsString(client, UserProps.RealName, ''); },
|
||||||
LO : function location(client) { return userStatAsString(client, 'location', ''); },
|
LO : function location(client) { return userStatAsString(client, UserProps.Location, ''); },
|
||||||
UA : function age(client) { return client.user.getAge().toString(); },
|
UA : function age(client) { return client.user.getAge().toString(); },
|
||||||
BD : function birthdate(client) { // iNiQUiTY
|
BD : function birthdate(client) { // iNiQUiTY
|
||||||
return moment(client.user.properties[UserProps.Birthdate]).format(client.currentTheme.helpers.getDateFormat());
|
return moment(client.user.properties[UserProps.Birthdate]).format(client.currentTheme.helpers.getDateFormat());
|
||||||
},
|
},
|
||||||
US : function sex(client) { return userStatAsString(client, 'sex', ''); },
|
US : function sex(client) { return userStatAsString(client, UserProps.Sex, ''); },
|
||||||
UE : function emailAddres(client) { return userStatAsString(client, 'email_address', ''); },
|
UE : function emailAddres(client) { return userStatAsString(client, UserProps.EmailAddress, ''); },
|
||||||
UW : function webAddress(client) { return userStatAsString(client, 'web_address', ''); },
|
UW : function webAddress(client) { return userStatAsString(client, UserProps.WebAddress, ''); },
|
||||||
UF : function affils(client) { return userStatAsString(client, 'affiliation', ''); },
|
UF : function affils(client) { return userStatAsString(client, UserProps.Affiliations, ''); },
|
||||||
UT : function themeId(client) { return userStatAsString(client, 'theme_id', ''); },
|
UT : function themeId(client) { return userStatAsString(client, UserProps.ThemeId, ''); },
|
||||||
UC : function loginCount(client) { return userStatAsString(client, 'login_count', 0); },
|
UC : function loginCount(client) { return userStatAsString(client, UserProps.LoginCount, 0); },
|
||||||
ND : function connectedNode(client) { return client.node.toString(); },
|
ND : function connectedNode(client) { return client.node.toString(); },
|
||||||
IP : function clientIpAddress(client) { return client.remoteAddress.replace(/^::ffff:/, ''); }, // convert any :ffff: IPv4's to 32bit version
|
IP : function clientIpAddress(client) { return client.remoteAddress.replace(/^::ffff:/, ''); }, // convert any :ffff: IPv4's to 32bit version
|
||||||
ST : function serverName(client) { return client.session.serverName; },
|
ST : function serverName(client) { return client.session.serverName; },
|
||||||
|
@ -100,28 +100,28 @@ const PREDEFINED_MCI_GENERATORS = {
|
||||||
const activeFilter = FileBaseFilters.getActiveFilter(client);
|
const activeFilter = FileBaseFilters.getActiveFilter(client);
|
||||||
return activeFilter ? activeFilter.name : '(Unknown)';
|
return activeFilter ? activeFilter.name : '(Unknown)';
|
||||||
},
|
},
|
||||||
DN : function userNumDownloads(client) { return userStatAsString(client, 'dl_total_count', 0); }, // Obv/2
|
DN : function userNumDownloads(client) { return userStatAsString(client, UserProps.FileDlTotalCount, 0); }, // Obv/2
|
||||||
DK : function userByteDownload(client) { // Obv/2 uses DK=downloaded Kbytes
|
DK : function userByteDownload(client) { // Obv/2 uses DK=downloaded Kbytes
|
||||||
const byteSize = StatLog.getUserStatNum(client.user, 'dl_total_bytes');
|
const byteSize = StatLog.getUserStatNum(client.user, UserProps.FileDlTotalBytes);
|
||||||
return formatByteSize(byteSize, true); // true=withAbbr
|
return formatByteSize(byteSize, true); // true=withAbbr
|
||||||
},
|
},
|
||||||
UP : function userNumUploads(client) { return userStatAsString(client, 'ul_total_count', 0); }, // Obv/2
|
UP : function userNumUploads(client) { return userStatAsString(client, UserProps.FileUlTotalCount, 0); }, // Obv/2
|
||||||
UK : function userByteUpload(client) { // Obv/2 uses UK=uploaded Kbytes
|
UK : function userByteUpload(client) { // Obv/2 uses UK=uploaded Kbytes
|
||||||
const byteSize = StatLog.getUserStatNum(client.user, 'ul_total_bytes');
|
const byteSize = StatLog.getUserStatNum(client.user, UserProps.FileUlTotalBytes);
|
||||||
return formatByteSize(byteSize, true); // true=withAbbr
|
return formatByteSize(byteSize, true); // true=withAbbr
|
||||||
},
|
},
|
||||||
NR : function userUpDownRatio(client) { // Obv/2
|
NR : function userUpDownRatio(client) { // Obv/2
|
||||||
return getUserRatio(client, 'ul_total_count', 'dl_total_count');
|
return getUserRatio(client, UserProps.FileUlTotalCount, UserProps.FileDlTotalCount);
|
||||||
},
|
},
|
||||||
KR : function userUpDownByteRatio(client) { // Obv/2 uses KR=upload/download Kbyte ratio
|
KR : function userUpDownByteRatio(client) { // Obv/2 uses KR=upload/download Kbyte ratio
|
||||||
return getUserRatio(client, 'ul_total_bytes', 'dl_total_bytes');
|
return getUserRatio(client, UserProps.FileUlTotalBytes, UserProps.FileDlTotalBytes);
|
||||||
},
|
},
|
||||||
|
|
||||||
MS : function accountCreatedclient(client) {
|
MS : function accountCreatedclient(client) {
|
||||||
return moment(client.user.properties[UserProps.AccountCreated]).format(client.currentTheme.helpers.getDateFormat());
|
return moment(client.user.properties[UserProps.AccountCreated]).format(client.currentTheme.helpers.getDateFormat());
|
||||||
},
|
},
|
||||||
PS : function userPostCount(client) { return userStatAsString(client, 'post_count', 0); },
|
PS : function userPostCount(client) { return userStatAsString(client, UserProps.MessagePostCount, 0); },
|
||||||
PC : function userPostCallRatio(client) { return getUserRatio(client, 'post_count', 'login_count'); },
|
PC : function userPostCallRatio(client) { return getUserRatio(client, UserProps.MessagePostCount, UserProps.LoginCount); },
|
||||||
|
|
||||||
MD : function currentMenuDescription(client) {
|
MD : function currentMenuDescription(client) {
|
||||||
return _.has(client, 'currentMenuModule.menuConfig.desc') ? client.currentMenuModule.menuConfig.desc : '';
|
return _.has(client, 'currentMenuModule.menuConfig.desc') ? client.currentMenuModule.menuConfig.desc : '';
|
||||||
|
|
|
@ -26,6 +26,7 @@ module.exports = {
|
||||||
AccountCreated : 'account_created',
|
AccountCreated : 'account_created',
|
||||||
LastLoginTs : 'last_login_timestamp',
|
LastLoginTs : 'last_login_timestamp',
|
||||||
LoginCount : 'login_count',
|
LoginCount : 'login_count',
|
||||||
|
UserComment : 'user_comment', // NYI
|
||||||
|
|
||||||
DownloadQueue : 'dl_queue', // download_queue.js
|
DownloadQueue : 'dl_queue', // download_queue.js
|
||||||
|
|
||||||
|
@ -40,8 +41,13 @@ module.exports = {
|
||||||
FileBaseFilters : 'file_base_filters',
|
FileBaseFilters : 'file_base_filters',
|
||||||
FileBaseFilterActiveUuid : 'file_base_filter_active_uuid',
|
FileBaseFilterActiveUuid : 'file_base_filter_active_uuid',
|
||||||
FileBaseLastViewedId : 'user_file_base_last_viewed',
|
FileBaseLastViewedId : 'user_file_base_last_viewed',
|
||||||
|
FileDlTotalCount : 'dl_total_count',
|
||||||
|
FileUlTotalCount : 'ul_total_count',
|
||||||
|
FileDlTotalBytes : 'dl_total_bytes',
|
||||||
|
FileUlTotalBytes : 'ul_total_bytes',
|
||||||
|
|
||||||
MessageConfTag : 'message_conf_tag',
|
MessageConfTag : 'message_conf_tag',
|
||||||
MessageAreaTag : 'message_area_tag',
|
MessageAreaTag : 'message_area_tag',
|
||||||
|
MessagePostCount : 'post_count',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
const client = options.client;
|
const client = options.client;
|
||||||
const user = options.client.user;
|
const user = options.client.user;
|
||||||
|
|
||||||
|
const UserProps = require('./user_property.js');
|
||||||
|
|
||||||
const moment = require('moment');
|
const moment = require('moment');
|
||||||
|
|
||||||
function checkAccess(acsCode, value) {
|
function checkAccess(acsCode, value) {
|
||||||
|
@ -19,7 +21,7 @@
|
||||||
value = [ value ];
|
value = [ value ];
|
||||||
}
|
}
|
||||||
|
|
||||||
const userAccountStatus = parseInt(user.properties.account_status, 10);
|
const userAccountStatus = user.getPropertyAsNumber(UserProps.AccountStatus);
|
||||||
return value.map(n => parseInt(n, 10)).includes(userAccountStatus);
|
return value.map(n => parseInt(n, 10)).includes(userAccountStatus);
|
||||||
},
|
},
|
||||||
EC : function isEncoding() {
|
EC : function isEncoding() {
|
||||||
|
@ -44,15 +46,15 @@
|
||||||
return value.map(n => parseInt(n, 10)).includes(client.node);
|
return value.map(n => parseInt(n, 10)).includes(client.node);
|
||||||
},
|
},
|
||||||
NP : function numberOfPosts() {
|
NP : function numberOfPosts() {
|
||||||
const postCount = parseInt(user.properties.post_count, 10) || 0;
|
const postCount = user.getPropertyAsNumber(UserProps.PostCount) || 0;
|
||||||
return !isNaN(value) && postCount >= value;
|
return !isNaN(value) && postCount >= value;
|
||||||
},
|
},
|
||||||
NC : function numberOfCalls() {
|
NC : function numberOfCalls() {
|
||||||
const loginCount = parseInt(user.properties.login_count, 10);
|
const loginCount = user.getPropertyAsNumber(UserProps.LoginCount);
|
||||||
return !isNaN(value) && loginCount >= value;
|
return !isNaN(value) && loginCount >= value;
|
||||||
},
|
},
|
||||||
AA : function accountAge() {
|
AA : function accountAge() {
|
||||||
const accountCreated = moment(user.properties.account_created);
|
const accountCreated = moment(user.getProperty(UserProps.AccountCreated));
|
||||||
const now = moment();
|
const now = moment();
|
||||||
const daysOld = accountCreated.diff(moment(), 'days');
|
const daysOld = accountCreated.diff(moment(), 'days');
|
||||||
return !isNaN(value) &&
|
return !isNaN(value) &&
|
||||||
|
@ -61,36 +63,36 @@
|
||||||
daysOld >= value;
|
daysOld >= value;
|
||||||
},
|
},
|
||||||
BU : function bytesUploaded() {
|
BU : function bytesUploaded() {
|
||||||
const bytesUp = parseInt(user.properties.ul_total_bytes, 10) || 0;
|
const bytesUp = user.getPropertyAsNumber(UserProps.FileUlTotalBytes) || 0;
|
||||||
return !isNaN(value) && bytesUp >= value;
|
return !isNaN(value) && bytesUp >= value;
|
||||||
},
|
},
|
||||||
UP : function uploads() {
|
UP : function uploads() {
|
||||||
const uls = parseInt(user.properties.ul_total_count, 10) || 0;
|
const uls = user.getPropertyAsNumber(UserProps.FileUlTotalCount) || 0;
|
||||||
return !isNaN(value) && uls >= value;
|
return !isNaN(value) && uls >= value;
|
||||||
},
|
},
|
||||||
BD : function bytesDownloaded() {
|
BD : function bytesDownloaded() {
|
||||||
const bytesDown = parseInt(user.properties.dl_total_bytes, 10) || 0;
|
const bytesDown = user.getPropertyAsNumber(UserProps.FileDlTotalBytes) || 0;
|
||||||
return !isNaN(value) && bytesDown >= value;
|
return !isNaN(value) && bytesDown >= value;
|
||||||
},
|
},
|
||||||
DL : function downloads() {
|
DL : function downloads() {
|
||||||
const dls = parseInt(user.properties.dl_total_count, 10) || 0;
|
const dls = user.getPropertyAsNumber(UserProps.FileDlTotalCount) || 0;
|
||||||
return !isNaN(value) && dls >= value;
|
return !isNaN(value) && dls >= value;
|
||||||
},
|
},
|
||||||
NR : function uploadDownloadRatioGreaterThan() {
|
NR : function uploadDownloadRatioGreaterThan() {
|
||||||
const ulCount = parseInt(user.properties.ul_total_count, 10) || 0;
|
const ulCount = user.getPropertyAsNumber(UserProps.FileUlTotalCount) || 0;
|
||||||
const dlCount = parseInt(user.properties.dl_total_count, 10) || 0;
|
const dlCount = user.getPropertyAsNumber(UserProps.FileDlTotalCount) || 0;
|
||||||
const ratio = ~~((ulCount / dlCount) * 100);
|
const ratio = ~~((ulCount / dlCount) * 100);
|
||||||
return !isNaN(value) && ratio >= value;
|
return !isNaN(value) && ratio >= value;
|
||||||
},
|
},
|
||||||
KR : function uploadDownloadByteRatioGreaterThan() {
|
KR : function uploadDownloadByteRatioGreaterThan() {
|
||||||
const ulBytes = parseInt(user.properties.ul_total_bytes, 10) || 0;
|
const ulBytes = user.getPropertyAsNumber(UserProps.FileUlTotalBytes) || 0;
|
||||||
const dlBytes = parseInt(user.properties.dl_total_bytes, 10) || 0;
|
const dlBytes = user.getPropertyAsNumber(UserProps.FileDlTotalBytes) || 0;
|
||||||
const ratio = ~~((ulBytes / dlBytes) * 100);
|
const ratio = ~~((ulBytes / dlBytes) * 100);
|
||||||
return !isNaN(value) && ratio >= value;
|
return !isNaN(value) && ratio >= value;
|
||||||
},
|
},
|
||||||
PC : function postCallRatio() {
|
PC : function postCallRatio() {
|
||||||
const postCount = parseInt(user.properties.post_count, 10) || 0;
|
const postCount = user.getPropertyAsNumber(UserProps.PostCount) || 0;
|
||||||
const loginCount = parseInt(user.properties.login_count, 10);
|
const loginCount = user.getPropertyAsNumber(UserProps.LoginCount) || 0;
|
||||||
const ratio = ~~((postCount / loginCount) * 100);
|
const ratio = ~~((postCount / loginCount) * 100);
|
||||||
return !isNaN(value) && ratio >= value;
|
return !isNaN(value) && ratio >= value;
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue