X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_plugin.inc;h=6cbec1b4eddc6cf2a5559cf6b04e21b406a3c27c;hb=e01f7be38eb35478f1f4321edac33986743a05e1;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;