function Ohc_redo_pipe(){
// repiping ambiguous links created - magazines
var table = [
'(Ability|Above|Above&Beyond|Absolute Magnitude|Acoustic|Acoustic Guitar|Ad Astra|Adventure|Adventure Gaming|Aerial|Aerie|African Film|After Dark|Afterimage|Aggregation|Aircraft Recognition|Airliners|Al Bayan|Al Fatat|Al Yamamah|Al-Arabi|Alarm|Alaska|Album|Alcheringa|Algol|Al-Hilal|Alive|Al-Khansaa|Alligator Juniper|Allure|Al-Manar|Alpinist|Alter Ego|Alula|Amandla|Amateur Gardening|Ambit|America|American Digger|American Health|American Heritage|American Renaissance|American Way|Amerika|Amina|Amusement|Anarchy|Ancient Egypt|Ancient Warfare|Animation|Answer Me!|Antaeus|Antic|Antiques|Äntligen Hemma|Aperture|Apollo|Araragi|Arcadia|Archaeology|Architecture|Archive|Arena|Argia|Argo Navis|Argosy|Arkangel|Armadillo|Armor|Army Man|Art of the West|Artes|Arthur|Artrocker|Ascent|Aspen|Astronomy|Atalanta|Atlanta|Atlántica|Atlántida|Atlas|Atomic|Attitude|Audience|Audio|AudioFile|Audrey|Audubon|Australian Aviation|Automobile|Automotive Industries|Avant Garde|Avenue|AVN|Azari|Azure)',
'(Backbone|Bent|Billboard|Blender|Boards|Bomb|Border Crossings|Boxoffice|Brainstorm|Brick|British Birds|Broadcast|BRW|Building|Business Matters|Business Plus|Byte)',
'(Campaign|Cashbox|CFO|Chapman|Chief Executive|Civil Lines|Clash|Clear|Close Up|Closer|Clutch|CODA|Colors|Computer|Contagious|Contemporary|Continuum|Control Engineering|Converting|Cosmopolitan|Cracked|Creative Nonfiction|Creativity|Cricket|Curve)',
'(Dazed & Confused|Descant|Destiny|Develop|Diesel Power|DineroDazed & Confused|Descant|Destiny|Develop|Diesel Power|Dinero)',
'(Entrepreneur|Ebony|Elle|Emergency Nurse|Empire|Engineering|Esquire|Essence|Ethos|Exame|Expert)',
'(Facta|Fairplay|Fanfare|Fantastic Man|Fast Car|Field Artillery|Filmmaker|Fire Chief|Flaunt|Flying|Food Technology|Format|Fortune|frieze|Frontline|Futures|FX)',
'(Game Developer|Gangway|Geist|Gemini|Glamour|Global Finance|Goldenseal|Good Morning|Grain|Gramophone|Grooves|Gyro)',
'(Habitat|Hazards|Hello|Hotels|I\\.D\\.|Imagination|In the Family|Inc\\.|Industrial Minerals|Innovation|Inside Golf|Inspire|Intelligent Enterprise|Interview|Investigate|Investment Advisor)',
'(Jazz At Ronnie Scott\'s|Jet|Jp)',
'(Kawanku|Klan|Kmt|Kurmanci)',
'(Latino Money|Liberty|Life|Life & Style|Light Metal Age|Limelight|Links|Lobster|Logistics Management)',
'(Marg|Marketing|Marmalade|Maxim|Mix|Mojo|Money|Ms\\.|Muse|Musician)',
'(National Geographic|National Lampoon|Naval Review|Nerve|Nest|Newsline|New Moon|New South|Nightshift|No Compromise|New York|Nuts)',
'(Opera|Optimize|Opus|Outlook|Overload)',
'(Pageant|Parabola|Parade|Parent(?:ing|)|Paste|Peer Review|People|Performance Car|Plan|Poetry|Polite|Preservation|Prevention|Primary Health Care|Proceedings|Profit|Prospect|Purchasing|Purple|Putt)',
'(Q|R&R|Radio|Ray|Reason|Revolution|Rubbish)',
'(Safeguard|Sales Promotion|Science|Security Management|Sha[pv]e|Shook|Slate|Smallholder|Sounds|Southeast Asia Building|Spectroscopy|Speech Technology|Spin|Sport|Standpoint|Stern|Straight No Chaser|Strategie|Sunstone|Supply Management|SWA|Swindle)',
'(Taxation|Time|Time Out|Top Gear|Travel Agent|Trend|Trouble|Trust|TWX)',
'(The (?:Accountant|Antiquary|Artist|Believer|Business|Common|Current|Cut|Deal|Engineer|Executive|Fly|Music Trades|Rebel|Reporter))',
'(Uncut|Upside|Vanity Fair|Variant|Variety|Venture|Vibe|Village|Vogue|Vs\\.|Waters|Wired|Wood|Worth)',
];
for (i=0; i<table.length; i++) {
var expr = [
['(<ref[^>]*>[^<]+?\\s\'\'\\\[\\[)', '(\\]\\]\'\'(?:[^\\w ][^\\]<]*?|)<\\/ref>)'],
['((?:journal|newspaper|periodical|work)\\s*=\\s*\\[\\[)', '(\\]\\][\\s]*[\\|\\}])'],
];
for (j=0; j<expr.length; j++) {
var re = new RegExp(expr[j][0] + table[i] + expr[j][1], 'g')
regex(re, '$1$2 \(magazine\)|$2$3')
}
}
regex(/((?:journal|newspaper|periodical|work)\s*=\s*\[\[)(Nature|Science)(\]\])/g, '$1$2 (journal)|$2$3');
regex(/(''\[\[)(Nature|Science)(\]\]'')/g, '$1$2 (journal)|$2$3');
regex(/((?:journal|newspaper|periodical|work)\s*=\s*\[\[)(Salon)(\]\])/g, '$1$2 (website)|$2$3');
regex(/(''\[\[)(Salon)(\]\]'')/g, '$1$2 (website)|$2$3');
regex(/((?:journal|newspaper|periodical|work)\s*=\s*\[\[)(Marca|Spits)(\]\])/g, '$1$2 (newspaper)|$2$3');
regex(/(''\[\[)(Marca|Spits)(\]\]'')/g, '$1$2 (newspaper)|$2$3');
regex(/((?:publisher)\s*=\s*\[\[)(Bloomberg)(\]\])/g, '$1$2 L.P.|$2$3');
// regex(/(\[\[)(Bloomberg)(\]\])/g, '$1$2 L.P.|$2$3');
}
function Ohc_unpipe(){
//undo awkward or unnecessary piped links – replaces piping with direct output string
var table = {
// 'Foobar,? Inc(?:orporated|\\.|)': 'Foobar Inc.',
// '(?:Foobar,? Inc(?:orporated|\\.|))': 'Foobar Inc.',
'(?:(?:the |)(?:daily |london |)|www\\.|)times(?:online\\.co\\.uk| online| newspaper| \\((?:newspaper|uk|united kingdom)\\)|)': 'The Times',
'(?:(?:the |)(?:daily |london |)|www\\.|)(?:telegraph|torygraph)(?:\\.co\\.uk| online| newspaper| \\((?:newspaper|uk|united kingdom)\\)|)': 'The Daily Telegraph',
'Belfast ?(?:Telegraph|telegraph\\.co\\.uk)': 'The Belfast Telegraph',
'(?:(?:the |)(?:daily |london |manchester |)|www\\.|media ?|education ?|)(?:guardian|grauniad)(?:\\.co(?:m|\\.uk)| unlimited| newspaper| \\((?:newspaper|uk|united kingdom)\\)|)': 'The Guardian',
'(?:(?:the |www\\.|)(?:New ?York ?|ny ?))times(?:\\.com| \\((?:ny|new york)\\)|)': 'The New York Times',
'Time,? Inc(?:orporated|\\.|)': 'Time Inc.',
'(?:la ?times(?:\\.com|)|L\\. ?A\\. Times)': 'Los Angeles Times',
'(?:the ?|)Los Angeles Times': 'Los Angeles Times',
'(?:chicago ?|)sun[ -]?times(?:\\.com|)': 'Chicago Sun-Times',
'chicagotribune(?:\\.com|)': 'Chicago Tribune',
'miami ?herald(?:\\.com|)': 'The Miami Herald',
'(?:chron|houstonchronicle)(?:\\.com|)': 'Houston Chronicle',
'(?:sf ?gate|SF ?Chronicle)(?:\\.com|)': 'San Francisco Chronicle',
'denver ?post(?:\\.com|)': 'The Denver Post',
'contracostatimes(?:\\.com|)': 'Contra Costa Times',
'freep(?:\\.com|)': 'Detroit Free Press',
'newsday(?:\\.com|)': 'Newsday',
'insidebayarea(?:\\.com|)': 'Oakland Tribune',
'philly\\.com': 'Philadelphia Daily News',
'mercurynews(?:\\.com|)': 'San Jose Mercury News',
'(?:seattle ?)pi(?:\\.com|)': 'Seattle Post-Intelligencer',
'(?:the ?|)(?:seattle |)post[- ]intelligencer': 'Seattle Post-Intelligencer',
'startribune(?:\\.com|)': 'Star Tribune',
'tampabay(?:times|)(?:\\.com|)': 'Tampa Bay Times',
'(?:azcentral|az ?republic)(?:\\.com|)': 'The Arizona Republic',
'dallasnews(?:\\.com|)': 'The Dallas Morning News',
'oregonlive(?:\\.com|)': 'The Oregonian',
'philly\\.newspaperdirect\\.com': 'The Philadelphia Inquirer',
'(?:cleveland(?:\\.com)|plain ?dealer)': 'The Plain Dealer',
'(?:(?:sandiegouniontribune|signonsandiego|utsandiego)(?:\\.com|)|(?:the |)San Diego Union[- ]Tribune)': 'The San Diego Union-Tribune',
'seattle ?times(?:\\.com|)': 'The Seattle Times',
'nj(?:\\.com)': 'The Star-Ledger',
'usatoday(?:\\.com|)': 'USA Today',
'(?:Christian ?Science ?Monitor|csmonitor)(?:\\.com|)': 'The Christian Science Monitor',
'Christian ?post(?:\\.com|)': 'The Christian Post',
'smh(?:\\.com\\.au|)': 'Sydney Morning Herald',
'The Sydney Morning Herald': 'Sydney Morning Herald',
'theage(?:\\.com\\.au|)': 'The Age',
'theaustralian(?:\\.com\\.au|)': 'The Australian',
'canberra ?times(?:\\.com\\.au|)': 'The Canberra Times',
'(?:the ?|)herald ?sun(?:\\.com\\.au|)': 'Herald Sun',
'nzherald(?:\\.co\\.nz|\\.com|)': 'The New Zealand Herald',
'New Zealand Herald': 'The New Zealand Herald',
'(?:(?:the|)globeandmail(?:\\.com|)|globe (?:and|&) mail)': 'The Globe and Mail',
'(?:the ?|)(?:Toronto |)Globe and Mail': 'The Globe and Mail',
'(?:the ?|)national ?post(?:\\.com|)': 'National Post',
'(?:the ?|)ottawa ?citizen(?:\\.com|)': 'Ottawa Citizen',
'theprovince(?:\\.com|)': 'The Province',
'thestar(?:\\.com)': 'Toronto Star',
'the ?toronto ?star(?:\\.com|)': 'Toronto Star',
'(?:the |)toronto ?sun(?:\\.com|)': 'Toronto Sun',
'vancouver ?sun(?:\\.com|)': 'The Vancouver Sun',
'(?:the ?|)Winnipeg ?free ?press(?:\\.com|)': 'Winnipeg Free Press',
'Foobar,? Inc(?:orporated|\\.|)': 'Foobar Inc.' //placeholder end of file
};
var word, newWord;
for (var word in table) {
newWord = '$1' + table[ word ] + '$2';
newWord3 = '$1\[\[' + table[ word ] + '\]\]$2';
var txt="";
try {
// source names that are agencies - linked –>unlinked
var re = new RegExp('([ ]*=[ ]*\\[\\[)' + word + '(?:\\|[^\\]]*)(\\]\\][\\s\\.]*[\\|\\}])', 'gi');
regex( re, newWord );
// unitalicise agency name - unlinked
var re = new RegExp('(<ref[^>]*>[^<]+?\\s\'\')\\[\\[' + word + '\\|[^\\]]*\\]\\](\'\'(?:[^\\w ][^\\]<]*?|)<\\/ref>)', 'gi');
regex(re, newWord3); //NOTE: adaptation to linked sources and relink is built into 'newWord3'
}
catch(err) {
txt="There was an error on function Ohc_undo_piped(), when changing '"+ word + "' => '"+ table[word] +"'.\n\n";
txt+="Error: " + err.message + "\n\n";
txt+="Click OK to continue.\n\n";
alert(txt);
}
}
//undo awkward or unnecessary piped links – replaces piping with direct output string
var table = {
// 'Foobar,? Inc(?:orporated|\\.|)': 'Foobar Inc.',
// '(?:Foobar,? Inc(?:orporated|\\.|))': 'Foobar Inc.',
'Haymarket (?:(?:Media |)Group|Media|Press|Publishing)': 'Haymarket Media Group',
'pc ?world(?:\\.com| magazine| \\(magazine\\)|)': 'PC World',
'Formula ?(?:1|One)(?:\\.com| Group| Administration)': 'Formula One',
'The ?verge(?: \\(website\\)|\\.com)': 'The Verge',
'aap(?:\\.com\\au|)': 'Australian Associated Press',
'(?:ap(?:\\.org|\\.com|)|(?:The ?|)Associated Press)': 'Associated Press',
'(?:afp(?:\\.com|)|Agence France[- ]Presse?)': 'Agence France-Presse',
'kyodo ?news(?:\\.com|\\.jp|)': 'Kyodo News',
'pressassociation(?:\\.com|)': 'Press Association',
'pr ?newswire(?:\\.com|)': 'PR Newswire',
'dpa(?:\\.com|)': 'Deutsche Presse-Agentur',
'maan ?news(?: ?agency|)(?:\\.net|)': 'Ma\'an News Agency',
'reuters(?:\\.com|)': 'Reuters',
'(?:rian(?:\\.com|\\.ru|)|RIA ?Novosti)': 'RIA Novosti',
'(?:Syrian Arab News Agency|sana\\.sy)': 'Syrian Arab News Agency',
'upi(?:\\.com|)': 'United Press International',
'xinhua(?:(?:net|)\\.com|\\.com\\.cn|)': 'Xinhua News Agency',
'Foobar,? Inc(?:orporated|\\.|)': 'Foobar Inc.' //placeholder end of file
};
var word, newWord;
for (var word in table) {
newWord = '$1' + table[ word ] + '$2';
newWord3 = '$1\[\[' + table[ word ] + '\]\]$2';
var txt="";
try {
// source names that are agencies - linked –>unlinked
var re = new RegExp('([ ]*=[ ]*\\[\\[)' + word + '(?:\\|[^\\]]*)(\\]\\][\\s\\.]*[\\|\\}])', 'gi');
regex( re, newWord );
// unitalicise agency name - unlinked
var re = new RegExp('(<ref[^>]*>[^<]+?\\s)\'\'\\[\\[' + word + '\\|[^\\]]*\\]\\]\'\'((?:[^\\w ][^\\]<]*?|)<\\/ref>)', 'gi');
regex(re, newWord3); //NOTE: adaptation to un-italicise linked sources and relink is built into 'newWord3'
}
catch(err) {
txt="There was an error on function Ohc_undo_piped(), when changing '"+ word + "' => '"+ table[word] +"'.\n\n";
txt+="Error: " + err.message + "\n\n";
txt+="Click OK to continue.\n\n";
alert(txt);
}
}
}
$(function () {
if(document.forms.editform) {
// mw.util.addPortletLink('p-tb', 'javascript:function_name()', 'Button name', 't-dmy', 'Hover text', '', '');
// mw.util.addPortletLink('p-tb', 'javascript:Ohc_redo_pipe()', 'Redo pipe', 't-citefix', 'Reconstruct source pipes – subscript3', '', '');
mw.util.addPortletLink('p-tb', 'javascript:Ohc_unpipe()', 'Unpipe', 't-citefix', 'Undo awkward source pipes – subscript3', '', '');
}
});