* Group view provider. */ if ($cfg->getValue("Engine:Providers", "GroupViewProviderType") == "svnauthfile") { include_once "./classes/providers/AuthFileGroupAndPathsProvider.class.php"; $groupView = \svnadmin\providers\AuthFileGroupAndPathProvider::getInstance(); $appEngine->setGroupViewProvider($groupView); } elseif ($cfg->getValue("Engine:Providers", "GroupViewProviderType") == "ldap" && $cfg->getValue("Engine:Providers", "UserViewProviderType") == "ldap") { $groupView = null; include_once "./classes/providers/ldap/LdapUserViewProvider.class.php"; include_once "./classes/providers/AuthFileGroupAndPathsProvider.class.php"; if ($cfg->getValueAsBoolean('Ldap', 'CacheEnabled', false)) { include_once "./classes/providers/ldap/CachedLdapUserViewProvider.class.php"; include_once "./include/ifcorelib/IF_JsonObjectStorage.class.php"; $groupView = \svnadmin\providers\ldap\CachedLdapUserViewProvider::getInstance(); } else { $groupView = \svnadmin\providers\ldap\LdapUserViewProvider::getInstance(); } $appEngine->setGroupViewProvider($groupView); } /** * Group edit provider. * No LDAP support. */ if ($cfg->getValue("Engine:Providers", "GroupEditProviderType") == "svnauthfile") { include_once "./classes/providers/AuthFileGroupAndPathsProvider.class.php"; $groupEdit = \svnadmin\providers\AuthFileGroupAndPathProvider::getInstance(); $appEngine->setGroupEditProvider($groupEdit); } /** * Access-Path view provider. */
/** * Update the SVNAuthFile with data from LDAP server. * @see svnadmin\core\interfaces.IViewProvider::update() */ public function update() { if (!$this->_update_done) { $this->_update_done = true; // Get all users from LDAP and save them to cache. $users = parent::getUsers(false); $this->_cache->setData("users", $users); $this->_cache->save(); if (parent::isUpdateable()) { return parent::update(); } } return true; }