2003-08-02 12:07:08 +00:00
|
|
|
/**
|
|
|
|
* permission check (called by hopobject.onRequest())
|
|
|
|
* @param String name of action
|
|
|
|
* @param Obj User object
|
|
|
|
* @param Int Membership level
|
|
|
|
* @return Obj Exception object or null
|
|
|
|
*/
|
|
|
|
function checkAccess(action, usr, level) {
|
|
|
|
var deny = null;
|
|
|
|
switch (action) {
|
|
|
|
case "main" :
|
|
|
|
checkIfLoggedIn(this.href(action));
|
|
|
|
deny = this.isEditMembersDenied(usr, level);
|
|
|
|
break;
|
|
|
|
case "subscriptions" :
|
|
|
|
checkIfLoggedIn(this.href(action));
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if (deny != null)
|
|
|
|
deny.redirectTo = this._parent.href();
|
|
|
|
return deny;
|
|
|
|
}
|
|
|
|
|
2001-06-18 08:57:33 +00:00
|
|
|
/**
|
2002-06-26 17:20:41 +00:00
|
|
|
* check if user is allowed to edit the memberlist of this site
|
2001-12-10 23:22:58 +00:00
|
|
|
* @param Obj Userobject
|
2003-01-02 18:55:32 +00:00
|
|
|
* @param Int Permission-Level
|
2001-12-10 23:22:58 +00:00
|
|
|
* @return String Reason for denial (or null if allowed)
|
2001-06-18 08:57:33 +00:00
|
|
|
*/
|
2003-08-02 12:07:08 +00:00
|
|
|
function isEditMembersDenied(usr, level) {
|
2003-01-02 18:55:32 +00:00
|
|
|
if ((level & MAY_EDIT_MEMBERS) == 0)
|
2003-08-02 12:07:08 +00:00
|
|
|
return new Exception("memberEditDenied");
|
2001-09-05 21:15:45 +00:00
|
|
|
return null;
|
2001-06-18 08:57:33 +00:00
|
|
|
}
|
2002-01-22 20:21:13 +00:00
|
|
|
|