/** * Status action. * * @param \Causal\IgLdapSsoAuth\Domain\Model\Configuration $configuration * @return void */ public function statusAction(\Causal\IgLdapSsoAuth\Domain\Model\Configuration $configuration = NULL) { // If configuration has been deleted if ($configuration === NULL) { $this->redirect('index'); } $this->saveState($configuration); Configuration::initialize(TYPO3_MODE, $configuration); $this->populateView($configuration); $ldapConfiguration = Configuration::getLdapConfiguration(); $connectionStatus = array(); if ($ldapConfiguration['host'] !== '') { $ldapConfiguration['server'] = Configuration::getServerType($ldapConfiguration['server']); try { $this->ldap->connect($ldapConfiguration); } catch (\Exception $e) { // Possible known exception: 1409566275, LDAP extension is not available for PHP $this->addFlashMessage($e->getMessage(), 'Error ' . $e->getCode(), \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR); } $ldapConfiguration['protocol'] = $this->translate('module_status.messages.formatProtocol', array($ldapConfiguration['protocol'])); // Never ever show the password as plain text $ldapConfiguration['password'] = $ldapConfiguration['password'] ? '••••••••••••' : NULL; $connectionStatus = $this->ldap->getStatus(); } else { $ldapConfiguration = $this->translate('module_status.messages.ldapDisable'); } $frontendConfiguration = Configuration::getFrontendConfiguration(); if ($frontendConfiguration['LDAPAuthentication'] === FALSE) { // Remove every other info since authentication is disabled for this mode $frontendConfiguration = array('LDAPAuthentication' => FALSE); } $backendConfiguration = Configuration::getBackendConfiguration(); if ($backendConfiguration['LDAPAuthentication'] === FALSE) { // Remove every other info since authentication is disabled for this mode $backendConfiguration = array('LDAPAuthentication' => FALSE); } $this->view->assign('configuration', array('domains' => Configuration::getDomains(), 'ldap' => $ldapConfiguration, 'connection' => $connectionStatus, 'frontend' => $frontendConfiguration, 'backend' => $backendConfiguration)); }