From 8473fe5d78ca3d675a371b5063a5b48fa525de60 Mon Sep 17 00:00:00 2001
From: Benoit Mortier <benoit.mortier@opensides.be>
Date: Wed, 7 Nov 2012 14:58:58 +0100
Subject: [PATCH] Fixes: #1223 New tab system

---
 contrib/fusiondirectory.conf                  | 66 -----------------
 .../departments/class_countryGeneric.inc      | 36 ++++-----
 plugins/admin/departments/class_dcObject.inc  | 33 +++++----
 .../admin/departments/class_department.inc    | 73 ++++++++++---------
 .../class_departmentManagement.inc            | 20 ++---
 plugins/admin/departments/class_domain.inc    | 35 +++++----
 .../departments/class_localityGeneric.inc     | 35 ++++-----
 .../departments/class_organizationGeneric.inc | 55 +++++++-------
 8 files changed, 147 insertions(+), 206 deletions(-)

diff --git a/contrib/fusiondirectory.conf b/contrib/fusiondirectory.conf
index 5ccbab4ec..8ec85b8ff 100644
--- a/contrib/fusiondirectory.conf
+++ b/contrib/fusiondirectory.conf
@@ -2,7 +2,6 @@
 <conf configVersion="{$config_checksum}" >
 
   <!-- FusionDirectory menu definition **************************************************
-
        This tag defines the side and icon menu inside the
        interface. Defining an entry here is no guarantie to get it shown,
        though. Only entries with matching ACL's get shown.
@@ -30,7 +29,6 @@
        a look at the FusionDirectory.conf(5) manual page.
    -->
   <menu>
-
       <!-- Section to enable administrative services -->
     <section name="Administration">
       <plugin acl="department" class="departmentManagement" />
@@ -87,13 +85,9 @@
       <plugin acl="users/scalixAccount:self" class="scalixAccount" />
       <plugin acl="users/password:self" class="password" />
     </section>
-
   </menu>
 
-
-
   <!-- Tab definitions *******************************************************
-
        Tab definitions define the sub plugins which get included for certain
        tabbed dialogs. If you change something here, never (!) remove the
        primary (the first) "tab" tag which is defined. Most tabbed dialogs
@@ -107,10 +101,6 @@
      <tab class="ServerService" name="Services" />
   </servertabs>
 
-  <wintabs>
-     <tab class="wingeneric" name="Generic" />
-  </wintabs>
-
   <serverservice>
     <tab class="goMailServer" />
     <tab class="serviceKolab" />
@@ -131,44 +121,6 @@
     <tab class="quotaService" />
   </serverservice>
 
-  <!-- Department plugin -->
-  <deptabs>
-    <tab class="department" name="Generic" />
-  </deptabs>
-
-  <organization_tabs>
-    <tab class="organization" name="Generic" />
-  </organization_tabs>
-
-  <locality_tabs>
-    <tab class="locality" name="Generic" />
-  </locality_tabs>
-
-  <country_tabs>
-    <tab class="country" name="Generic" />
-  </country_tabs>
-
-  <dcobject_tabs>
-    <tab class="dcObject" name="Generic" />
-  </dcobject_tabs>
-
-  <domain_tabs>
-    <tab class="domain" name="Generic" />
-  </domain_tabs>
-
-  <!-- Supann plugin -->
-  <supannstructures_tabs>
-    <tab class="supannStructures" name="Generic" />
-  </supannstructures_tabs>
-
-  <etablissement_tabs>
-    <tab class="etablissement" name="Generic" />
-  </etablissement_tabs>
-
-  <entite_tabs>
-    <tab class="entite" name="Generic" />
-  </entite_tabs>
-
   <!-- Connectivity plugins -->
   <connectivity>
     <tab class='kolabAccount' />
@@ -188,32 +140,16 @@
     <tab class="oxchangeAccount" />
   </connectivity>
 
-  <ldiftab>
-    <tab class="ldifexport" name="Export" />
-    <tab class="ldifimport" name="Import" />
-    <tab class="csvimport" name="CSV Import" />
-  </ldiftab>
-
   <faiprofiletabs>
     <tab class="faiSummaryTab" name="Summary" />
   </faiprofiletabs>
 
-  <!-- board plugin -->
-  <boardtabs>
-    <tab class="board" name="Overview"/>
-    <tab class="boardUserAccounts" name="Users"/>
-    <tab class="boardSystems" name="Systems"/>
-    <tab class="boardNetwork" name="Network"/>
-  </boardtabs>
-
   <!-- Main section **********************************************************
