X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_config.inc;h=b79df2426fb5b024e98e0224029ba8fd9a656748;hb=478ea60361b0824f073fd6151f1f064c54eb3c52;hp=6d028a11b5cfe9a39317bb30b868ff631b57cbf0;hpb=274c1b77ba78f47cea1c0bc4300b1a33e5354689;p=gosa.git diff --git a/include/class_config.inc b/include/class_config.inc index 6d028a11b..b79df2426 100644 --- a/include/class_config.inc +++ b/include/class_config.inc @@ -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 ''.$_SESSION['errors'].''; + 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)");