Code

Fixed labeledURI / Uri problem
[gosa.git] / plugins / admin / applications / class_applicationManagement.inc
index ba24827b6a084ffe6c574bb50ce2839bba111ca3..261b19617f614da68115c5b7f14f0cf29721c093 100644 (file)
@@ -48,6 +48,9 @@ class applicationManagement extends plugin
 
   function execute()
   {
+       /* Call parent execute */
+       plugin::execute();
+
          /* Save data */
          $appfilter    = get_global("appfilter");
          $smarty       = get_smarty();             // Smarty instance
@@ -60,7 +63,6 @@ class applicationManagement extends plugin
             $s_action="open";
             $s_entry = base64_decode($_GET['dep_id']);
             $appfilter['depselect']= "".$this->config->departments[trim($s_entry)];
-            $this->reload();
     }
 
     /* Test Posts */
@@ -95,19 +97,16 @@ class applicationManagement extends plugin
     /* Department changed? */
     if(isset($_POST['depselect']) && $_POST['depselect']){
       $appfilter['depselect']= $_POST['depselect'];
-      $this->reload();
     }
 
     /* Homebutton is posted */
     if($s_action=="home"){
       $appfilter['depselect']=(preg_replace("/^[^,]+,/","",$this->ui->dn));
       $appfilter['depselect']=(preg_replace("/^[^,]+,/","",$appfilter['depselect']));
-      $this->reload();
     }
 
     if($s_action=="root"){
       $appfilter['depselect']=($this->config->current['BASE']);
-      $this->reload();
     }
 
     /* If Backbutton is Posted */
@@ -120,7 +119,6 @@ class applicationManagement extends plugin
       }else{
         $appfilter['depselect']= $this->config->departments["/"];
       }
