Code

Removed unsed stuff
[gosa.git] / plugins / gofon / macro / class_gofonMacroManagement.inc
index 2b8b00f22805abdb89490cfc1bce482ffdc20979..a88498d72c1075afe2761161b4d67b2a2b51b91c 100755 (executable)
@@ -43,10 +43,16 @@ class gofonMacro extends plugin
       $macrofilter= array("depselect" => $base,  "regex" => "*");
       register_global("macrofilter", $macrofilter);
     }
+
+    $acl= get_permissions ($ui->dn, $ui->subtreeACL);
+    $this->acl= get_module_permission($acl, "goFonMacro", $ui->dn);
   }
 
   function execute()
   {
+       /* Call parent execute */
+       plugin::execute();
+
     /* Save data */
     $macrofilter= get_global("macrofilter");
     foreach( array("depselect", "regex") as $type){
@@ -151,7 +157,6 @@ class gofonMacro extends plugin
 
       /* Create new usertab object */
       $this->macrotabs= new macrotabs($this->config,$this->config->data['TABS']['MACROTABS'], $this->dn);
-      $this->macrotabs->set_acl(array(':all'));
     }
 
     /* Cancel dialogs */
@@ -165,7 +170,7 @@ class gofonMacro extends plugin
     /* Finish mac edit is triggered by the tabulator dialog, so
        the user wants to save edited data. Check and save at this
        point. */
-    if (isset($_POST['edit_finish'])){
+    if ((isset($_POST['edit_finish'])) && (isset($this->macrotabs->config))){
 
       /* Check tabs, will feed message array */
       $this->macrotabs->last= $this->macrotabs->current;
@@ -199,7 +204,7 @@ class gofonMacro extends plugin
     }
 
     /* User wants to edit data? */
-    if ($s_action=="edit"){
+    if (($s_action=="edit") && (!isset($this->macrotabs->config))){
 
       /* Get 'dn' from posted 'macrolists', must be unique */
       $this->dn= $this->macros[$s_entry]['dn']; 
@@ -213,14 +218,9 @@ class gofonMacro extends plugin
       /* Lock the current entry, so everyone will get the
          above dialog */
       add_lock ($this->dn, $this->ui->dn);
-
-      /* Set up the users ACL's for this 'dn' */
-      $acl= get_permissions ($this->dn, $this->ui->subtreeACL);
-
       /* Register macrotabs to trigger edit dialog */
       $this->macrotabs= new macrotabs($this->config,
-          $this->config->data['TABS']['MACROTABS'], $this->dn);
-      $this->macrotabs->set_acl($acl);
+      $this->config->data['TABS']['MACROTABS'], $this->dn);
       $_SESSION['objectinfo']= $this->dn;
     }
 
@@ -233,7 +233,7 @@ class gofonMacro extends plugin
       /* Load permissions for selected 'dn' and check if
          we're allowed to remove this 'dn' */
       $acl= get_permissions ($this->dn, $this->ui->subtreeACL);
-      $this->acl= get_module_permission($acl, "macro", $this->dn);
+      $this->acl= get_module_permission($acl, "goFonMacro", $this->dn);
       if (chkacl($this->acl, "delete") == ""){
 
         /* Check locking, save current plugin in 'back_plugin', so
@@ -291,15 +291,15 @@ class gofonMacro extends plugin
     }
 
     /* Show tab dialog if object is present */
-    if ($this->macrotabs){
+    if (($this->macrotabs) && (isset($this->macrotabs->config))){
       $display= $this->macrotabs->execute();
 
       /* Don't show buttons if tab dialog requests this */
       if (!$this->macrotabs->by_object[$this->macrotabs->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);
@@ -312,7 +312,7 @@ class gofonMacro extends plugin
     $options= "";
     foreach ($this->config->idepartments as $key => $value){
             if ($macrofilter['depselect'] == $key){
-                    $options.= "<option selected value='$key'>$value</option>";
+                    $options.= "<option selected='selected' value='$key'>$value</option>";
             } else {
                     $options.= "<option value='$key'>$value</option>";
             }
@@ -321,27 +321,28 @@ class gofonMacro extends plugin
 
    /* NEW LIST 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_macro.png' title='"._("Create new phone macro")."' alt='"._("New")."' name='user_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' 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_back.png' title='"._("Go up one department")."' alt='"._("Up")."' name='dep_back'>&nbsp;".
+            " <input class='center' type='image' align='middle' src='images/list_home.png' title='"._("Go to users department")."' alt='"._("Home")."'                     name='dep_home'>&nbsp;".
+            " <input class='center' type='image' src='images/list_reload.png' align='middle' title='"._("Reload list")."' name='submit_department' alt='"._("Submit")."'>&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_macro.png' title='"._("Create new phone macro")."' alt='"._("New")."' name='user_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>";
 
 
     /* Options */
-    $action= "<input type='image' src='images/edit.png' alt='"._("edit")."'     name='user_edit_%KEY%' title='"._("Edit user")."'>";
-    $action.= "<input type='image' src='images/edittrash.png' alt='"._("delete")."'   name='user_del_%KEY%' title='"._("Delete user")."'>";
+    $action= "<input class='center' type='image' src='images/edit.png' alt='"._("edit")."'     name='user_edit_%KEY%' title='"._("Edit user")."'>";
+    $action.= "<input class='center' type='image' src='images/edittrash.png' alt='"._("delete")."'   name='user_del_%KEY%' title='"._("Delete user")."'>";
 
     $divlist = new divlist("macrotabs");
     $divlist->SetHeader(array(
-                              array("string" => "&nbsp;"),
-                              array("string" => _("Username")." / "._("Department")),
-                              array("string" => _("Visible"), "attach" => "style='width:30px;'"),
-                              array("string" => _("Actions"), "attach" => "style='border:none'" )));
+                              array("string" => "&nbsp;", "attach" => "style='text-align:center;width:20px;'"),
+                              array("string" => _("Username")." / "._("Department"), "attach" => "style=''"),
+                              array("string" => _("Visible"), "attach" => "style='width:50px;'"),
+                              array("string" => _("Actions"), "attach" => "style='width:60px;border-right:0px;text-align:right;'" )));
 
 
     $divlist->SetSummary(_("This table displays all phone macros, in the selected tree."));
@@ -364,20 +365,20 @@ class gofonMacro 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;");
-      $field4 = array("string" => "&nbsp;", "attach" => "style='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:50px;'");
+      $field4 = array("string" => "&nbsp;", "attach" => "style='width:60px;border-right:0px;text-align:right;'");
       $divlist->AddEntry(array($field1,$field2,$field3,$field4));
     }
 
     // Pictures for Extensions
-    $empty    = "<img src='images/nothing.png' style='width:16px;height:16px;' alt=''>";
+    $empty    = "<img class='center' src='images/nothing.png' style='width:16px;height:16px;' alt=''>";
 
     // User and Template  Images
-    $macroimg   = "<img src='images/list_macro.png' alt='"._("Macro")."' title='%s'>";
-    $visible    = "<img src='images/true.png' alt='"._("yes")."' title='"._("visible")."'>";
-    $invisible  = "<img src='images/false.png' alt='"._("no")."'title='"._("invisible")."'>";
+    $macroimg   = "<img class='center' src='images/list_macro.png' alt='"._("Macro")."' title='%s'>";
+    $visible    = "<img class='center' src='images/true.png' alt='"._("yes")."' title='"._("visible")."'>";
+    $invisible  = "<img class='center' src='images/false.png' alt='"._("no")."'title='"._("invisible")."'>";
 
     // Link for edit
     $editlink = "<a href='?plug=".$_GET['plug']."&amp;id=%s&amp;act=edit_entry'>%s</a>";
@@ -394,10 +395,10 @@ class gofonMacro extends plugin
         $pic1 = $invisible;
       }
 
-      $field1 = array("string" => sprintf($macroimg,$val['dn']),"attach"=>"style='width:20px;align:middle;'");
-      $field2 = array("string" => sprintf($editlink,$key,$display),"attach"=>"title='".$val['dn']."'");
-      $field3 = array("string" => $pic1, "attach" => "style='width:20px;text-align:right;'");
-      $field4 = array("string" => preg_replace("/%KEY%/", "$key", $action),"attach" => "style='border:none;text-align:right;width:48px'");
+      $field1 = array("string" => sprintf($macroimg,$val['dn']), "attach" => "style='text-align:center;width:20px;'");
+      $field2 = array("string" => sprintf($editlink,$key,$display), "attach" => "style='' title='".$val['dn']."'");
+      $field3 = array("string" => $pic1, "attach" => "style='width:50px;'");
+      $field4 = array("string" => preg_replace("/%KEY%/", "$key", $action), "attach" => "style='width:60px;border-right:0px;text-align:right;'");
 
       $divlist->AddEntry(array($field1,$field2,$field3,$field4));
     }
@@ -446,7 +447,13 @@ class gofonMacro 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);
@@ -458,10 +465,10 @@ class gofonMacro 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];
       }
     }