Code

Updated css und div framework.
[gosa.git] / plugins / admin / groups / tabs_group.inc
index 8545c60a997afb8d7ceb7b3c2bbc1cd4c9627b1f..7800319c5584869662698c9a288de848e6340fcd 100644 (file)
@@ -3,66 +3,99 @@
 class grouptabs extends tabs
 {
 
-  function grouptabs($config, $data, $dn)
-  {
-       tabs::tabs($config, $data, $dn);
-  }
+       function grouptabs($config, $data, $dn)
+       {
+               tabs::tabs($config, $data, $dn,"groups");
+               $this->addSpecialTabs();
+       }
 
-  function save_object($save_current= FALSE)
-  {
-        tabs::save_object($save_current);
+       function save_object($save_current= FALSE)
+       {
+               tabs::save_object($save_current);
 
-        /* Update reference, transfer variables */
-        $baseobject= $this->by_object['group'];
-        foreach ($this->by_object as $name => $obj){
-                /* Don't touch base object */
-                if ($name != 'group'){
-                        $obj->parent= &$this;
-                        $obj->cn= $baseobject->cn;
-                        $this->by_object[$name]= $obj;
-                }
-        }
-  }
+               /* Update reference, transfer variables */
+               $baseobject= $this->by_object['group'];
+               foreach ($this->by_object as $name => $obj){
+                       /* Don't touch base object */
+                       if ($name != 'group'){
+                               $obj->parent= &$this;
+                               $obj->cn= $baseobject->cn;
+                               $this->by_object[$name]= $obj;
+                       }
+               }
+       }
 
-  function save()
-  {
-       $baseobject= $this->by_object['group'];
+       function delete()
+       {
+               /* Put baseobjects 'cn' to mailobjects 'uid' */
+               $baseobject= $this->by_object['group'];
+               if (isset($this->by_object['mailgroup'])){
+                       $this->by_object['mailgroup']->uid= $baseobject->cn;
+               }
+               tabs::delete();
+       }
 
-       /* Check for new 'dn', in order to propagate the
-          'dn' to all plugins */
-       $new_dn= 'cn='.$baseobject->cn.','.get_groups_ou().$baseobject->base;
+       function save()
+       {
+               $baseobject= $this->by_object['group'];
 
-       /* Put baseobjects 'cn' to mailobjects 'uid' */
-       if (isset($this->by_object['mailgroup'])){
-               $this->by_object['mailgroup']->uid= $baseobject->cn;
-       }
+               /* Check for new 'dn', in order to propagate the
+                  'dn' to all plugins */
+               $new_dn= 'cn='.$baseobject->cn.','.get_groups_ou().$baseobject->base;
 
+               /* Put baseobjects 'cn' to mailobjects 'uid' */
+               if (isset($this->by_object['mailgroup'])){
+                       $this->by_object['mailgroup']->uid= $baseobject->cn;
+               }
 
-       /* Update reference, transfer variables */
-        foreach ($this->by_object as $name => $obj){
-                /* Transfer attributes for mailgroup account */
-                if ($name == 'mailgroup'){
-                        $obj->members= $baseobject->memberUid;
-                       $this->by_object['mailgroup']= $obj;
-                }
-        }
 
-       /* Move group? */
-       if ($this->dn != $new_dn){
+               /* Update reference, transfer variables */
+               foreach ($this->by_object as $name => $obj){
+                       /* Transfer attributes for mailgroup account */
+                       if ($name == 'mailgroup'){
+                               $this->by_object['mailgroup']->members= $baseobject->memberUid;;
+                       }
+               }
+
+               /* Move group? */
+               if ($this->dn != $new_dn){
 
-               /* Write entry on new 'dn' */
-               if ($this->dn != "new"){
-                       $baseobject->move($this->dn, $new_dn);
-                       $this->by_object['group']= $baseobject;
+                       /* Write entry on new 'dn' */
+                       if ($this->dn != "new"){
+                               $baseobject->update_acls($this->dn,$new_dn);
+                               $baseobject->move($this->dn, $new_dn);
+                               $this->by_object['group']= $baseobject;
+                       }
+
+                       /* Happen to use the new one */
+                       $this->dn= $new_dn;
                }
 
-               /* Happen to use the new one */
-               $this->dn= $new_dn;
-       }
+               $ret= tabs::save();
+
+               /* Fix tagging if needed */
+               $baseobject->dn= $new_dn;
+               $baseobject->handle_object_tagging();
 
-       return tabs::save();
-  }
+               return $ret;
+       }
 
+       function saveCopyDialog()
+       {
+               tabs::saveCopyDialog();
+               
+        /* Update reference, transfer variables */
+        $baseobject= $this->by_object['group'];
+        foreach ($this->by_object as $name => $obj){
+            /* Don't touch base object */
+            if ($name != 'group'){
+                $obj->parent= &$this;
+                $obj->cn= $baseobject->cn;
+                $this->by_object[$name]= $obj;
+            }
+        }
+       }
+       
 }
 
 ?>