-      $this->reload();
     }
 
     if (isset($_POST['regex'])){
@@ -136,12 +134,7 @@ class applicationManagement extends plugin
     register_global("appfilter", $appfilter);
 
     /* Check sorting variable */
-    if (!isset($this->apptabs) &&
-        !isset($_POST['new_app']) &&
-        !isset($_POST['delete_app']) &&
-        !isset($_POST['select_app'])){
-      $this->reload();
-    }
+    $this->reload();
     $smarty= get_smarty();
 
     /* Check for exeeded sizelimit */
@@ -254,7 +247,7 @@ class applicationManagement extends plugin
                        /* Lock the current entry, so nobody will edit it during deletion */
                        add_lock ($this->dn, $this->ui->dn);
                        $smarty= get_smarty();
-                       $smarty->assign("intro", sprintf(_("You're about to delete the application '%s'."), $this->dn));
+                       $smarty->assign("intro", sprintf(_("You're about to delete the application '%s'."), LDAP::fix($this->dn)));
                        return($smarty->fetch (get_template_path('remove.tpl', TRUE)));
                } else {
 
@@ -308,9 +301,9 @@ class applicationManagement extends plugin
                 /* Don't show buttons if tab dialog requests this */
                 if (!$this->apptabs->by_object[$this->apptabs->current]->dialog){
                         $display.= "<p style=\"text-align:right\">\n";
-                        $display.= "<input type=submit name=\"edit_finish\" value=\""._("Finish")."\">\n";
+                        $display.= "<input type=\"submit\" name=\"edit_finish\" value=\""._("Finish")."\">\n";
                         $display.= "&nbsp;\n";
-                        $display.= "<input type=submit name=\"edit_cancel\" value=\""._("Cancel")."\">\n";
+                        $display.= "<input type=\"submit\" name=\"edit_cancel\" value=\""._("Cancel")."\">\n";
                         $display.= "</p>";
                 }
                 return ($display);
@@ -322,7 +315,7 @@ class applicationManagement extends plugin
         $options= "";
         foreach ($this->config->idepartments as $key => $value){
           if ($appfilter['depselect'] == $key){
-            $options.= "<option selected value='$key'>$value</option>";
+            $options.= "<option selected='selected' value='$key'>$value</option>";
           } else {
             $options.= "<option value='$key'>$value</option>";
           }
@@ -330,44 +323,44 @@ class applicationManagement extends plugin
        
         // Managment
         $listhead = "<div style='background:#F0F0F9;padding:5px;'>".
-          " <input type='image' align='middle' src='images/list_back.png' title='"._("Go up one department")."' alt='"._("Up")."' name='dep_back'>&nbsp;".
-          " <input type='image' src='images/list_root.png' align='middle' title='"._("Go to root department")."' name='dep_root' alt='"._("Root")."'>&nbsp;".
-          " <input type='image' align='middle' src='images/list_home.png' title='"._("Go to users department")."' alt='"._("Home")."' name='dep_home'>&nbsp;".
-          " <img src='images/list_seperator.png' align='middle' alt='' height='16' width='1'>&nbsp;".
-          " <input type='image' align='middle' src='images/list_new_app.png' alt='"._("new")."' title='"._("Create new application")."' name='appl_new'>&nbsp;".
-          " <img src='images/list_seperator.png' align='middle' alt='' height='16' width='1'>&nbsp;".
-          _("Current base")."&nbsp;<select name='depselect' onChange='mainform.submit()'>$options</select>".
-          " <input type='image' src='images/list_submit.png' align='middle' title='"._("Submit department")."' name='submit_department' alt='"._("Submit")."'>&nbsp;".
+          " <input class='center' type='image' align='middle' src='images/list_back.png' title='"._("Go up one department")."' alt='"._("Up")."' name='dep_back'>&nbsp;".
+          " <input class='center' type='image' src='images/list_root.png' align='middle' title='"._("Go to root department")."' name='dep_root' alt='"._("Root")."'>&nbsp;".
+          " <input class='center' type='image' align='middle' src='images/list_home.png' title='"._("Go to users department")."' alt='"._("Home")."' name='dep_home'>&nbsp;".
+          " <img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'>&nbsp;".
+          " <input class='center' type='image' align='middle' src='images/list_new_app.png' alt='"._("new")."' title='"._("Create new application")."' name='appl_new'>&nbsp;".
+          " <img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'>&nbsp;".
+          _("Base")."&nbsp;<select name='depselect' onChange='mainform.submit()' class='center'>$options</select>".
+          " <input class='center' type='image' src='images/list_submit.png' align='middle' title='"._("Submit department")."' name='submit_department' alt='"._("Submit")."'>&nbsp;".
           "</div>";
 
 
-        $actions = "<input type='image' src='images/edit.png' alt='"._("edit")."' name='appl_edit_%KEY%' title='"._("Edit this entry")."'>";
-        $actions.= "<input type='image' src='images/edittrash.png' alt='"._("delete")."' name='appl_del_%KEY%' title='"._("Delete this entry")."'>";
+        $actions = "<input class='center' type='image' src='images/edit.png' alt='"._("edit")."' name='appl_edit_%KEY%' title='"._("Edit this entry")."'>";
+        $actions.= "<input class='center' type='image' src='images/edittrash.png' alt='"._("delete")."' name='appl_del_%KEY%' title='"._("Delete this entry")."'>";
 
         // Defining Links
         $linkopen = "<a href='?plug=".$_GET['plug']."&amp;act=dep_open&amp;dep_id=%s'>%s</a>";
 
         // image Buttons
         $editlink = "<a href='?plug=".$_GET['plug']."&amp;id=%s&amp;act=edit_entry'>%s</a>";
-        $userimg  = "<img src='images/select_groups.png' alt='User'    title='%s'>";
+        $userimg  = "<img class='center' src='images/select_groups.png' alt='User'    title='%s'>";
 
         // Extension images
-        $applimg  = "<img src='images/select_application.png' alt='A'  title='"._("Application")."'>";
+        $applimg  = "<img class='center' src='images/select_application.png' alt='A'  title='"._("Application")."'>";
 
         // Space
-        $empty    = "<img src='images/empty.png' style='width:16px;height:16px;' alt=''>";
+        $empty    = "<img class='center' src='images/empty.png' style='width:16px;height:16px;' alt=''>";
 
 
         $divlist = new divlist("applicationtabs");
         $divlist->SetHeader(array(
-              array("string" => ""),
-              array("string" => _("Application name")." / "._("Department")),
-              array("string" => _("Actions")    ,"attach"=>"style='border:none;width:40px;'")
+              array("string" => "&nbsp;", "attach" => "style='text-align:center;width:20px;'"),
+              array("string" => _("Application name")." / "._("Department"), "attach" => "style=''"),
+              array("string" => _("Actions"), "attach" => "style='width:60px;border-right:0px;text-align:right;'")
               ));
 
 
         $divlist->SetSummary(_("This table displays all groups, in the selected tree."));
-        $divlist->SetEntriesPerPage(20);
+        $divlist->SetEntriesPerPage(0);
 
         foreach($this->departments as $key=> $val){
 
@@ -383,9 +376,9 @@ class applicationManagement extends plugin
             }
           }
 
-          $field1 = array("string" => "<img src='images/".$non_empty."folder.png' alt='department'>");
-          $field2 = array("string" => sprintf($linkopen,base64_encode($key),$val));
-          $field3 = array("string" => "&nbsp;","attach"=>"style='text-align:right;border:none'");
+          $field1 = array("string" => "<img src='images/".$non_empty."folder.png' alt='department'>", "attach" => "style='text-align:center;width:20px;'");
+          $field2 = array("string" => sprintf($linkopen,base64_encode($key),$val), "attach" => "style=''");
+          $field3 = array("string" => "&nbsp;", "attach" => "style='width:60px;border-right:0px;text-align:right;'");
 
           $divlist->AddEntry(array($field1,$field2,$field3));
         }
