mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-23 08:23:12 +01:00
handle not available AD or LDAP connection with an exception, caught and just displayed within setup, so one can change ip or credentials
This commit is contained in:
parent
d2a9dc85e0
commit
4813a38fc1
@ -102,6 +102,7 @@ class accounts_ads
|
|||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param accounts $frontend reference to the frontend class, to be able to call it's methods if needed
|
* @param accounts $frontend reference to the frontend class, to be able to call it's methods if needed
|
||||||
|
* @throws adLDAPException
|
||||||
* @return accounts_ldap
|
* @return accounts_ldap
|
||||||
*/
|
*/
|
||||||
function __construct(accounts $frontend)
|
function __construct(accounts $frontend)
|
||||||
|
@ -128,7 +128,7 @@ class accounts_ldap
|
|||||||
// enable the caching in the session, done by the accounts class extending this class.
|
// enable the caching in the session, done by the accounts class extending this class.
|
||||||
$this->use_session_cache = true;
|
$this->use_session_cache = true;
|
||||||
|
|
||||||
$this->ldap = new ldap();
|
$this->ldap = new ldap(true);
|
||||||
$this->ds = $this->ldap->ldapConnect($this->frontend->config['ldap_host'],
|
$this->ds = $this->ldap->ldapConnect($this->frontend->config['ldap_host'],
|
||||||
$this->frontend->config['ldap_root_dn'],$this->frontend->config['ldap_root_pw']);
|
$this->frontend->config['ldap_root_dn'],$this->frontend->config['ldap_root_pw']);
|
||||||
|
|
||||||
|
@ -1548,7 +1548,7 @@ function _egw_log_exception(Exception $e,&$headline=null)
|
|||||||
// which outputs the error_log to stderr and therefore output it twice to the user
|
// which outputs the error_log to stderr and therefore output it twice to the user
|
||||||
if(isset($_SERVER['HTTP_HOST']) || $GLOBALS['egw_info']['flags']['no_exception_handler'] !== 'cli')
|
if(isset($_SERVER['HTTP_HOST']) || $GLOBALS['egw_info']['flags']['no_exception_handler'] !== 'cli')
|
||||||
{
|
{
|
||||||
error_log($headline.': '.$e->getMessage());
|
error_log($headline.' ('.get_class($e).'): '.$e->getMessage());
|
||||||
foreach(explode("\n",$e->getTraceAsString()) as $line) error_log($line);
|
foreach(explode("\n",$e->getTraceAsString()) as $line) error_log($line);
|
||||||
error_log('# Instance='.$GLOBALS['egw_info']['user']['domain'].', User='.$GLOBALS['egw_info']['user']['account_lid'].', URL='.
|
error_log('# Instance='.$GLOBALS['egw_info']['user']['domain'].', User='.$GLOBALS['egw_info']['user']['account_lid'].', URL='.
|
||||||
($_SERVER['HTTPS']?'https://':'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
|
($_SERVER['HTTPS']?'https://':'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
|
||||||
|
@ -1010,15 +1010,15 @@ class setup
|
|||||||
$GLOBALS['egw_info']['server'][$row['config_name']] = $config[$row['config_name']] = $row['config_value'];
|
$GLOBALS['egw_info']['server'][$row['config_name']] = $config[$row['config_name']] = $row['config_value'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->accounts = new accounts($config);
|
try {
|
||||||
if (!isset($GLOBALS['egw']->accounts)) $GLOBALS['egw']->accounts = $this->accounts;
|
$this->accounts = new accounts($config);
|
||||||
accounts::cache_invalidate(); // the cache is shared for all instances of the class
|
}
|
||||||
|
catch (Exception $e) {
|
||||||
if($this->accounts->backend instanceof accounts_ldap && !$this->accounts->backend->ds)
|
echo "<p><b>".$e->getMessage()."</b></p>\n";
|
||||||
{
|
|
||||||
printf("<b>Error: Error connecting to LDAP server %s!</b><br>",$config['ldap_host']);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (!isset($GLOBALS['egw']->accounts)) $GLOBALS['egw']->accounts = $this->accounts;
|
||||||
|
accounts::cache_invalidate(); // the cache is shared for all instances of the class
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user