/** * Handle OpenID profile management. */ function openid_profile_management() { global $wp_version; if (!isset($_REQUEST['action'])) { return; } switch ($_REQUEST['action']) { case 'verify': finish_openid($_REQUEST['action']); break; case 'add': check_admin_referer('openid-add_openid'); $user = wp_get_current_user(); $auth_request = openid_begin_consumer($_POST['openid_identifier']); $userid = get_user_by_openid($auth_request->endpoint->claimed_id); if ($userid) { global $error; if ($user->ID == $userid) { $error = __('You already have this OpenID!', 'openid'); } else { $error = __('This OpenID is already associated with another user.', 'openid'); } return; } $return_to = admin_url(current_user_can('edit_users') ? 'users.php' : 'profile.php'); openid_start_login($_POST['openid_identifier'], 'verify', array('page' => $_REQUEST['page']), $return_to); break; case 'delete': openid_profile_delete_openids($_REQUEST['delete']); break; } }
/** * Handle OpenID profile management. */ function openid_profile_management() { global $action; wp_reset_vars(array('action')); switch ($action) { case 'add': check_admin_referer('openid-add_openid'); $user = wp_get_current_user(); $auth_request = openid_begin_consumer($_POST['openid_identifier']); $userid = get_user_by_openid($auth_request->endpoint->claimed_id); if ($userid) { global $error; if ($user->ID == $userid) { $error = __('You already have this OpenID!', 'openid'); } else { $error = __('This OpenID is already associated with another user.', 'openid'); } return; } $finish_url = admin_url(current_user_can('edit_users') ? 'users.php' : 'profile.php'); $finish_url = add_query_arg('page', $_REQUEST['page'], $finish_url); openid_start_login($_POST['openid_identifier'], 'verify', $finish_url); break; case 'delete': openid_profile_delete_openids($_REQUEST['delete']); break; default: if (array_key_exists('message', $_REQUEST)) { $message = $_REQUEST['message']; $messages = array('', __('Unable to authenticate OpenID.', 'openid'), __('OpenID assertion successful, but this URL is already associated with another user on this blog.', 'openid'), __('Added association with OpenID.', 'openid')); if (is_numeric($message)) { $message = $messages[$message]; } else { $message = htmlentities2($message); } $message = __($message, 'openid'); if (array_key_exists('update_url', $_REQUEST) && $_REQUEST['update_url']) { $message .= '<br />' . __('<strong>Note:</strong> For security reasons, your profile URL has been updated to match your OpenID.', 'openid'); } openid_message($message); openid_status($_REQUEST['status']); } break; } }