X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_plugin.inc;h=6cbec1b4eddc6cf2a5559cf6b04e21b406a3c27c;hb=440d89fb458e56ac12369a090b1156e2d6711160;hp=0b50f3fd348f4b78cb36d43647f3049b42480185;hpb=da7bf1a88d7f0c6f83dc788fa52834ac66815ec3;p=gosa.git
diff --git a/include/class_plugin.inc b/include/class_plugin.inc
index 0b50f3fd3..6cbec1b4e 100644
--- a/include/class_plugin.inc
+++ b/include/class_plugin.inc
@@ -1514,7 +1514,7 @@ class plugin
* $old_dn specifies the actually used dn
* $new_dn specifies the destiantion dn
*/
- function update_acls($old_dn,$new_dn)
+ function update_acls($old_dn,$new_dn,$output_changes = FALSE)
{
global $config;
@@ -1524,6 +1524,12 @@ class plugin
return;
}
+ /* Update userinfo if necessary */
+ if($_SESSION['ui']->dn == $old_dn){
+ $_SESSION['ui']->dn = $new_dn;
+ gosa_log(_("Updated current user dn from '".$old_dn."' to '".$new_dn."'"));
+ }
+
/* Object was moved, ensure that all acls will be moved too */
if($new_dn != $old_dn && $old_dn != "new"){
@@ -1555,14 +1561,14 @@ class plugin
/* Check if member match current dn */
foreach($members as $key => $member){
-
$member = base64_decode($member);
if($member == $old_dn){
$found = true;
$members[$key] = base64_encode($new_dn);
}
}
-
+
+ /* Create new member string */
$new_members = "";
foreach($members as $member){
$new_members .= $member.",";
@@ -1570,20 +1576,25 @@ class plugin
$new_members = preg_replace("/,$/","",$new_members);
$acl_parts[2] = $new_members;
+ /* Reconstruckt acl entry */
$acl_str ="";
foreach($acl_parts as $t){
- $acl_str .= $t.":";
+ $acl_str .= $t.":";
}
$acl_str = preg_replace("/:$/","",$acl_str);
-
- $acls[] = $acl_str;
-
}
- /* Acls for this object must be adjusted */
- if($found){
-
- echo "Changing ACL dn from :
- to".$old_dn."
- ".$new_dn."
";
+ /* Acls for this object must be adjusted */
+ if($found){
+
+ if($output_changes){
+ echo "".
+ _("Changing ACL dn")." :
-"._("from")." ".
+ $old_dn.
+ "
-"._("to")." ".
+ $new_dn.
+ "
";
+ }
$update[$attrs['dn']] =array();
foreach($acls as $acl){
$update[$attrs['dn']]['gosaAclEntry'][] = $acl;