/** * Load all results * * @param array $ldapConfig * @return array * @access public * @since 7/30/09 */ function loadAllResults(array $ldapConfig) { $results = array(); foreach ($ldapConfig as $connectorConfig) { $connector = new LdapConnector($connectorConfig); $connector->connect(); $error = ''; try { switch ($_GET['action']) { case 'search_groups': try { $results = array_merge($results, $connector->searchGroups($_GET)); } catch (InvalidArgumentException $e) { $error = $e->getMessage(); } break; case 'search_groups_by_attributes': try { $results = array_merge($results, $connector->searchGroupsByAttributes($_GET)); } catch (NullArgumentException $e) { $error = $e->getMessage(); } break; case 'search_users': $results = array_merge($results, $connector->searchUsers($_GET)); break; case 'search_users_by_attributes': try { $results = array_merge($results, $connector->searchUsersByAttributes($_GET)); } catch (NullArgumentException $e) { $error = $e->getMessage(); } break; case 'get_group': try { $results = array_merge($results, array($connector->getGroup($_GET))); } catch (UnknownIdException $e) { $error = $e->getMessage(); } break; case 'get_user': try { $results = array_merge($results, array($connector->getUser($_GET))); } catch (UnknownIdException $e) { $error = $e->getMessage(); } break; case 'get_group_members': try { $results = array_merge($results, $connector->getGroupMembers($_GET)); } catch (UnknownIdException $e) { $error = $e->getMessage(); } break; case 'get_all_users': $results = array_merge($results, $connector->getAllUsers($_GET)); break; default: throw new UnknownActionException('action, \'' . $_GET['action'] . '\' is not one of [search_users, search_groups, get_user, get_group].'); } } catch (LDAPException $e) { if ($e->getCode() != 10) { // 10 = LDAP_REFERRAL throw $e; } } $connector->disconnect(); } switch ($_GET['action']) { case 'get_group': case 'get_user': if (empty($results)) { throw new UnknownIdException($error); } break; case 'search_users_by_attributes': break; } return $results; }
if (!defined('DISPLAY_ERROR_BACKTRACE')) { define('DISPLAY_ERROR_BACKTRACE', false); } require_once MYDIR . '/lib/phpcas/source/CAS.php'; if (!isset($getUserDisplayName)) { $getUserDisplayName = create_function('', 'return phpCAS::getUser();'); } // initialize phpCAS phpCAS::client(CAS_VERSION_2_0, CAS_HOST, CAS_PORT, CAS_PATH, false); // no SSL validation for the CAS server phpCAS::setNoCasServerValidation(); // force CAS authentication phpCAS::forceAuthentication(); // var_dump($_SESSION); $ldap = new LdapConnector($ldapConfig); $ldap->connect(); try { // Check authorization if (!empty($authorizedUserAttributes)) { if (!is_array($authorizedUserAttributes)) { throw new Exception('Configuration Error: $authorizedUserAttributes must be an array'); } $isAuthorized = false; $attributes = phpCAS::getAttributes(); foreach ($authorizedUserAttributes as $attr => $authorized_values) { if (!is_array($authorized_values)) { $authorized_values = array($authorized_values); } foreach ($authorized_values as $authorized_value) { if (!empty($attributes[$attr])) { if (is_array($attributes[$attr])) {