User:Plastikspork/date.js

// --------------------------------------- --------------------------------------- //

// ----------------------------------- Credits ------------------------------------ //

//

// This script was created by modifying the following scripts:

// User:Lightmouse/monobook.js/script.js

// Wikipedia:WikiProject User scripts/Scripts/Formatter

//

// This script is intended to be complimentary to these scripts with very little

// to no duplication of function.

// ---------------------------------- Disclaimer ---------------------------------- //

//

// Use at your own risk and make sure you check the edit changes before you save

//

// Let me know User_Talk:Plastikspork if you find bugs!

// ----------------------------- Installing the Script ---------------------------- //

//

// (1) Open/Create your USERNAME/monobook.js page, where USERNAME is your username.

// A quick way to get there is to go to your user page, then append

// '/monobook.js' to the end of the URL.

//

// (2) Put the following command on your monobook.js page:

// importScript('User:Plastikspork/date.js');

//

// (3) Save the page and reload it by following the instructions at the top of your

// monobook.js page. For example, Ctrl+Shift+R in Firefox.

// ------------------------------- Using the Script ------------------------------- //

//

// (1) Open an article which you would like to edit, and you should see a bunch of

// 'Spork' buttons in your 'toolbox' on the left side of your browser.

//

// (2) Click on one of the Spork buttons and the script will run, performing edits

// by pattern matches. When it is finished, it will show you the changes and

// add some comments to the edit summary. It is up to you to accept these

// changes as is by clicking 'Save page', modify the changes by further editing

// the edit form, or reject by leaving the page.

//

// Note: The script will run very slowly on very large pages, but it does always

// eventually complete in my experience.

// ----------------------------- Current Functionality ---------------------------- //

//

// [Sprk: cite date to mdy] Changes date = YYYY-MM-DD to date = Month DD, YYYY

//

// [Sprk: cite date to dmy] Changes date = YYYY-MM-DD to date = DD Month YYYY

//

// [UnSprk: cite date] Reverses prior two commands

// Set Default Button Names

if( typeof( SporkConfig ) == 'undefined' ) SporkConfig = {};

if( typeof( SporkConfig.cmdy ) == 'undefined' ) SporkConfig.cmdy = "Sprk: cite date mdy";

if( typeof( SporkConfig.cdmy ) == 'undefined' ) SporkConfig.cdmy = "Sprk: cite date dmy";

if( typeof( SporkConfig.unc ) == 'undefined' ) SporkConfig.unc = "UnSprk: cite date";

// --------------------------------------- --------------------------------------- //

// Import Spork-Tools scripts

importScript('User:Plastikspork/datetools.js');

// --------------------------------------- --------------------------------------- //

// Spork: cite date mdy

function spork_cite_to_mdy(clk) {

var txt = document.editform.wpTextbox1;

txt.value = spork_yyyymmdd_to_mdy(txt.value); // See User:Plastikspork/datetools.js

txt.value = spork_dmy_to_mdy(txt.value); // See User:Plastikspork/datetools.js

spork_edit_summary_date();

if(clk) document.editform.wpDiff.click();

}

// Spork: cite date dmy

function spork_cite_to_dmy(clk) {

var txt = document.editform.wpTextbox1;

txt.value = spork_yyyymmdd_to_dmy(txt.value); // See User:Plastikspork/datetools.js

txt.value = spork_mdy_to_dmy(txt.value); // See User:Plastikspork/datetools.js

spork_edit_summary_date();

if(clk) document.editform.wpDiff.click();

}

// Unspork: cite date

function spork_cite_to_yyyymmdd(clk) {

var txt = document.editform.wpTextbox1;

txt.value = spork_mdy_to_yyyymmdd(txt.value); // See User:Plastikspork/datetools.js

txt.value = spork_dmy_to_yyyymmdd(txt.value); // See User:Plastikspork/datetools.js

spork_edit_summary_date();

if(clk) document.editform.wpDiff.click();

}

// ----------------------------- interface Functions ----------------------------- //

function spork_edit_summary_date() {

// Add a tag to the summary box

var summary = "date formatting";

var txt = document.editform.wpSummary;

var fullsummary = "Script assisted " + summary;

if (txt.value.indexOf(summary) == -1) {

if (txt.value.match( /Script assisted [A-Za-z]/ )) {

txt.value = txt.value.replace( /Script assisted /, fullsummary + "/");

} else if (txt.value.match(/[^\*\/\s][^\/\s]?\s*$/)) {

txt.value += " | " + fullsummary;

} else {

txt.value += fullsummary;

}

}

}

$(function () {

if(document.forms.editform) {

if( SporkConfig.cmdy != "" )

mw.util.addPortletLink('p-tb', 'javascript:spork_cite_to_mdy(1)', SporkConfig.cmdy);

if( SporkConfig.cdmy != "" )

mw.util.addPortletLink('p-tb', 'javascript:spork_cite_to_dmy(1)', SporkConfig.cdmy);

if( SporkConfig.unc != "" )

mw.util.addPortletLink('p-tb', 'javascript:spork_cite_to_yyyymmdd(1)', SporkConfig.unc);

}

});

// Category:Wikipedia scripts