User:Pathoschild/common.js

///NOTE TO SELF: switch to monobook skin to use production scripts

//

mw.loader.load( "https://meta.wikimedia.org/w/index.php?title=User:Zhaofeng_Li/Reflinks.js&action=raw&ctype=text/javascript" );//importScript('User:Ucucha/HarvErrors.js');

importScript("User:PleaseStand/segregate-refs.js");

importScript("User:Ohconfucius/test/EngvarB.js"); //Engvar

importScript("User:Ohconfucius/dashes.js");

importScript("User:Splarka/diffreveal.js"); //reveals unicode characters when viewing diffs

importScript("User:Ohconfucius/script/flagcruft.js"); //flagcruft, tablesort

importScript("User:Ohconfucius/test/formatgeneral.js");

importScript("User:Ohconfucius/script/tometricunits.js");

importScript("User:Ohconfucius/test/MOSNUM dates.js");

importScript("User:Ohconfucius/test/Common Terms.js");

importScript("User:Ohconfucius/test/Sources.js");

importScript("User:Ohconfucius/script/foreigndates.js");

mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript');

importScript('User:Evad37/duplinks-alt.js'); // User:Evad37/duplinks-alt

// a collection of single-purpos regexes are stored at "User:Ohconfucius/test/throwaway_regexes"

/**** dyk ****/

// User:Dr pda/prosesize.js

importScript('User:Dr pda/prosesize.js'); //User:Dr pda/prosesize.js

/**** afd helper ****/

mw.loader.load//en.wikipedia.org/w/index.php?title=User:Jnothman/afd_helper/script.js&action=raw&ctype=text/javascript');

/* This is to keep track of who is using this extension: User:Jnothman/afd_helper/script.js */

/** ------------------------------------------------------------------------ **/

/// EDIT SUMMARIES & USE DMY TEMPLATE

function Ohc_edit_summary1() {

//Add a tag to the summary box

// setoptions(minor='true') //removed ",watch='false'" in response to user notification 13 Nov. 2010

setreason('Script-assisted style fixes', 'appendonce');

doaction('diff');

}

function Ohc_edit_summary2(editor) {

editor

.options({ minor: false, watch: false })

.appendEditSummary('Script-assisted style fixes and per CS1')

.clickDiff();

}

function Ohc_for_AWB(editor) {

editor

.replace(/([\s\t]+)(?:regex|txt.value=txt.value.replace)\(\//gi, '$1ArticleText=Regex.Replace(ArticleText, @"(?i)')

.replace(/\/gi, [\'\"]/gi, '", "')

.replace(/\'(\);[\s\t]*)/gi, '"$1');

}

function Ohc_transcripts() {

regex(/(\d?:|)\d\d?:\d\d\n/gi, '');

regex(/(\w,?)\s?\n/gi, '$1 ');

}

function Ohc_for_Petscan() {

regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3_$4_$5_$6_$7_$8&action=edit $1_$2_$3_$4_$5_$6_$7_$8]');

regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3_$4_$5_$6_$7&action=edit $1_$2_$3_$4_$5_$6_$7]');

regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3_$4_$5_$6&action=edit $1_$2_$3_$4_$5_$6]');

regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3_$4_$5&action=edit $1_$2_$3_$4_$5]');

regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3_$4&action=edit $1_$2_$3_$4]');

regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3&action=edit $1_$2_$3]');