-
        The main section defines global settings, which might be overridden by
        each location definition inside.
 
        For more information about the configuration parameters, take a look at
        the FusionDirectory.conf(5) manual page.
-
   -->
   <main default="{$cv.location}"
 {if $cv.optional.logging}
@@ -240,7 +176,6 @@
 {if $cv.optional.sudoou_active}
               sudoRDN="{$cv.optional.sudoou}"
 {/if}
-
               gosaSharedPrefix=""
 {if $cv.tls}
               ldapTLS="TRUE"
@@ -250,7 +185,6 @@
               <referral URI="{$cv.connection}/{$cv.base}"
                         adminDn="{$cv.admin}"
                         adminPassword="{$cv.password}" />
-
     </location>
   </main>
 </conf>
diff --git a/plugins/admin/departments/class_countryGeneric.inc b/plugins/admin/departments/class_countryGeneric.inc
index 1e2a4087b..7cd31dc95 100644
--- a/plugins/admin/departments/class_countryGeneric.inc
+++ b/plugins/admin/departments/class_countryGeneric.inc
@@ -39,7 +39,7 @@ class country extends department
   function check()
   {
     $message = plugin::check();
-    
+
     /* Check for presence of this department */
     $ldap= $this->config->get_ldap_link();
     $ldap->ls ("(&(c=".$this->c.")(objectClass=country))", $this->base, array('dn'));
@@ -75,25 +75,25 @@ class country extends department
   }
 
 
-  /* Return plugin informations for acl handling */ 
+  /* Return plugin informations for acl handling */
   static function plInfo()
   {
-    return (array(
-          "plShortName"   => _("Country"),
-          "plDescription" => _("Country"),
-          "plSelfModify"  => FALSE,
-          "plPriority"    => 2,
-          "plDepends"     => array(),
-          "plSection"     => array("administration"),
-          "plCategory"    => array("department"),
-
-          "plProvidedAcls" => array(
-            "c"                 => _("Country name"),
-            "description"       => _("Description"),
-            "manager"                 => _("Manager"),
-            "base"              => _("Base"),
-            "gosaUnitTag"       => _("Administrative settings"))
-          ));
+    return array(
+      "plShortName"   => _("Country"),
+      "plDescription" => _("Country"),
+      "plSelfModify"  => FALSE,
+      "plSection"     => array("administration"),
+      "plCategory"    => array("department"),
+      "plObjectType"  => array("country" => array("name" => _("Country"), "filter" => "objectClass=country")),
+
+      "plProvidedAcls" => array(
+        "c"                 => _("Country name"),
+        "description"       => _("Description"),
+        "manager"           => _("Manager"),
+        "base"              => _("Base"),
+        "gosaUnitTag"       => _("Administrative settings")
+      )
+    );
   }
 }
 
diff --git a/plugins/admin/departments/class_dcObject.inc b/plugins/admin/departments/class_dcObject.inc
index e406de431..853f32f57 100644
--- a/plugins/admin/departments/class_dcObject.inc
+++ b/plugins/admin/departments/class_dcObject.inc
@@ -75,24 +75,25 @@ class dcObject extends department
   }
 
 
-  /* Return plugin informations for acl handling */ 
+  /* Return plugin informations for acl handling */
   static function plInfo()
   {
-    return (array("plShortName"   => _("Domain Component"),
-          "plDescription" => _("Domain Component"),
-          "plSelfModify"  => FALSE,
-          "plPriority"    => 4,
-          "plDepends"     => array(),
-          "plSection"     => array("administration"),
-          "plCategory"    => array("department"),
-
-          "plProvidedAcls" => array(
-            "dc"                => _("Name"),
-            "description"       => _("Description"),
-            "manager"                 => _("Manager"),
-            "base"              => _("Base"),
-            "gosaUnitTag"       => _("Administrative settings"))
-          ));
+    return array(
+      "plShortName"   => _("Domain Component"),
+      "plDescription" => _("Domain Component"),
+      "plSelfModify"  => FALSE,
+      "plSection"     => array("administration"),
+      "plCategory"    => array("department"),
+      "plObjectType"  => array("dcObject" => array("name" => _("Domain Component"), "filter" => "objectClass=dcObject")),
+
+      "plProvidedAcls" => array(
+        "dc"                => _("Name"),
+        "description"       => _("Description"),
+        "manager"           => _("Manager"),
+        "base"              => _("Base"),
+        "gosaUnitTag"       => _("Administrative settings")
+      )
+    );
   }
 }
 
