mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
* 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
74 lines
2.1 KiB
JavaScript
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 */
|
|
/**********/
|
|
|
|
};
|