diff --git a/plugins/admin/departments/tabs_department.inc b/plugins/admin/departments/tabs_department.inc
index de5e877d1703d1793cc030851b0d7d8a62053004..25cb791ebcb05dc544eeb42e6bd21315a573fa98 100644 (file)
$new_dn= 'ou='.$baseobject->ou.','.$baseobject->base;
if ($this->dn != $new_dn && $this->dn != "new"){
- $baseobject->recursive_move($this->dn, $new_dn);
+
+ /* if( new_dn is subtree of this->dn ) */
+ $cnt1 = count(split(",",$this->dn));
+ $cnt2 = count(split(",",$new_dn));
+ if((strstr($new_dn,$this->dn))&&($cnt1<$cnt2)){
+ print_red(_("Try to move tree failed. Destination tree is subtree of source tree."));
+ }else{
+ $baseobject->recursive_move($this->dn, $new_dn);
+ }
}
$this->dn= $new_dn;