diff --git a/plugins/admin/departments/class_department.inc b/plugins/admin/departments/class_department.inc
index ff4d9bb99..bfe7c75ac 100644
--- a/plugins/admin/departments/class_department.inc
+++ b/plugins/admin/departments/class_department.inc
@@ -91,7 +91,7 @@ class department extends plugin
     $this->dn= $dn;
     $this->orig_dn= $dn;
 
-    /* Save current naming attribuet 
+    /* Save current naming attribuet
      */
     $nA      = $this->namingAttr;
     $orig_nA = "orig_".$nA;
@@ -205,7 +205,7 @@ class department extends plugin
       $smarty->assign($name."ACL",$this->getacl($name));
     }
 
-    /* Hide base selector, if this object represents the base itself 
+    /* Hide base selector, if this object represents the base itself
      */
     $smarty->assign("is_root_dse", FALSE);
     if($this->dn == $this->config->current['BASE']){
@@ -219,7 +219,7 @@ class department extends plugin
     if(($this->dn == "new")||($this->dn == "")){
       $tmp = $bases;
     }else{
-      $tmp  = array();  
+      $tmp  = array();
       foreach($bases as $dn=>$base){
         /* Only attach departments which are not a subtree of this one */
         if(!preg_match("/".preg_quote($this->dn)."/",$dn)){
@@ -242,7 +242,7 @@ class department extends plugin
     }
 
     $smarty->assign("dep_type",$this->type);
-    
+
 
     $dep_types = departmentManagement::get_support_departments();
     $tpl ="";
@@ -290,7 +290,7 @@ class department extends plugin
 
   /* Save data to object */
   function save_object()
-  { 
+  {
     if (isset($_POST['dep_generic_posted'])){
 
       $nA = $this->namingAttr;
@@ -393,7 +393,7 @@ class department extends plugin
     {
         $ldap= $this->config->get_ldap_link();
 
-        /* Ensure that ou is saved too, it is required by objectClass gosaDepartment 
+        /* Ensure that ou is saved too, it is required by objectClass gosaDepartment
          */
         $nA = $this->namingAttr;
         $this->ou = $this->$nA;
@@ -406,7 +406,7 @@ class department extends plugin
                 $this->objectclasses[]= "gosaAdministrativeUnit";
                 $this->gosaUnitTag= "";
 
-                /* It seams that this method is called twice, 
+                /* It seams that this method is called twice,
                    set this to true. to avoid adding this oc twice */
                 $this->initially_was_tagged = true;
             }
@@ -462,7 +462,7 @@ class department extends plugin
 
         if ($ldap->count()){
             $this->cleanup();
-            $ldap->modify ($this->attrs); 
+            $ldap->modify ($this->attrs);
             new log("modify","department/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
             $this->handle_post_events('modify');
         } else {
@@ -474,7 +474,7 @@ class department extends plugin
             msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
         }
 
-        /* The parameter forces only to set must_be_tagged, and don't touch any objects 
+        /* The parameter forces only to set must_be_tagged, and don't touch any objects
            This will be done later */
         $this->tag_objects(true);
 
@@ -547,7 +547,7 @@ class department extends plugin
         echo "<script language=\"javascript\" type=\"text/javascript\">scrollDown2();</script>" ;
       }
     }
-    
+
     if(!$OnlySetTagFlag){
       $this->must_be_tagged = FALSE;
       echo '<p class="seperator">&nbsp;</p>';
@@ -589,7 +589,7 @@ class department extends plugin
     if ($ldap->fetch()){
       trigger_error("Recursive_move ".LDAP::fix($dst_dn)." already exists.",
           E_USER_WARNING);
-      echo sprintf("Recursive_move: '%s' already exists", LDAP::fix($dst_dn))."<br>"; 
+      echo sprintf("Recursive_move: '%s' already exists", LDAP::fix($dst_dn))."<br>";
       return (FALSE);
     }
 
@@ -630,7 +630,7 @@ class department extends plugin
     $ldap->cd($src_dn);
     $ldap->recursive_remove();
     $this->orig_dn  = $this->dn = $dst_dn;
-    $this->orig_base= $this->base;     
+    $this->orig_base= $this->base;
     $this->entryCSN = getEntryCSN($this->dn);
 
     echo '<p class="seperator">&nbsp;</p>';
@@ -646,32 +646,33 @@ class department extends plugin
   }
 
 
-  /* Return plugin informations for acl handling */ 
+  /* Return plugin informations for acl handling */
   static function plInfo()
   {
-    return (array("plShortName"   => _("Generic"),
-                  "plDescription" => _("Departments"),
-                  "plSelfModify"  => FALSE,
-                  "plPriority"    => 0,
-                  "plDepends"     => array(),
-                  "plSection"     => array("administration"),
-                  "plCategory"    => array("department" => array("objectClass" => "gosaDepartment", "description" => _("Departments"))),
-            
-                  "plProvidedAcls" => array(
-                    "ou"                => _("Department name"),
-                    "description"       => _("Description"),
-                    "businessCategory"  => _("Category"),
-                    "base"              => _("Base"),
-
-                    "st"                => _("State"),
-                    "l"                 => _("Location"),
-                    "postalAddress"     => _("Address"),
-                    "telephoneNumber"   => _("Telephone"),
-                    "facsimileTelephoneNumber" => _("Fax"),
-                    "manager" => _("Manager"),
-
-                    "gosaUnitTag"       => _("Administrative settings"))
-                  ));
+    return array(
+      "plShortName"   => _("Generic"),
+      "plDescription" => _("Departments"),
+      "plSelfModify"  => FALSE,
+      "plSection"     => array("administration"),
+      "plCategory"    => array("department" => array("objectClass" => "gosaDepartment", "description" => _("Departments"))),
+      "plObjetType"   => array("department" => array("name" => _("Department"), "filter" => "objectClass=gosaDepartment")),
+
+      "plProvidedAcls" => array(
+        "ou"                => _("Department name"),
+        "description"       => _("Description"),
+        "businessCategory"  => _("Category"),
+        "base"              => _("Base"),
+
+        "st"                        => _("State"),
+        "l"                         => _("Location"),
+        "postalAddress"             => _("Address"),
+        "telephoneNumber"           => _("Telephone"),
+        "facsimileTelephoneNumber"  => _("Fax"),
+        "manager"                   => _("Manager"),
+
+        "gosaUnitTag" => _("Administrative settings")
+      )
+    );
   }
 
   function handle_object_tagging($dn= "", $tag= "", $show= false)
diff --git a/plugins/admin/departments/class_departmentManagement.inc b/plugins/admin/departments/class_departmentManagement.inc
index e84ad6f57..2f7fe7aab 100644
--- a/plugins/admin/departments/class_departmentManagement.inc
+++ b/plugins/admin/departments/class_departmentManagement.inc
@@ -27,10 +27,10 @@ class departmentManagement extends management
   var $plIcon         = "plugins/departments/images/plugin.png";
 
   // Tab definition
-  protected $tabClass = "deptabs";
-  protected $tabType = "DEPTABS";
-  protected $aclCategory = "department";
-  protected $aclPlugin   = "generic";
+  protected $tabClass     = "deptabs";
+  protected $tabType      = "DEPARTMENTTABS";
+  protected $aclCategory  = "department";
+  protected $aclPlugin    = "generic";
   protected $objectName   = "department";
 
   function __construct($config,$ui)
@@ -185,7 +185,7 @@ class departmentManagement extends management
     $types['domain']['ACL']     = "domain";
     $types['domain']['CLASS']   = "domain";
     $types['domain']['ATTR']    = "dc";
-    $types['domain']['TAB']     = "DOMAIN_TABS";
+    $types['domain']['TAB']     = "DOMAINTABS";
     $types['domain']['OC']      = "domain";
     $types['domain']['IMG']     = "plugins/departments/images/domain.png";
     $types['domain']['IMG_FULL']= "plugins/departments/images/domain.png";
@@ -197,7 +197,7 @@ class departmentManagement extends management
     $types['dcObject']['ACL']     = "dcObject";
     $types['dcObject']['CLASS']   = "dcObject";
     $types['dcObject']['ATTR']    = "dc";
-    $types['dcObject']['TAB']     = "DCOBJECT_TABS";
+    $types['dcObject']['TAB']     = "DCOBJECTTABS";
     $types['dcObject']['OC']      = "dcObject";
     $types['dcObject']['IMG']     = "plugins/departments/images/dc.png";
     $types['dcObject']['IMG_FULL']= "plugins/departments/images/dc.png";
@@ -208,7 +208,7 @@ class departmentManagement extends management
      */
     $types['country']['ACL']     = "country";
     $types['country']['CLASS']   = "country";
-    $types['country']['TAB']     = "COUNTRY_TABS";
+    $types['country']['TAB']     = "COUNTRYTABS";
     $types['country']['ATTR']    = "c";
     $types['country']['OC']      = "country";
     $types['country']['IMG']     = "plugins/departments/images/country.png";
@@ -220,7 +220,7 @@ class departmentManagement extends management
      */
     $types['locality']['ACL']     = "locality";
     $types['locality']['CLASS']   = "locality";
-    $types['locality']['TAB']     = "LOCALITY_TABS";
+    $types['locality']['TAB']     = "LOCALITYTABS";
     $types['locality']['ATTR']    = "l";
     $types['locality']['OC']      = "locality";
     $types['locality']['IMG']     = "plugins/departments/images/locality.png";
@@ -232,7 +232,7 @@ class departmentManagement extends management
      */
     $types['organization']['ACL']     = "organization";
     $types['organization']['CLASS']   = "organization";
-    $types['organization']['TAB']     = "ORGANIZATION_TABS";
+    $types['organization']['TAB']     = "ORGANIZATIONTABS";
     $types['organization']['ATTR']    = "o";
     $types['organization']['OC']      = "organization";
     $types['organization']['IMG']     = "plugins/departments/images/organization.png";
@@ -244,7 +244,7 @@ class departmentManagement extends management
      */
     $types['organizationalUnit']['ACL']     = "department";
     $types['organizationalUnit']['CLASS']   = "department";
-    $types['organizationalUnit']['TAB']     = "DEPTABS";
+    $types['organizationalUnit']['TAB']     = "DEPARTMENTTABS";
     $types['organizationalUnit']['ATTR']    = "ou";
     $types['organizationalUnit']['OC']      = "organizationalUnit";
     $types['organizationalUnit']['IMG']     = "images/lists/folder.png";//plugins/departments/images/department.png";
diff --git a/plugins/admin/departments/class_domain.inc b/plugins/admin/departments/class_domain.inc
index 79092e635..981dca1df 100644
--- a/plugins/admin/departments/class_domain.inc
+++ b/plugins/admin/departments/class_domain.inc
@@ -75,24 +75,27 @@ class domain extends department
   }
 
 
-  /* Return plugin informations for acl handling */ 
+  /* Return plugin informations for acl handling */
   static function plInfo()
   {
-    return (array("plShortName"   => _("Domain Component"),
-          "plDescription" => _("Domain Component"),
-          "plSelfModify"  => FALSE,
-          "plPriority"    => 4,
-          "plDepends"     => array(),
-          "plSection"     => array("administration"),
-          "plCategory"    => array("department"),
-
-          "plProvidedAcls" => array(
-            "dc"                => _("Name"),
-            "description"       => _("Description"),
-            "base"              => _("Base"),
-            "manager"                 => _("Manager"),
-            "gosaUnitTag"       => _("Administrative settings"))
-          ));
+    return array(
+      "plShortName"   => _("Domain"),
+      "plDescription" => _("Domain"),
+      "plSelfModify"  => FALSE,
+      "plPriority"    => 4,
+      "plDepends"     => array(),
+      "plSection"     => array("administration"),
+      "plCategory"    => array("department"),
+      "plObjectType"  => array("domain" => array("name" => _("Domain"), "filter" => "objectClass=domain")),
+
+      "plProvidedAcls" => array(
+        "dc"                => _("Name"),
+        "description"       => _("Description"),
+        "base"              => _("Base"),
+        "manager"           => _("Manager"),
+        "gosaUnitTag"       => _("Administrative settings")
+      )
+    );
   }
 }
 
diff --git a/plugins/admin/departments/class_localityGeneric.inc b/plugins/admin/departments/class_localityGeneric.inc
index 11ed2f810..fd30dac00 100644
--- a/plugins/admin/departments/class_localityGeneric.inc
+++ b/plugins/admin/departments/class_localityGeneric.inc
@@ -40,7 +40,7 @@ class locality extends department
   function check()
   {
     $message = plugin::check();
-    
+
     /* Check for presence of this department */
     $ldap= $this->config->get_ldap_link();
     $ldap->ls ("(&(l=".$this->l.")(objectClass=locality))", $this->base, array('dn'));
@@ -76,24 +76,25 @@ class locality extends department
   }
 
 
-  /* Return plugin informations for acl handling */ 
+  /* Return plugin informations for acl handling */
   static function plInfo()
   {
-    return (array("plShortName"   => _("Locality"),
-          "plDescription" => _("Locality"),
-          "plSelfModify"  => FALSE,
-          "plPriority"    => 3,
-          "plDepends"     => array(),
-          "plSection"     => array("administration"),
-          "plCategory"    => array("department"),
-
-          "plProvidedAcls" => array(
-            "l"                 => _("Location"),
-            "description"       => _("Description"),
-            "manager"                 => _("Manager"),
-            "base"              => _("Base"),
-            "gosaUnitTag"       => _("Administrative settings"))
-          ));
+    return array(
+      "plShortName"   => _("Locality"),
+      "plDescription" => _("Locality"),
+      "plSelfModify"  => FALSE,
+      "plSection"     => array("administration"),
+      "plCategory"    => array("department"),
+      "plObjectType"  => array("locality" => array("name" => _("Locality"), "filter" => "objectClass=locality")),
+
+      "plProvidedAcls" => array(
+        "l"                 => _("Location"),
+        "description"       => _("Description"),
+        "manager"           => _("Manager"),
+        "base"              => _("Base"),
+        "gosaUnitTag"       => _("Administrative settings")
+      )
+    );
   }
 }
 
diff --git a/plugins/admin/departments/class_organizationGeneric.inc b/plugins/admin/departments/class_organizationGeneric.inc
index 8d3ecf9e4..3ce4ae192 100644
--- a/plugins/admin/departments/class_organizationGeneric.inc
+++ b/plugins/admin/departments/class_organizationGeneric.inc
@@ -33,8 +33,8 @@ class organization extends department
   var $objectclasses  = array("top", "gosaDepartment");
   var $structuralOC   = array("organization");
 
-  /* Attributes 
-   */ 
+  /* Attributes
+   */
   var $st                       ="";
   var $l                        ="";
   var $description              ="";
@@ -57,7 +57,7 @@ class organization extends department
   var $teletexTerminalIdentifier="";
   var $physicalDeliveryOfficeName="";
 
-  /* Naming attributes 
+  /* Naming attributes
    */
   var $o            ="";
   var $type         = "organization";
@@ -110,30 +110,31 @@ class organization extends department
   /* Return plugin informations for acl handling */
   static function plInfo()
   {
-    return (array("plShortName"   => _("Organization"),
-          "plDescription" => _("Organization"),
-          "plSelfModify"  => FALSE,
-          "plPriority"    => 1,
-          "plDepends"     => array(),
-          "plSection"     => array("administration"),
-          "plCategory"    => array("department"),
-
-          "plProvidedAcls" => array(
-            "o"                       => _("Organization name"),
-            "description"             => _("Description"),
-            "businessCategory"        => _("Category"),
-            "base"                    => _("Base"),
-
-            "manager"                 => _("Manager"),
-
-            "st"                      => _("State"),
-            "l"                       => _("Location"),
-            "postalAddress"           => _("Postal address"),
-            "telephoneNumber"         => _("Phone number"),
-            "facsimileTelephoneNumber"=> _("Fax"),
-
-            "gosaUnitTag"             => _("Administrative settings"))
-          ));
+    return array(
+      "plShortName"   => _("Organization"),
+      "plDescription" => _("Organization"),
+      "plSelfModify"  => FALSE,
+      "plSection"     => array("administration"),
+      "plCategory"    => array("department"),
+      "plObjectType"  => array("organization" => array("name" => _("Organization"), "filter" => "objectClass=organization")),
+
+      "plProvidedAcls" => array(
+        "o"                       => _("Organization name"),
+        "description"             => _("Description"),
+        "businessCategory"        => _("Category"),
+        "base"                    => _("Base"),
+
+        "manager"                 => _("Manager"),
+
+        "st"                        => _("State"),
+        "l"                         => _("Location"),
+        "postalAddress"             => _("Postal address"),
+        "telephoneNumber"           => _("Phone number"),
+        "facsimileTelephoneNumber"  => _("Fax"),
+
+        "gosaUnitTag"             => _("Administrative settings")
+      )
+    );
   }
 
 }
-- 
GitLab