diff --git a/plugins/admin/departments/tabs_department.inc b/plugins/admin/departments/tabs_department.inc
index 77834bb271b14e827d6e43b66bc4c367a3b1a878..9e3f6675bd435d75c7d2b63d27be774d3adf3635 100644 (file)
{
var $base= "";
- function deptabs($config, $data, $dn)
+ function deptabs($config, $data, $dn,$category)
{
- tabs::tabs($config, $data, $dn);
- $this->base= $this->by_object['department']->base;
+ tabs::tabs($config, $data, $dn,$category);
+ $this->base= $this->by_object['department']->base;
+
+ /* Add references/acls/snapshots */
+ $this->addSpecialTabs();
}
function check()
{
- return (tabs::check(TRUE));
+ return (tabs::check(TRUE));
}
-
+
function save($justsave = false)
{
- if(!$justsave){
- $baseobject= $this->by_object['department'];
- $ou= preg_replace('/,/', '\,', $baseobject->ou);
- $new_dn= @LDAP::convert('ou='.$ou.','.$baseobject->base);
- $disp ="";
- if ($this->dn != $new_dn && $this->dn != "new"){
-
- /* 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{
- $disp = ($baseobject->recursive_move($this->dn, $new_dn));
- return($disp);
- }
- }
- $this->dn= $new_dn;
- }
- return(tabs::save(TRUE));
+ $baseobject= $this->by_object['department'];
+ $ou= preg_replace('/,/', '\,', $baseobject->ou);
+ $new_dn= @LDAP::convert('ou='.$ou.','.$baseobject->base);
+
+ if($justsave){
+ if ($this->dn != $new_dn && $this->dn != "new"){
+ /* 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{
+ /* Prepare to be moved */
+ $baseobject->recursive_move($this->dn, $new_dn);
+ $this->by_object['department'] = $baseobject;
+ return;
+ }
+ }
+ }
+ $this->dn= $new_dn;
+ $baseobject->dn= $this->dn;
+ $this->by_object['department']= $baseobject;
+ return(tabs::save(TRUE));
}
-}
+}
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>