Code

Added dhcp plugin to general include list
[gosa.git] / include / class_config.inc
index c8526823400c309a8eaa8e0b21ad3c8f3f6467df..a60ae8e243ce2ccc5f85fdd7334e7ccf0a810c9f 100644 (file)
@@ -38,7 +38,7 @@ class config  {
 
   /* Configuration data */
   var $data= array( 'TABS' => array(), 'LOCATIONS' => array(), 'SERVERS' => array(),
-      'MAIN' => array( 'LANGUAGES' => array(), 'FAXFORMATS' => array() ),
+      'MAIN' => array( 'FAXFORMATS' => array() ),
       'MENU' => array(), 'SERVICE' => array());
   var $basedir= "";
 
@@ -68,7 +68,8 @@ class config  {
     $xmldata= fread($fh, 100000);
     fclose($fh); 
     if(!xml_parse($this->parser, chop($xmldata))){
-      print_red(sprintf(_("XML error in gosa.conf: %s at line %d"),
+      print_red(sprintf(_("XML error in %s: %s at line %d"),
+            CONFIG_FILE,
             xml_error_string(xml_get_error_code($this->parser)),
             xml_get_current_line_number($this->parser)));
       echo $_SESSION['errors'];
@@ -142,15 +143,6 @@ class config  {
                   }
                   break;
 
-                  /* Handle language */
-      case 'LANGUAGE':
-                  if ($this->tags[$this->level-2] == 'MAIN'){
-                    /* Add languages */
-                    $this->data['MAIN']['LANGUAGES'][$attrs['NAME']]= 
-                      $attrs['TAG'];
-                  }
-                  break;
-
                   /* Handle faxformat */
       case 'FAXFORMAT':        
                   if ($this->tags[$this->level-2] == 'MAIN'){
@@ -334,19 +326,34 @@ class config  {
     /* Fill imap servers */
     $ldap= $this->get_ldap_link();
     $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=goImapServer)");
-
-    $this->data['SERVERS']['IMAP']= array();
-    error_reporting(0);
-    while ($attrs= $ldap->fetch()){
-      $name= $attrs['goImapName'][0];
-      $this->data['SERVERS']['IMAP'][$name]= array( "connect" => $attrs['goImapConnect'][0],
-          "admin" => $attrs['goImapAdmin'][0],
-          "password" => $attrs['goImapPassword'][0],
-          "sieve_server" => $attrs['goImapSieveServer'][0],
-          "sieve_port" => $attrs['goImapSievePort'][0]);
+    if (!isset($this->current['MAILMETHOD'])){
+       $this->current['MAILMETHOD']= "";
+    }
+    if ($this->current['MAILMETHOD'] == ""){
+           $ldap->search ("(objectClass=goMailServer)", array('cn'));
+           $this->data['SERVERS']['IMAP']= array();
+           error_reporting(0);
+           while ($attrs= $ldap->fetch()){
+             $name= $attrs['cn'][0];
+             $this->data['SERVERS']['IMAP'][$name]= $name;
+           }
+           error_reporting(E_ALL);
+    } else {
+           $ldap->search ("(objectClass=goImapServer)", array('goImapName', 'goImapConnect', 'goImapAdmin', 'goImapPassword',
+                                                              'goImapSieveServer', 'goImapSievePort'));
+
+           $this->data['SERVERS']['IMAP']= array();
+           error_reporting(0);
+           while ($attrs= $ldap->fetch()){
+             $name= $attrs['goImapName'][0];
+             $this->data['SERVERS']['IMAP'][$name]= array( "connect" => $attrs['goImapConnect'][0],
+                 "admin" => $attrs['goImapAdmin'][0],
+                 "password" => $attrs['goImapPassword'][0],
+                 "sieve_server" => $attrs['goImapSieveServer'][0],
+                 "sieve_port" => $attrs['goImapSievePort'][0]);
+           }
+           error_reporting(E_ALL);
     }
-    error_reporting(E_ALL);
 
     /* Get kerberos server. FIXME: only one is supported currently */
     $ldap->cd ($this->current['BASE']);
@@ -630,7 +637,8 @@ class config  {
     $ret = array();
     $depth ++;
 
-    /* Walk through array */   
+    /* Walk through array */
+    ksort($arr);
     foreach($arr as $name => $entries){
 
       /* If this department is the last in the current tree position 
@@ -651,7 +659,7 @@ class config  {
       if(isset($entries['ENTRY'])){
         $a = "";
         for($i = 0 ; $i < $depth ; $i ++){
-          $a.="&nbsp;";
+          $a.=".";
         }
         $ret[$entries['ENTRY']]=$a."&nbsp;".$name;
       }