]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
preventing an openid user from setting password
authorcash <cash.costello@gmail.com>
Sat, 17 Dec 2011 21:21:41 +0000 (16:21 -0500)
committercash <cash.costello@gmail.com>
Sat, 17 Dec 2011 21:21:41 +0000 (16:21 -0500)
start.php

index afe12ae92b7408647f277366f37905307a351cf3..a1defd28022b641fba197d2bf1c65f4fed4e5671 100644 (file)
--- a/start.php
+++ b/start.php
@@ -26,7 +26,8 @@ function openid_client_init() {
 \r
        elgg_register_event_handler('create', 'user', 'openid_client_set_subtype', 1);\r
 \r
-       //elgg_register_page_handler('openid_client', 'openid_client_page_handler');\r
+       // don't let OpenID users set their passwords\r
+       elgg_register_event_handler('pagesetup', 'system', 'openid_client_remove_email');\r
 }\r
 \r
 /**\r
@@ -83,21 +84,11 @@ function openid_client_setup_menu($hook, $type, $menu, $params) {
 }\r
 \r
 /**\r
- * OpenID client page handler\r
- *\r
- * @param type $page Array of URL segments\r
- * @return bool\r
+ * Remove the password view from the account settings form\r
  */\r
-function openid_client_page_handler($page) {\r
-\r
-       // this is test code for right now\r
-       elgg_load_library('openid_client');\r
-       openid_client_registration_page_handler(array(\r
-               'username' => 'john',\r
-               'email' => 'john@example.org',\r
-               'name' => 'John Doe',\r
-               'openid_identifier' => 'abcdefghijklmnopqrstuvwxyz',\r
-       ));\r
-\r
-       return true;\r
+function openid_client_remove_email() {\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
+       }\r
 }\r