forward(REFERER);
}
$user = get_entity($guid);
+openid_client_set_subtype($user);
-$user->openid_identifier = $openid_identifier;
+$user->annotate('openid_identifier', $openid_identifier, ACCESS_PUBLIC);
elgg_set_user_validation_status($guid, true, 'openid');
if (!elgg_trigger_plugin_hook('register', 'user', array('user' => $user), true)) {
}\r
\r
// does this user exist\r
-$users = elgg_get_entities_from_metadata(array(\r
+$users = elgg_get_entities_from_annotations(array(\r
'type' => 'user',\r
- 'subtype' => 'openid',\r
- 'metadata_name' => 'openid_identifier',\r
- 'metadata_value' => $data['openid_identifier'],\r
+ 'annotation_name' => 'openid_identifier',\r
+ 'annotation_value' => $data['openid_identifier'],\r
));\r
if ($users) {\r
// log in user and maybe update account (admin setting, user prompt?)\r
$base = elgg_get_plugins_path() . 'openid_client/lib';\r
elgg_register_library('openid_client', "$base/helpers.php");\r
\r
- elgg_register_event_handler('create', 'user', 'openid_client_set_subtype', 1);\r
-\r
// don't let OpenID users set their passwords\r
- elgg_register_event_handler('pagesetup', 'system', 'openid_client_remove_email');\r
+ elgg_register_event_handler('pagesetup', 'system', 'openid_client_remove_password');\r
\r
// the return to page needs to be public\r
elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'openid_client_public');\r
/**\r
* Set the correct subtype for OpenID users\r
*\r
- * @param string $event Event name\r
- * @param string $type Object type\r
- * @param ElggUser $user New user\r
+ * @param ElggUser $user New user\r
+ * @return void\r
*/\r
-function openid_client_set_subtype($event, $type, $user) {\r
+function openid_client_set_subtype($user) {\r
$db_prefix = elgg_get_config('dbprefix');\r
$guid = (int)$user->getGUID();\r
$subtype_id = (int)add_subtype('user', 'openid');\r
'wordpress' => 'toggle',\r
),\r
);\r
- $items = elgg_trigger_plugin_hook('register', 'openid_login', null, $items);\r
+ $items = elgg_trigger_plugin_hook('register', 'openid_client:login', null, $items);\r
\r
$priority = 100;\r
foreach ($items as $type => $providers) {\r
/**\r
* Remove the password view from the account settings form\r
*/\r
-function openid_client_remove_email() {\r
+function openid_client_remove_password() {\r
$page_owner = elgg_get_page_owner_entity();\r
if ($page_owner && elgg_instanceof($page_owner, 'user', 'openid')) {\r
elgg_unextend_view('forms/account/settings', 'core/settings/account/password');\r
* Add pages to the list of public pages for walled garden needed for OpenID\r
* transaction\r
*\r
- * @param string $hook Hook name\r
- * @param string $type Hook type\r
+ * @param string $hook Hook name\r
+ * @param string $type Hook type\r
* @param array $pages Array of public pages\r
* @return array\r
*/\r