User:Mdann52/removeinterwiki.js

//imported from https://www.wikidata.org/w/index.php?title=User:Yair_rand/checksitelinks.js

$(function ($) { var translate = {    'en': {      removeinterwikis: "Remove interwikis",      summary: "Removed $2 sitelink(s) migrated to an item on Wikidata"    },    'be-tarask': {      removeinterwikis: "Выдаліць інтэрвікі",      summary: "Выдаленыя інтэрвікі перанесеныя ў Вікізьвесткі"    },    'bn': {      removeinterwikis: "আন্তঃউইকি সংযোগ সরানো",      summary: "$2টি সাইটলিঙ্ক সরানো হয়েছে, যা উইকিউপাত্তের আইটেমে স্থানান্তর করা হয়েছে"    },    'cs': {      removeinterwikis: "Odstranit interwiki",      summary: "$2 interwiki převedeno/a do položky na Wikidatech"    },    'de': {      removeinterwikis: "Interwiki-Links entfernen",      summary: "$2 Interwiki-Link(s) nach Wikidata ($1) migriert"    },    'eo': {      removeinterwikis: "Forigi intervikiojn",      summary: "$2 intervikioj transigitaj al ero en Vikidatumoj" },   'es': { removeinterwikis: "Eliminar interwikis", summary: "Eliminando los interwikis movidos a Wikidata" },   'fa': { removeinterwikis: "حذف میان‌ویکی‌ها", summary: "حذف $2 پیوند میان‌ویکی انتقال‌یافته به این آیتم در ویکی‌داده" },   'fi': { removeinterwikis: "Poista kielilinkit", summary: "Poistettu $2 Wikidatan sivulle $1 siirrettyä kielilinkkiä" },   'fr': { removeinterwikis: "Supprimer les liens interlangues", summary: "Retrait de $2 lien(s) interlangue(s), désormais fournis par Wikidata sur la page $1" },   'gl': { removeinterwikis: "Eliminar interwikis", summary: "Eliminando os interwikis movidos a Wikidata" },   'id': { removeinterwikis: "Hapus interwiki", summary: "Hapus $2 interwiki, migrasi ke item di Wikidata" },   'ilo': { removeinterwikis: "Agikkat kadagiti interwiki", summary: "Nagikkat kadagiti $2 a silpo ti sitio a naiyalis iti maysa a banag idiay Wikidata" },   'it': { removeinterwikis: "Rimuovi interlink", summary: "Rimossi $2 interlink trasferiti a un elemento su Wikidata" },   'ja': { removeinterwikis: "言語間リンクの除去", summary: "ウィキデータの項目に移行した言語間リンク $2 件を除去" },   'ko': { removeinterwikis: "인터위키 제거", summary: "위키데이터의 항목으로 이동한 $2개의 인터위키 링크 제거" },   'ku': { removeinterwikis: "Girêdanên înterwîkiyê jê bibe", summary: "Girêdanên ku derbasî Wikidatayê bûne jêbibe" },   'min': { removeinterwikis: "Hapuih interwiki", summary: "Hapuih $2 interwiki, migrasi ka item di Wikidata" },   'pl': { removeinterwikis: "Usuń linki interwiki", summary: "Przeniesiono linki interwiki ($2) do elementu na Wikidanych" },   'pt': { removeinterwikis: "Remover interwikis", summary: "Removidos $2 link(s) interlíngua(s) migrado(s) para um item do projeto Wikidata" },   'pt-br': { removeinterwikis: "Remover ligações para outros idiomas", summary: "Removidas $2 ligação(ões) para outros idiomas migradas para um item do projeto Wikidata" },   'ru': { removeinterwikis: "Удалить интервики", summary: "Удалённые интервики-ссылки ($2) перенесены в соответствующий элемент Викиданных" },   'sk': { removeinterwikis: "Odstrániť interwiki", summary: "$2 interwiki prevedených do položky na Wikiúdajoch" },   'ur': { removeinterwikis: "حذف بین الویکی روابط", summary: "حذف بین الویکی ربط برائے صفحہ ہذا از ویکی ڈیٹا" } };  var namespace = mw.config.get('wgNamespaceNumber'), lang = mw.config.get('wgPageContentLanguage'), m = translate[ lang ] || translate.en, page = namespace === 0 ? mw.config.get('wgTitle') : mw.config.get('wgFormattedNamespaces')[ namespace ] + ':' + mw.config.get('wgTitle').replace(/\/doc$|\/Dokumentácia$|\/Dokumentacija$/, ''), editbox = document.getElementById( "wpTextbox1" ); function removeInterwikis { document.body.style.cursor = "wait"; $.ajax({     url: '//www.wikidata.org/w/api.php',      data: {        'format': 'json',          'action': 'wbgetentities',          'sites': mw.config.get('wgDBname'),          'titles': page,          'props': 'sitelinks',          'languages': lang      },      dataType: 'jsonp',      success: function (data) {        if (data.success) {          for (var i in data.entities) {            if ( i != -1 ) {              var item = data.entities[i] && data.entities[i].sitelinks, numberremoved = 0;              if ( item ) {                for ( var ii in item ) {                  var reg = new RegExp( $.escapeRE( "[[" + item[ ii ].site.split("wiki")[0].replace(/_/g,"-") ) + ":" + // interwiki prefix                   item[ ii ].title.replace( /^([^:]+)(:.+)$/, function(pg, ns, title) { // page name                      return '(?:' + $.escapeRE( ns ) + '|' + $.escapeRE( mw.config.get('wgCanonicalNamespace') ) + ')' + $.escapeRE( title );                    } ) +                     "\\]\\]\\n?"                  );                  editbox.value !== (editbox.value = editbox.value.replace( reg, "" )) && numberremoved++;                }              }              var editsum = document.getElementById("wpSummary");              editsum && (editsum.value += ( m.summary || '' ).replace(/\$1/g, i.toUpperCase).replace(/\$2/g, numberremoved));            }          }        }        document.body.style.cursor = "";      }    });  }  editbox && $( mw.util.addPortletLink( 'p-cactions', '#', m.removeinterwikis ) ).on( "click", removeInterwikis); });