<?php
/*
 * Plugin Name: Reset Pointer
 * Description: Reset a WordPress 3.3 pointer by appending ?reset-pointer=POINTER_ID to an admin URL.
 */

add_action( 'admin_init', 'reset_pointer' );

function reset_pointer() {
	if ( ! isset( $_REQUEST['reset-pointer'] ) )
		return;

	$meta = (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true );
	$meta = str_replace( $_REQUEST['reset-pointer'], '', $meta );
	$meta = str_replace( ',,', ',', $meta );
	$meta = trim( $meta, ',' );

	update_user_meta( get_current_user_id(), 'dismissed_wp_pointers', $meta );
}