@@ -398,9 +391,9 @@ class applicationManagement extends plugin
           }else{
             $desc = " - [ ".$val['description'][0]." ]";
           }
-          $field1 = array("string" => sprintf($applimg,$val['dn']),"attach"=>"style='width:20px;align:middle;'");
-          $field2 = array("string" => sprintf($editlink,$key,($val['cn']['0'].$desc)),"attach"=>$title);
-          $field3 = array("string" => preg_replace("/%KEY%/", $key, $actions),"attach"=>"style='text-align:right;border:none'");
+          $field1 = array("string" => sprintf($applimg,$val['dn']), "attach" => "style='text-align:center;width:20px;'");
+          $field2 = array("string" => sprintf($editlink,$key,($val['cn']['0'].$desc)), "attach" => "style='' ".$title);
+          $field3 = array("string" => preg_replace("/%KEY%/", $key, $actions), "attach" => "style='width:60px;border-right:0px;text-align:right;'");
 
           $divlist->AddEntry(array($field1,$field2,$field3));
         }
@@ -437,9 +430,9 @@ class applicationManagement extends plugin
         } else {
                 $regex= "*";
         }
-
+      
         /* Generate application list */
-        $res= get_list($this->ui->subtreeACL, "(&(cn=$regex)(objectClass=gosaApplication))", TRUE, $base, array("*"), TRUE);
+        $res= get_list($this->ui->subtreeACL, "(&(cn=$regex)(objectClass=gosaApplication))", FALSE, "ou=apps,".$base, array("*"), TRUE);
         $this->applications= array();
         foreach ($res as $value){
           $this->applications[]= $value;
@@ -452,13 +445,17 @@ class applicationManagement extends plugin
          * We also need to search for the departments
          * So we are able to navigate like in konquerer
          */
-        $base2 = preg_replace("/ou=people,/i","",$base);
+        $peopleOU = get_people_ou();
+
+        if(empty($peopleOU)){
+          $base2 = $base;
+        }else{
+          $base2 = preg_replace("/".$peopleOU."/i","",$base);    
+        }
 
         $res3 =  get_list2($this->ui->subtreeACL, "(&(|(ou=$regex)(description=$regex))(objectClass=gosaDepartment))",
             TRUE, $base2, array("ou", "description"), TRUE);
 
-
-
         $this->departments= array();
         $tmp = array();
         foreach ($res3 as $value){
@@ -466,10 +463,10 @@ class applicationManagement extends plugin
         }
         ksort($tmp);
         foreach($tmp as $value){
-          if($value["description"][0]!=".."){
+          if(isset($value["description"][0])){
             $this->departments[$value['dn']]=convert_department_dn2($value['dn'])." - [".$value["description"][0]."]";
           }else{
-            $this->departments[$value['dn']]=$value["description"][0];
+            $this->departments[$value['dn']]=convert_department_dn2($value['dn']);//$value["description"][0];
           }
         }