regex(/\[\[([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2&action=edit $1_$2]');

regex(/\[\[([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1&action=edit $1]');

}

function Ohc_insert_tag() {

var txt=document.editform.wpTextbox1;

// current month-year

var currentDate = new Date();

var currmonth = currentDate.getMonth();

var curryear = currentDate.getFullYear();

var myMonths = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

var curryyyymm = myMonths[currmonth] + ' ' + curryear;

/// insert 'use British English' template

txt.value=txt.value.replace(/\{\{(Use Australian English\s?)(\|[^}]*)?\}\}/gi, '{{$1|date='+curryyyymm+'}}');

txt.value=txt.value.replace(/\{\{(Use (?:Bangladeshi|Commonwealth|Pakistani|Irish|Scottish|Singapore|Hong Kong|Indian|New Zealand|South African) English\s?)(\|[^}]*)?\}\}/gi, '{{EngvarB|date='+curryyyymm+'}}');

txt.value=txt.value.replace(/\{\{(?:use British(?: \(Oxford\)|) English)(\|[^}]*)?\}\}/gi, '{{EngvarB|date='+curryyyymm+'}}');

txt.value=txt.value.replace(/\{\{Engvar[A-Z][a-z]*\s?(\|[^}]*)?\}\}/gi, '{{EngvarB|date='+curryyyymm+'}}');

var rxpdd = new RegExp("{{(Use (?:Australian|Scottish|British|Indian|New Zealand|South African) English|EngvarB)\\|date="+curryyyymm+"}}", "gi");

var dflagfound = txt.value.search(rxpdd);

if (dflagfound == -1)

{

txt.value='{{EngvarB|date='+curryyyymm+'}}\r\n'+txt.value;

}

}

/** ------------------------------------------------------------------------ **/

/// COMPOSITE SCRIPT DRIVERS

function ONETOUCH_DMY(editor) {

// Add a tag to the summary box

var txt=document.editform.wpTextbox1;

//Ohc_ref_format();

Ohc_retrain_links();

Ohc_CommonTerms();

//ohc_replaceflag();

ohc_delink_dates(editor);

ohc_expand_ref_dates(editor);

ohc_protect_dates(editor);

ohc_fix_unambiguous_dates(editor);

ohc_body_dates_to_dmy(editor);

ohc_delink_year_in_X(editor);

ohc_dmy_publication_dates(editor);

ohc_delink_ISO_to_dmy(editor);

ohc_unprotect_dates(editor);

autoEdFunctions(); //dashes

Ohc_formatgeneral();

ohc_sources_driver(editor);

Ohc_edit_summary2(editor);

}

function ONETOUCH_MDY(editor) {

// Add a tag to the summary box

var txt=document.editform.wpTextbox1;

// Ohc_ref_format();

Ohc_CommonTerms();

ohc_delink_dates(editor);

ohc_expand_ref_dates(editor);

ohc_protect_dates(editor);

ohc_fix_unambiguous_dates(editor);

ohc_body_dates_to_mdy(editor);

ohc_delink_year_in_X(editor);

ohc_mdy_publication_dates(editor);

ohc_delink_ISO_to_mdy(editor);

ohc_unprotect_dates(editor);

autoEdFunctions(); //dashes

Ohc_formatgeneral();

ohc_sources_driver(editor);

Ohc_edit_summary2(editor);

}

function ohc_sources_driver(editor) {

Ohc_remove_urls();

ohc_protect_urls();

Ohc_sources_prep();

ohc_foreign_dates();

Ohc_unpipe();

Ohc_dab_news_sources();

Ohc_sourcename();

Ohc_sourcework();

Ohc_sourcepub();

Ohc_sourceagency();

Ohc_redo_pipe();

Ohc_publishers();

Ohc_sources_cleanup();

ohc_unprotect_urls();

}

function ONETOUCH_FMT(editor) {

// Add a tag to the summary box

var txt=document.editform.wpTextbox1;

Ohc_CommonTerms();

autoEdFunctions(); //dashes

ohc_sources_driver(editor);

Ohc_formatgeneral();

Ohc_edit_summary2(editor);

}

/** ------------------------------------------------------------------------ **/

/**

* TemplateScript adds configurable templates and scripts to the sidebar, and adds an example regex editor.

* @see https://meta.wikimedia.org/wiki/TemplateScript

* @update-token File:Pathoschild/templatescript.js

*/

$.ajax('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js', { dataType:'script', cache:true }).then(function() {

pathoschild.TemplateScript.add(

[

//{ name: 'delink dates', script: function(editor) { ohc_delink_dates(editor); }, tooltip: 'delink dates' },

{ name: 'One Touch: DMY', script: function(editor) { ONETOUCH_DMY(editor); }, tooltip: 'day month + CT' },

{ name: 'One Touch: MDY', script: function(editor) { ONETOUCH_MDY(editor); }, tooltip: 'month day + CT' },

{ name: 'One Touch: FORMAT', script: function(editor) { ONETOUCH_FMT(editor); }, tooltip: 'general fmt, CT + cites' },

//{ name: 'Make AWB', script: function(editor) { Ohc_for_AWB(editor); }, tooltip: 'Make AWB code' },

//{ name: 'Expand dates', script: function(editor) { ohc_refs_to_yyyymmdd(editor); }, tooltip: 'yyyy-mm-dd' },

{ name: 'SLASH-US', script: function(editor) { ohc_US_slash_dates_to_mdy(editor); }, tooltip: 'US-slash' },

{ name: 'SLASH-UK', script: function(editor) { ohc_UK_slash_dates_to_dmy(editor); }, tooltip: 'UK-slash' },

],

{ category: 'General' }

);

});

//