User:Zhaofeng Li/SignMe.js

/*	SignMe Fetches the user signature via ResourceLoader, and appends it to the textbox with a timestamp. This is only a proof-of-concept!

// returns a signature, using the standard format function SignMe_getSignature { var months = new Array( "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ); var date = new Date; var username = mw.config.get("wgUserName"); if ( username === null ) { // not logged-in! mw.log( "Unable to sign - Not logged-in" ); return null; } else { var signature = mw.user.options.get("nickname"); if ( signature === null ) { // no custom signature set signature = "User:" + username + ""; }		// omfg this is messy... var hours = date.getUTCHours; if ( hours < 10 ) hours = "0" + hours; var minutes = date.getUTCMinutes; if ( minutes < 10 ) minutes = "0" + minutes; var timestamp = hours + ":" + minutes + ", " + date.getUTCDate + " " + months[date.getUTCMonth] + " " + date.getUTCFullYear + " (UTC)"; return signature + " " + timestamp; } }

// appends the signature to the textbox // this assumes #wpTextbox1 is present function SignMe_appendSignature { var signature = SignMe_getSignature; if ( signature !== null ) { $( "#wpTextbox1" ).val( $( "#wpTextbox1" ).val + signature ); return true; } else { return false; } }

// init if ( $( "#wpTextbox1" ).length ) { var SignMe_portlet = mw.util.addPortletLink( "p-tb", "#", "SignMe" ); $( SignMe_portlet ).click( SignMe_appendSignature ); }