antville/code/Global/roles.js
2002-01-22 19:09:49 +00:00

116 lines
No EOL
2.3 KiB
JavaScript

/**
* constants specifying user-rights
*/
MAY_ADD_STORY = 1;
MAY_VIEW_ANYSTORY = 2;
MAY_EDIT_ANYSTORY = 4;
MAY_DELETE_ANYSTORY = 8;
MAY_ADD_COMMENT = 16;
MAY_EDIT_ANYCOMMENT = 32;
MAY_DELETE_ANYCOMMENT = 64;
MAY_ADD_IMAGE = 128;
MAY_EDIT_ANYIMAGE = 256;
MAY_DELETE_ANYIMAGE = 512;
MAY_ADD_GOODIE = 1024;
MAY_EDIT_ANYGOODIE = 2048;
MAY_DELETE_ANYGOODIE = 4096;
MAY_VIEW_STATS = 8192;
MAY_EDIT_PREFS = 16384;
MAY_EDIT_SKINS = 32768;
MAY_EDIT_MEMBERS = 65536;
ROLES = new Array("Subscriber","Contributor","Content Manager","Admin");
/**
* function returns an integer indicating contributor-role
*/
function getContributorLvl() {
var lvl = 0;
lvl |= MAY_ADD_STORY;
lvl |= MAY_ADD_COMMENT;
lvl |= MAY_ADD_IMAGE;
lvl |= MAY_ADD_GOODIE;
lvl |= MAY_VIEW_STATS;
return (lvl);
}
/**
* function returns an integer indicating contentmanager-role
*/
function getContentManagerLvl() {
var lvl = getContributorLvl();
lvl |= MAY_VIEW_ANYSTORY;
lvl |= MAY_EDIT_ANYSTORY;
lvl |= MAY_DELETE_ANYSTORY;
lvl |= MAY_EDIT_ANYCOMMENT;
lvl |= MAY_DELETE_ANYCOMMENT;
lvl |= MAY_EDIT_ANYIMAGE;
lvl |= MAY_DELETE_ANYIMAGE;
lvl |= MAY_EDIT_ANYGOODIE;
lvl |= MAY_DELETE_ANYGOODIE;
return (lvl);
}
/**
* function returns an integer indicating admin-role
*/
function getAdminLvl() {
var lvl = getContentManagerLvl();
lvl |= MAY_EDIT_PREFS;
lvl |= MAY_EDIT_SKINS;
lvl |= MAY_EDIT_MEMBERS;
return (lvl);
}
/**
* function returns true if passed level matches
* the level of contributors
*/
function isContributor(lvl) {
if (lvl == getContributorLvl())
return true;
return false;
}
/**
* function returns true if passed level matches
* the level of content managers
*/
function isContentManager(lvl) {
if (lvl == getContentManagerLvl())
return true;
return false;
}
/**
* function returns true if passed level matches
* the level of admins
*/
function isAdmin(lvl) {
if (lvl == getAdminLvl())
return true;
return false;
}
/**
* function returns the level of the membership in cleartext
* according to passed level
*/
function getRole(lvl) {
if (lvl == getContributorLvl())
return ("Contributor");
else if (lvl == getContentManagerLvl())
return ("Content Manager");
else if (lvl == getAdminLvl())
return ("Admin");
else
return ("Subscriber");
}