Code

Moved folder images
[gosa.git] / gosa-plugins / goto / admin / groups / apps / class_groupApplication.inc
index d55a09f338b3a3221b0fd20b573b9b1aae0539c8..29a6d540fa80ab2627a8b1f0c07a37ca2af47814 100644 (file)
@@ -102,7 +102,7 @@ class appgroup extends plugin
     if($this->enableReleaseManagement){
 
       /* Only display those releases that we are able to read */
-      $dn     = $this->config->current['BASE'];
+      $dn     = get_ou("applicationou").$this->config->current['BASE'];
       $filter = "(&(objectClass=organizationalUnit)(objectClass=FAIbranch))";
       $res    = get_sub_list($filter,array("application","fai"), array(get_ou("applicationou"),get_ou("faiou")),$dn, array("ou","FAIstate"), GL_SUBSEARCH);
 
@@ -242,6 +242,7 @@ class appgroup extends plugin
             }
           }
 
+          $data['LDAP_ATTRS'] = $attrs;
           $data['DN']       = $attrs['dn'];
           $data['NAME']     = $name;
           $data['TYPE']     = $type;
@@ -271,14 +272,11 @@ class appgroup extends plugin
 
     /* Do we represent a valid account? */
     if (!$this->is_account){
-      $display= $this->show_enable_header(_("Add application extension"),
-          _("Application extension disabled. You can enable it by clicking below."));
+      $display= $this->show_disable_header(msgPool::addFeaturesButton(_("Menu")), msgPool::featuresDisabled(_("Menu")));
       return ($display);
     }
 
-    $display =  $this->show_enable_header(_("Remove application extension"),
-          _("Application extension enabled. You can disable it by clicking below."));
-
+    $display= $this->show_disable_header(msgPool::removeFeaturesButton(_("Menu")), msgPool::featuresEnabled(_("Menu")));
 
     if(isset($_GET['send'])){
       $id = $_GET['send'];
@@ -349,7 +347,7 @@ class appgroup extends plugin
     /* Append departments for current base */
     foreach($departments as $key => $app){
       $div->AddEntry(array(
-            array("string"=>"<img class='center' src='images/folder.png' alt='"._("department")."'>&nbsp;".sprintf($linkopen,
+            array("string"=>"<img class='center' src='images/lists/folder.png' alt='"._("department")."'>&nbsp;".sprintf($linkopen,
                 base64_encode($key),$app),
               "attach"=>"style='border:0px;'")
             ));
@@ -1046,10 +1044,11 @@ class appgroup extends plugin
       $cur_dn = $dn.$this->dn;
 
       $attrs = array();
+
       switch($entry['TYPE']){
         case "SEPERATOR"    :
         { 
-          $attrs['objectClass'] = "gotoMenuEntry";
+          $attrs['objectClass'] = array("gotoMenuEntry");
           $attrs['cn']          = "seperator_".$sep_id;
           $attrs['gosaApplicationPriority'] = $prio;
           $attrs['gosaApplicationParameter'] = "*separator*";
@@ -1057,7 +1056,7 @@ class appgroup extends plugin
         break;
         case "ENTRY"    :
         { 
-          $attrs['objectClass'] = "gotoMenuEntry";
+          $attrs['objectClass'] = array("gotoMenuEntry");
           $attrs['cn']          = $entry['NAME'];
           $attrs['gosaApplicationPriority'] = $prio;
           $attrs['gosaApplicationParameter'] = array(); 
@@ -1073,7 +1072,7 @@ class appgroup extends plugin
         break;
         case "FOLDER"   : 
         { 
-          $attrs['objectClass'] = "gotoSubmenuEntry";
+          $attrs['objectClass'] = array("gotoSubmenuEntry");
           $attrs['cn']          = $entry['NAME'];
           $attrs['gosaApplicationPriority'] = $prio;
           if($entry['STATUS'] != "ADDED"){
@@ -1086,7 +1085,7 @@ class appgroup extends plugin
         }
         break;
         case "RELEASE"  : 
-        { 
+        {
           $attrs['ou']            = $entry['NAME'];
           $attrs['objectClass']   = array();
           $attrs['objectClass'][] = "top";
@@ -1098,12 +1097,26 @@ class appgroup extends plugin
         }
         break;
       }
-  
+      /* Append missing ObjectClasses,  ...  Tagging */
+      if(isset($entry['LDAP_ATTRS'])){
+        for($i = 0 ; $i < $entry['LDAP_ATTRS']['objectClass']['count']; $i ++){
+          $oc = $entry['LDAP_ATTRS']['objectClass'][$i];
+          if(!in_array($oc,$attrs['objectClass'])){
+            $attrs['objectClass'][] = $oc;
+          }
+        }
+      }
       if($entry['STATUS'] == "LOADED"){
         continue;
       }
       if($entry['STATUS'] == "REMOVED"){
-        $Actions['Remove'][$entry['DN']] = $entry['DN'];
+        if(isset($entry['DN'])){
+          $Actions['Remove'][$entry['DN']] = $entry['DN'];
+        }else{
+          $Actions['Remove'][$cur_dn] = $cur_dn;
+        }
       }
       if($entry['STATUS'] == "EDITED"){
         $Actions['Edit'][$cur_dn] = $attrs;