/** * If possible change the username of a user * * @param string $hook_name name of the hook * @param string $entity_type type of the hook * @param unknown $return_value return value * @param unknown $parameters hook parameters * * @return void */ function profiles_go_username_change_hook($hook_name, $entity_type, $return_value, $parameters) { $user_guid = (int) get_input('guid'); $new_username = get_input('username'); $enable_username_change = elgg_get_plugin_setting("enable_username_change", "profiles_go"); if ($enable_username_change == "yes" || $enable_username_change == "admin" && elgg_is_admin_logged_in()) { if (!empty($user_guid) && !empty($new_username)) { if (profiles_go_validate_username($new_username)) { if ($user = get_user($user_guid)) { if ($user->canEdit()) { if ($user->username !== $new_username) { $user->username = $new_username; if ($user->save()) { elgg_register_plugin_hook_handler("forward", "system", "profiles_go_username_change_forward_hook"); system_message(elgg_echo('profiles_go:action:username:change:succes')); } } } } } } } }
/** * Function to handle the nice urls for Profile Manager pages * * @param array $page pages * * @return void|boolean */ function profiles_go_page_handler($page) { switch ($page[0]) { case "validate_username": if (elgg_is_logged_in()) { $new_username = get_input("username"); $valid = false; if (!empty($new_username)) { $valid = profiles_go_validate_username($new_username); } $result = array("valid" => $valid); echo json_encode($result); return true; } break; case "user_summary_control": include dirname(__FILE__) . "/pages/user_summary_control/preview.php"; return true; } }