summaryrefslogtreecommitdiffstats
path: root/Auth/OpenID/Message.php
diff options
context:
space:
mode:
Diffstat (limited to 'Auth/OpenID/Message.php')
-rw-r--r--Auth/OpenID/Message.php20
1 files changed, 19 insertions, 1 deletions
diff --git a/Auth/OpenID/Message.php b/Auth/OpenID/Message.php
index a9a7d21..cdc4d65 100644
--- a/Auth/OpenID/Message.php
+++ b/Auth/OpenID/Message.php
@@ -74,7 +74,7 @@ function Auth_OpenID_registerNamespaceAlias($namespace_uri, $alias)
return false;
}
- if (in_array($alias, $Auth_OpenID_registered_aliases)) {
+ if (in_array($alias, array_keys($Auth_OpenID_registered_aliases))) {
return false;
}
@@ -83,6 +83,24 @@ function Auth_OpenID_registerNamespaceAlias($namespace_uri, $alias)
}
/**
+ * Removes a (namespace_uri, alias) registration from the global
+ * namespace alias map. Returns true if the removal succeeded; false
+ * if not (if the mapping did not exist).
+ */
+function Auth_OpenID_removeNamespaceAlias($namespace_uri, $alias)
+{
+ global $Auth_OpenID_registered_aliases;
+
+ if (Auth_OpenID::arrayGet($Auth_OpenID_registered_aliases,
+ $alias) === $namespace_uri) {
+ unset($Auth_OpenID_registered_aliases[$alias]);
+ return true;
+ }
+
+ return false;
+}
+
+/**
* An Auth_OpenID_Mapping maintains a mapping from arbitrary keys to
* arbitrary values. (This is unlike an ordinary PHP array, whose
* keys may be only simple scalars.)