Пример #1
0
 * 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;
 }