Code

Added function to get cfg values in order "current", "global", "default".
[gosa.git] / gosa-core / include / class_plugin.inc
index 1c7b2d87c7bd560171623c0e13a58d592e008047..3ff98ea8fa2d1a48dce0aed29388223e6bdf4078 100644 (file)
@@ -898,6 +898,9 @@ class plugin
 
     /* Try to move the source entry to the destination position */
     $ldap = $this->config->get_ldap_link();
+    $ldap->cd($this->config->current['BASE']);
+    $ldap->create_missing_trees(preg_replace("/^[^,]+,/","",$dst_dn));
+
     if (!$ldap->rename_dn($src_dn,$dst_dn)){
       msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $src_dn, "", get_class()));
       return(FALSE);
@@ -1509,10 +1512,6 @@ class plugin
     $ui = get_userinfo();
     $this->parent = $parent;
 
-    if(!isset($this->acl_module)){
-      return("VERDAMMT");
-    }
-
     foreach($_POST as $name => $value){
 
       /* Create a new snapshot, display a dialog */
@@ -1698,6 +1697,8 @@ class plugin
     /* Add current base */      
     if(isset($this->base) && isset($this->config->idepartments[$this->base])){
       $deps[$this->base] = $this->config->idepartments[$this->base];
+    }elseif(strtolower($this->dn) == strtolower($this->config->current['BASE'])){
+
     }else{
       trigger_error("Cannot return list of departments, no default base found in class ".get_class($this).". ".$this->base);
     }
@@ -1979,18 +1980,23 @@ class plugin
   {
     $str= ""; 
     $ui = get_userinfo();
-    if($this->snapshotEnabled() && $ui->allow_snapshot_create($base,$category)){
+    if($this->snapshotEnabled()){
+      if ($ui->allow_snapshot_restore($base,$category)){
 
-      if(count($this->Available_SnapsShots($base))){
-        $str.= "<input class='center' type='image' src='images/lists/restore.png'
-          alt='"._("Restore snapshot")."' name='RestoreSnapShotDialog_".base64_encode($base)."' title='"._("Restore snapshot")."'>&nbsp;";
-      } else {
-        $str = "<img class='center' src='images/lists/restore_grey.png' alt=''>&nbsp;";
+        if(count($this->Available_SnapsShots($base))){
+          $str.= "<input class='center' type='image' src='images/lists/restore.png'
+            alt='"._("Restore snapshot")."' name='RestoreSnapShotDialog_".base64_encode($base)."' title='"._("Restore snapshot")."'>&nbsp;";
+        } else {
+          $str = "<img class='center' src='images/lists/restore_grey.png' alt=''>&nbsp;";
+        }
+      }
+      if($ui->allow_snapshot_create($base,$category)){
+        $str.= "<input class='center' type='image' src='images/snapshot.png'
+          alt='"._("Create snapshot")."' name='CreateSnapShotDialog_".base64_encode($base)."' 
+          title='"._("Create a new snapshot from this object")."'>&nbsp;";
+      }else{
+        $str = "<img class='center' src='images/empty.png' alt=' '>&nbsp;";
       }
-
-      $str.= "<input class='center' type='image' src='images/snapshot.png'
-        alt='"._("Create snapshot")."' name='CreateSnapShotDialog_".base64_encode($base)."' 
-        title='"._("Create a new snapshot from this object")."'>&nbsp;";
     }
 
     return($str);