]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
fixed bug where email wasn't being passed to register action - now using annotations...
authorCash Costello <cash.costello@gmail.com>
Sat, 28 Jan 2012 17:27:05 +0000 (12:27 -0500)
committerCash Costello <cash.costello@gmail.com>
Sat, 28 Jan 2012 17:27:05 +0000 (12:27 -0500)
actions/openid_client/register.php
return.php
start.php
views/default/forms/openid_client/register.php

index c4d3501ed189176df079e424626682420dea9e67..f0ad2a5fdebd8d1a79b7171701aa879fcda459fa 100644 (file)
@@ -19,8 +19,9 @@ try {
        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)) {
index dbc57d31868736468a9e823a21e2bd9a34f7b243..87ce5b19f58f4ce2134df21f2cd2e5ca56b539db 100644 (file)
@@ -25,11 +25,10 @@ if (!$data || !$data['openid_identifier']) {
 }\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
index a8e6fd94ee83e53bba5ad95c8aead797f38b24ca..82dcd5c1101ecadabeb6a7777c31e1b01db3f86e 100644 (file)
--- a/start.php
+++ b/start.php
@@ -25,10 +25,8 @@ function openid_client_init() {
        $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
@@ -37,11 +35,10 @@ function openid_client_init() {
 /**\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
@@ -71,7 +68,7 @@ function openid_client_setup_menu($hook, $type, $menu, $params) {
                        '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
@@ -105,7 +102,7 @@ function openid_client_setup_menu($hook, $type, $menu, $params) {
 /**\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
@@ -116,8 +113,8 @@ function openid_client_remove_email() {
  * 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
index 6cae2bb8425302bceace27f8bfd59f13e90ace10..6044f0f0bfc94294e841dfb3c079487a8d793704 100644 (file)
@@ -41,7 +41,7 @@ if (!$email_available) {
 $email_input = elgg_view('input/email', array(
        'name' => 'email',
        'value' => $vars['email'],
-       'disabled' => $email_available,
+       'readonly' => $email_available,
 ));
 
 $openid_input = elgg_view('input/hidden', array(