Code

Added translation from TRUe/yes to true False/no to false
[gosa.git] / include / class_config.inc
index 6d028a11b5cfe9a39317bb30b868ff631b57cbf0..b79df2426fb5b024e98e0224029ba8fd9a656748 100644 (file)
@@ -91,9 +91,19 @@ class config  {
       return;
     }
 
+    /* yes/no to true/false and upper case TRUE to true and so on*/
+    foreach($attrs as $name => $value){
+      if((preg_match("/^yes$/i",$value)) || (preg_match("/^true$/i",$value))){
+        $attrs[$name] = "true";
+      }elseif((preg_match("/^no$/i",$value)) || (preg_match("/^false$/i",$value))){
+        $attrs[$name] = "false";
+      } 
+    }
+
     /* Look through attributes */
     switch ($this->tags[$this->level-1]){
 
+
       /* Handle tab section */
       case 'TAB':      $name= $this->tags[$this->level-2];
 
@@ -113,8 +123,8 @@ class config  {
                     $this->currentLocation= $name;
 
                     /* Add location elements */
-                    $this->data['LOCATIONS'][$name]= $attrs;
-                  }
+                      $this->data['LOCATIONS'][$name]= $attrs;
+                    }
                   break;
 
                   /* Handle referral tags */
@@ -193,9 +203,11 @@ class config  {
 
     /* Check for connection */
     if (is_null($this->ldap) || (is_int($this->ldap) && $this->ldap == 0)){
+      $smarty= get_smarty();
       print_red (_("Can't bind to LDAP. Please contact the system administrator."));
-      echo $_SESSION['errors'];
-      exit;
+      $smarty->display (get_template_path('headers.tpl'));
+      echo '<body style="background-image:none">'.$_SESSION['errors'].'</body></html>';
+      exit();
     }
 
     if (!isset($_SESSION['size_limit'])){
@@ -364,9 +376,12 @@ class config  {
 
     /* Get asterisk servers */
     $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=goGlpiServer)");
+    $ldap->search ("(&(objectClass=goGlpiServer)(cn=*)(goGlpiAdmin=*)(goGlpiDatabase=*))",array("cn","goGlpiPassword","goGlpiAdmin","goGlpiDatabase"));
     if ($ldap->count()){
       $attrs= $ldap->fetch();
+      if(!isset($attrs['goGlpiPassword'])){
+        $attrs['goGlpiPassword'][0] ="";
+      }
       $this->data['SERVERS']['GLPI']= array( 
           'SERVER'     => $attrs['cn'][0],
           'LOGIN'      => $attrs['goGlpiAdmin'][0],
@@ -389,13 +404,15 @@ class config  {
     $ldap->search ("(&(objectClass=goShareServer)(goExportEntry=*))");
     while ($attrs= $ldap->fetch()){
       for ($i= 0; $i<$attrs["goExportEntry"]["count"]; $i++){
-        $path= preg_replace ("/\s.*$/", "", $attrs["goExportEntry"][$i]);
+        if(!preg_match('/^[^|]+\|[^|]+\|NFS\|.*$/', $attrs["goExportEntry"][$i])){
+          continue;
+        }
+        $path= preg_replace ("/^[^|]+\|[^|]+\|[^|]+\|[^|]+\|([^|]+).*$/", '\1', $attrs["goExportEntry"][$i]);
         $tmp[]= $attrs["cn"][0].":$path";
       }
     }
     $this->data['SERVERS']['NFS']= $tmp;
 
-
     /* Load Terminalservers */
     $ldap->cd ($this->current['BASE']);
     $ldap->search ("(objectClass=goTerminalServer)");