/**
  * @return string
  */
 public function admin()
 {
     Piwik::checkUserHasSuperUserAccess();
     $view = new View('@LoginLdap/index');
     ControllerAdmin::setBasicVariablesAdminView($view);
     if (!function_exists('ldap_connect')) {
         $notification = new Notification(Piwik::translate('LoginLdap_LdapFunctionsMissing'));
         $notification->context = Notification::CONTEXT_ERROR;
         $notification->type = Notification::TYPE_PERSISTENT;
         Notification\Manager::notify('LoginLdap_LdapFunctionsMissing', $notification);
     }
     $this->setBasicVariablesView($view);
     $serverNames = Config::getServerNameList() ?: array();
     $view->servers = array();
     if (empty($serverNames)) {
         try {
             $serverInfo = ServerInfo::makeFromOldConfig()->getProperties();
             $serverInfo['name'] = 'server';
             $view->servers[] = $serverInfo;
         } catch (Exception $ex) {
             // ignore
         }
     } else {
         foreach ($serverNames as $server) {
             $serverConfig = Config::getServerConfig($server);
             if (!empty($serverConfig)) {
                 $serverConfig['name'] = $server;
                 $view->servers[] = $serverConfig;
             }
         }
     }
     $view->ldapConfig = Config::getPluginOptionValuesWithDefaults();
     $view->isLoginControllerActivated = PluginManager::getInstance()->isPluginActivated('Login');
     $view->updatedFromPre30 = Option::get('LoginLdap_updatedFromPre3_0');
     return $view->render();
 }
Beispiel #2
0
 /**
  * Returns a list of {@link ServerInfo} instances describing the LDAP servers
  * that should be connected to.
  *
  * @return ServerInfo[]
  */
 public static function getConfiguredLdapServers()
 {
     $serverNameList = self::getServerNameList();
     if (empty($serverNameList)) {
         $server = ServerInfo::makeFromOldConfig();
         $serverHost = $server->getServerHostname();
         if (empty($serverHost)) {
             return array();
         } else {
             return array($server);
         }
     } else {
         if (is_string($serverNameList)) {
             $serverNameList = explode(',', $serverNameList);
         }
         $servers = array();
         foreach ($serverNameList as $name) {
             try {
                 $servers[] = ServerInfo::makeConfigured($name);
             } catch (Exception $ex) {
                 Log::debug("LoginLdap\\Config::%s: LDAP server info '%s' is configured incorrectly: %s", __FUNCTION__, $name, $ex->getMessage());
             }
         }
         return $servers;
     }
 }
 /**
  * Returns a list of {@link ServerInfo} instances describing the LDAP servers
  * that should be connected to.
  *
  * @return ServerInfo[]
  */
 public static function getConfiguredLdapServers()
 {
     $serverNameList = self::getServerNameList();
     if (empty($serverNameList)) {
         $server = ServerInfo::makeFromOldConfig();
         $serverHost = $server->getServerHostname();
         if (empty($serverHost)) {
             return array();
         } else {
             return array($server);
         }
     } else {
         if (is_string($serverNameList)) {
             $serverNameList = explode(',', $serverNameList);
         }
         $servers = array();
         foreach ($serverNameList as $name) {
             try {
                 $servers[] = ServerInfo::makeConfigured($name);
             } catch (Exception $ex) {
                 /** @var LoggerInterface */
                 $logger = StaticContainer::get('Psr\\Log\\LoggerInterface');
                 $logger->debug("LoginLdap\\Config::{func}: LDAP server info '{name}' is configured incorrectly: {message}", array('func' => __FUNCTION__, 'name' => $name, 'message' => $ex->getMessage(), 'exception' => $ex));
             }
         }
         return $servers;
     }
 }