diff options
author | Gerrit Uitslag <klapinklapin@gmail.com> | 2014-02-15 15:10:15 +0100 |
---|---|---|
committer | Gerrit Uitslag <klapinklapin@gmail.com> | 2014-02-15 15:10:15 +0100 |
commit | 2643fc174cfce2c89b096e1aa28b8433c1bd9088 (patch) | |
tree | 4219fa16c1e196fca55429092494051eb899891c /inc/auth.php | |
parent | 1da8dc976a4e9184fe550789a77d8e5cb866926f (diff) | |
parent | 0ba750c06b51626ccace39f0f6be7062eebb0a40 (diff) | |
download | rpg-2643fc174cfce2c89b096e1aa28b8433c1bd9088.tar.gz rpg-2643fc174cfce2c89b096e1aa28b8433c1bd9088.tar.bz2 |
Merge remote-tracking branch 'origin/master' into diff_navigation
Diffstat (limited to 'inc/auth.php')
-rw-r--r-- | inc/auth.php | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/inc/auth.php b/inc/auth.php index b793f5d12..6000ea6d7 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -661,17 +661,39 @@ function auth_quickaclcheck($id) { } /** - * Returns the maximum rights a user has for - * the given ID or its namespace + * Returns the maximum rights a user has for the given ID or its namespace * * @author Andreas Gohr <andi@splitbrain.org> - * + * @triggers AUTH_ACL_CHECK * @param string $id page ID (needs to be resolved and cleaned) * @param string $user Username * @param array|null $groups Array of groups the user is in * @return int permission level */ function auth_aclcheck($id, $user, $groups) { + $data = array( + 'id' => $id, + 'user' => $user, + 'groups' => $groups + ); + + return trigger_event('AUTH_ACL_CHECK', $data, 'auth_aclcheck_cb'); +} + +/** + * default ACL check method + * + * DO NOT CALL DIRECTLY, use auth_aclcheck() instead + * + * @author Andreas Gohr <andi@splitbrain.org> + * @param array $data event data + * @return int permission level + */ +function auth_aclcheck_cb($data) { + $id =& $data['id']; + $user =& $data['user']; + $groups =& $data['groups']; + global $conf; global $AUTH_ACL; /* @var DokuWiki_Auth_Plugin $auth */ |