Files
aowow/setup/tools/filegen/templates/global.js/0_user.js
Sarjuuk 6557e70d5c Template/Update (Part 47)
* split global.js into its components, so it can be reasonably processed by setup
 * make reputation requirements configurable
 * move Markup and Locale back into global.js (removed associated build scripts)
 * extend Icon to display iconId in lightbox popup
2025-09-25 16:01:14 +02:00

74 lines
2.1 KiB
JavaScript

// Needed for IE because it's dumb
'abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video'.replace(/\w+/g,function(n){document.createElement(n)})
/*
User-related functions
TODO: Move global variables/functions into User class
*/
// IMPORTANT: If you update/change the permission groups below make sure to also update them in User.inc.php!
/*********/
/* ROLES */
/*********/
var U_GROUP_TESTER = 0x1;
var U_GROUP_ADMIN = 0x2;
var U_GROUP_EDITOR = 0x4;
var U_GROUP_MOD = 0x8;
var U_GROUP_BUREAU = 0x10;
var U_GROUP_DEV = 0x20;
var U_GROUP_VIP = 0x40;
var U_GROUP_BLOGGER = 0x80;
var U_GROUP_PREMIUM = 0x100;
var U_GROUP_LOCALIZER = 0x200;
var U_GROUP_SALESAGENT = 0x400;
var U_GROUP_SCREENSHOT = 0x800;
var U_GROUP_VIDEO = 0x1000;
var U_GROUP_APIONLY = 0x2000;
var U_GROUP_PENDING = 0x4000;
/******************/
/* ROLE SHORTCUTS */
/******************/
var U_GROUP_STAFF = U_GROUP_ADMIN | U_GROUP_EDITOR | U_GROUP_MOD | U_GROUP_BUREAU | U_GROUP_DEV | U_GROUP_BLOGGER | U_GROUP_LOCALIZER | U_GROUP_SALESAGENT;
var U_GROUP_EMPLOYEE = U_GROUP_ADMIN | U_GROUP_BUREAU | U_GROUP_DEV;
var U_GROUP_GREEN_TEXT = U_GROUP_MOD | U_GROUP_BUREAU | U_GROUP_DEV;
var U_GROUP_PREMIUMISH = U_GROUP_PREMIUM | U_GROUP_EDITOR;
var U_GROUP_MODERATOR = U_GROUP_ADMIN | U_GROUP_MOD | U_GROUP_BUREAU;
var U_GROUP_COMMENTS_MODERATOR = U_GROUP_BUREAU | U_GROUP_MODERATOR | U_GROUP_LOCALIZER;
var U_GROUP_PREMIUM_PERMISSIONS = U_GROUP_PREMIUM | U_GROUP_STAFF | U_GROUP_VIP;
var g_users = {};
var g_favorites = [];
var g_customColors = {};
function g_isUsernameValid(username) {
return (username.match(/[^a-z0-9]/i) == null && username.length >= 4 && username.length <= 16);
}
var User = new function() {
var self = this;
/**********/
/* PUBLIC */
/**********/
self.hasPermissions = function(roles)
{
if(!roles)
return true;
return !!(g_user.roles & roles);
}
/**********/
/* PRIVATE */
/**********/
};