summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2008-12-16 18:11:26 +0100
committerAndreas Gohr <andi@splitbrain.org>2008-12-16 18:11:26 +0100
commit5d87b2ccd4d2bf7733dcc50e4bf2c4cc8bc95f51 (patch)
treec2fc1218d9b7f6768cd99ccd7be9c2e13560f9e5
parenta3a4e8629b4d2ff0b0cfda8d03a0c224078eca7b (diff)
downloadrpg-5d87b2ccd4d2bf7733dcc50e4bf2c4cc8bc95f51.tar.gz
rpg-5d87b2ccd4d2bf7733dcc50e4bf2c4cc8bc95f51.tar.bz2
ACL user wildcard changed to %USER% FS#1504 :!:
DokuWiki supports a wildcard which gets replaced with the currently loggedin user in its ACL configuration file. This patch changes the wildcard from @USER@ to %USER% (case sensitive) and also makes sure the ACL Manager does not replace the wildcard when displaying the currently set rules. The change was needed for better compatibility with the User Manager without complicating the code. The old @USER@ wildcard is still supported, but changing an ACL rule using it, through the ACL manager will fail. It is recommended to update ACL rules using the @USER@ wildchar to use the new %USER% one instead. darcs-hash:20081216171126-7ad00-94ce0c2afa411abc936f13572efd0e31941901ee.gz
-rw-r--r--inc/auth.php3
-rw-r--r--lib/plugins/acl/admin.php3
2 files changed, 5 insertions, 1 deletions
diff --git a/inc/auth.php b/inc/auth.php
index 1d325b02c..aa5439a0d 100644
--- a/inc/auth.php
+++ b/inc/auth.php
@@ -84,7 +84,8 @@
if(is_readable(DOKU_CONF.'acl.auth.php')){
$AUTH_ACL = file(DOKU_CONF.'acl.auth.php');
if(isset($_SERVER['REMOTE_USER'])){
- $AUTH_ACL = str_replace('@USER@',$_SERVER['REMOTE_USER'],$AUTH_ACL);
+ $AUTH_ACL = str_replace('%USER%',$_SERVER['REMOTE_USER'],$AUTH_ACL);
+ $AUTH_ACL = str_replace('@USER@',$_SERVER['REMOTE_USER'],$AUTH_ACL); //legacy
}
}else{
$AUTH_ACL = array();
diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php
index 6301f1739..35b14d328 100644
--- a/lib/plugins/acl/admin.php
+++ b/lib/plugins/acl/admin.php
@@ -63,6 +63,9 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
global $AUTH_ACL;
global $ID;
+ // fresh 1:1 copy without replacements
+ $AUTH_ACL = file(DOKU_CONF.'acl.auth.php');
+
// namespace given?
if($_REQUEST['ns'] == '*'){
$this->ns = '*';