summaryrefslogtreecommitdiff
path: root/lib/plugins/acl
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2015-07-18 13:25:17 +0200
committerAndreas Gohr <andi@splitbrain.org>2015-07-18 13:25:17 +0200
commit51d83b85e139e124f20b972d632b8ba2cb3d3458 (patch)
tree13c38cdb4f2c30c68bea506e9ceb8f96a508fe75 /lib/plugins/acl
parentb86bc28af9b961266a2caeeb86c8f6f125adc412 (diff)
parentd93ba631117932f06b44535a9d6256cc8e9c4b90 (diff)
downloadrpg-51d83b85e139e124f20b972d632b8ba2cb3d3458.tar.gz
rpg-51d83b85e139e124f20b972d632b8ba2cb3d3458.tar.bz2
Merge pull request #1176 from splitbrain/ioreplaceinfile
Add IO function to replace lines in a file (new)
Diffstat (limited to 'lib/plugins/acl')
-rw-r--r--lib/plugins/acl/admin.php11
1 files changed, 2 insertions, 9 deletions
diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php
index 374205769..f4baec994 100644
--- a/lib/plugins/acl/admin.php
+++ b/lib/plugins/acl/admin.php
@@ -682,7 +682,6 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
*/
function _acl_add($acl_scope, $acl_user, $acl_level){
global $config_cascade;
- $acl_config = file_get_contents($config_cascade['acl']['default']);
$acl_user = auth_nameencode($acl_user,true);
// max level for pagenames is edit
@@ -692,9 +691,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
$new_acl = "$acl_scope\t$acl_user\t$acl_level\n";
- $new_config = $acl_config.$new_acl;
-
- return io_saveFile($config_cascade['acl']['default'], $new_config);
+ return io_saveFile($config_cascade['acl']['default'], $new_acl, true);
}
/**
@@ -704,15 +701,11 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
*/
function _acl_del($acl_scope, $acl_user){
global $config_cascade;
- $acl_config = file($config_cascade['acl']['default']);
$acl_user = auth_nameencode($acl_user,true);
$acl_pattern = '^'.preg_quote($acl_scope,'/').'[ \t]+'.$acl_user.'[ \t]+[0-8].*$';
- // save all non!-matching
- $new_config = preg_grep("/$acl_pattern/", $acl_config, PREG_GREP_INVERT);
-
- return io_saveFile($config_cascade['acl']['default'], join('',$new_config));
+ return io_deleteFromFile($config_cascade['acl']['default'], "/$acl_pattern/", true);
}
/**