Ejemplo n.º 1
0
$pluginManager = PluginManager::instance();
$ldapPlugin = $pluginManager->getPluginByName('ldap');
if (!$ldapPlugin || !$pluginManager->isPluginAvailable($ldapPlugin)) {
    $GLOBALS['Response']->redirect('/project/admin/index.php?group_id=' . $groupId);
}
// Check if user have choosen the preserve members option.
$bindOption = 'bind';
if ($request->exist('preserve_members') && $request->get('preserve_members') == 'on') {
    $bindOption = 'preserve_members';
}
// Get LDAP group name
$vLdapGroup = new Valid_String('ldap_group');
$vLdapGroup->required();
if ($request->isPost() && $request->valid($vLdapGroup)) {
    $ldapGroupManager = new LDAP_ProjectGroupManager($ldapPlugin->getLdap());
    $ldapGroupManager->setId($groupId);
    $ldapGroupManager->setGroupName($request->get('ldap_group'));
    if ($request->existAndNonEmpty('delete')) {
        //
        // Remove link between Project Members and LDAP Group
        //
        $ldapGroupManager->unbindFromBindLdap();
        $GLOBALS['Response']->redirect('/project/admin/index.php?group_id=' . $groupId);
    } elseif ($request->existAndNonEmpty('update')) {
        //
        // Perform Project Members <-> LDAP Group synchro
        //
        $ldapGroupManager->bindWithLdap($bindOption);
        $GLOBALS['Response']->redirect('/project/admin/index.php?group_id=' . $groupId);
    } elseif ($request->exist('cancel')) {
        //