Code

Fixed permission problem in addressbook plugin.
[gosa.git] / gosa-core / include / class_config.inc
index 42e0c3dbee493b5b3dda9a6a7e6bf4503b942211..64039fd3a115e36bd2544cbe461fc360d35180a7 100644 (file)
@@ -400,6 +400,7 @@ class config  {
         
         $this->data['SERVERS']['IMAP'][$imap_server]= 
             array( 
+            "server_dn"   => $attrs['dn'],
             "connect"     => $imap_connect,
             "admin"       => $imap_admin,
             "password"    => $pwd,
@@ -826,18 +827,27 @@ class config  {
   {
     global $config;
     $return = array();
+    $ui = get_userinfo();
     $base = $config->current['BASE'];
     $res= get_sub_list("(&(objectClass=goShareServer)(goExportEntry=*))", "server",
-          get_ou("serverou"), $base,array("goExportEntry","cn"),GL_NONE);
+          get_ou("serverou"), $base,array("goExportEntry","cn"),GL_NONE | GL_NO_ACL_CHECK);
 
     foreach($res as $entry){
+        
+        $acl = $ui->get_permissions($entry['dn'],"server/goShareServer","");
         if(isset($entry['goExportEntry']['count'])){
           unset($entry['goExportEntry']['count']);
         }
         foreach($entry['goExportEntry'] as $share){
           $a_share = split("\|",$share);
           $sharename = $a_share[0];
-          $return[$entry['cn'][0]."|".$sharename] = $entry['cn'][0]." [".$sharename."]";
+          $data= array();
+          $data['NAME']   = $sharename;
+          $data['ACL']    = $acl;
+          $data['SERVER'] = $entry['cn']['0'];
+          $data['SHARE']  = $sharename;
+          $data['DISPLAY']= $entry['cn'][0]." [".$sharename."]";
+          $return[$entry['cn'][0]."|".$sharename] = $data;
         }
     }
     return($return);