common.js/Attribution.js

Заўвага: каб пабачыць зьмены пасьля публікацыі, Вам можа спатрэбіцца ачысьціць кэш Вашага браўзэра.

  • Firefox / Safari: трымайце Shift і націсьніце Reload, ці націсьніце Ctrl-F5 ці Ctrl-R (⌘-R на Mac)
  • Google Chrome: націсьніце Ctrl-Shift-R (⌘-Shift-R на Mac)
  • Internet Explorer / Edge: трымайце Ctrl і націсьніце Refresh, ці націсьніце Ctrl-F5
  • Opera: націсьніце Ctrl-F5.
/* ; Скрыпт для фарматаваньня выгляду крыніцы імпартаваньня тэксту ў кароткім апісаньні зьменаў ; v1.0 ; Аўтар: [[Удзельнік:Zedlik]] ; Пры наяўнасьці пытаньняў можна зьвяртацца ў [[Вікіпэдыя:Форум]] або да [[Удзельнік:Zedlik]] */  // helper routines  var attributionSummaryPrefix = "крыніца — "; var attributionSummaryFieldOverridenMaxLength = 450;  // consts var attributionReplaceingPlaceholderPrefix = "MATCHEDPLACEHODER"; var attributionReplaceingPlaceholderPostfix = "A";  if (mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit') {     $(document).ready(function() {     var $el = $('#wpSummary');     if($el.length && $el.byteLimit) {         $el.byteLimit(450);     }     }); }  function getAttributionString(url, depth) {      var attributionNameForAttribution = null;     // var attributionNameForQuery = null;     var attributionDomain = null;     var attributionProject = null;     var attributionPage = null;     var revisionID = null;     var matchedString = null;     var secureConnection = false;      var url2 = url;      if (url2.match("https\\://secure\\.wikimedia\\.org/wiki(p|m)edia/([a-zA-Z-]{2,20})/(w|wiki)/.*") != null) {         url2 = url2.replace(new RegExp("https\\://secure\\.wikimedia\\.org/(wiki(?:p|m)edia)/([a-zA-Z-]{2,20})/((?:w|wiki)/.*)",''), "http://$2.$1.org/$3");         secureConnection = true;     }     else if (url2.match("https\\://.*") != null) {         url2 = url2.replace(new RegExp("https\\://(.*)",''), "http://$1");         secureConnection = true;     }      var p = new RegExp("http\\://([a-zA-Z-]{2,20})\\.(wiki(?:m|p)edia).org/wiki/([^\\? ;]{1,500})(\\?oldid=([0-9]{1,10}))?");     var result = p.exec(url2);     if (result != null) {         matchedString = result[0];         attributionDomain = result[1];         attributionProject = result[2];         attributionPage = result[3];         revisionID = result[5];     }     else {         p = new RegExp("http\\://([a-zA-Z-]{2,20})\\.(wiki(?:m|p)edia).org/w/index\\.php\\?title=([^\\& ;]{1,500})(\\&oldid=([0-9]{1,10}))?");         result = p.exec(url2);         if (result != null) {             matchedString = result[0];             attributionDomain = result[1];             attributionProject = result[2];             attributionPage = result[3];             revisionID = result[5];         }     }      attributionNameForAttribution = getPageNameForAttribution(attributionPage); //  attributionNameForQuery = getPageNameForQuery(attributionPage);      // var p2 = attributionNameForAttribution.replace("_", " ");     var p2 = attributionNameForAttribution.replace(" ", "_");      var attributionString = getAttributionStringA(attributionDomain, attributionProject, p2, revisionID, secureConnection);      if (!attributionString) {         attributionString = url;     }     else {         if (matchedString && attributionString && (matchedString.replace(/^https?/i, "") != attributionString.replace(/^https?/i, ""))) {             if (depth < 5) {                 var placeholder = attributionReplaceingPlaceholderPrefix + depth + attributionReplaceingPlaceholderPostfix;                 var matchedURL = url2.replace(matchedString, placeholder);                 matchedURL = getAttributionString(matchedURL, depth + 1);                 url2 = matchedURL.replace(placeholder, matchedString);             }                      attributionString = attributionSummaryPrefix + attributionString;             attributionString = url2.replace(matchedString, attributionString);         }         else {             if (secureConnection) {                 attributionString = url2.replace(attributionSummaryPrefix + "http://", attributionSummaryPrefix + getProtocol(secureConnection) + "://");             }             else {                 attributionString = url2;             }         }     }      return attributionString; }  function getAttributionStringA(domain, project, page, revid, secure) {     if (domain && project && page) {         var attributionType2;          if (!revid) {             attributionType2 = "[[" + domain + ":" + page.replace(/_/g, " ") + "]]";         }         else {             attributionType2 = getProtocol(secure) + "://" + domain + "." + project + ".org/wiki/" + page +"?oldid=" + revid;         }          return attributionType2;     }      return ""; }   function getPageNameForQuery(page) {      var p = new RegExp("^((\\%[0-9A-Fa-f]{2,2}|[!-~])*)$");     var result = p.exec(page);      if (result != null) {         // already unescaped         page = page.replace("_", "%20");         return page;     }      page = escape(encodeToUtf8(page));     page = page.replace("_", "%20");     return page; }  function getPageNameForAttribution(page) {      var p = new RegExp("^((\\%[0-9A-Fa-f]{2,2}|[!-~])*)$");     var result = p.exec(page);      if (result != null) {         // unescape          page = decodeFromUtf8(unescape(page));     }      page = page.replace("_", " ");     return page; }  function getProtocol(secure) {     var protocol = "http";     if (secure) {         protocol = "https";     }     return protocol; }  function encodeToUtf8(string) {     string = string.replace(/\r\n/g,"\n");     var utftext = "";      for (var n = 0; n < string.length; n++) {          var c = string.charCodeAt(n);          if (c < 128) {             utftext += String.fromCharCode(c);         }         else if((c > 127) && (c < 2048)) {             utftext += String.fromCharCode((c >> 6) | 192);             utftext += String.fromCharCode((c & 63) | 128);         }         else {             utftext += String.fromCharCode((c >> 12) | 224);             utftext += String.fromCharCode(((c >> 6) & 63) | 128);             utftext += String.fromCharCode((c & 63) | 128);         }      }      return utftext; }   function decodeFromUtf8(utftext) {     var string = "";     var i = 0;     var c = c1 = c2 = 0;      while ( i < utftext.length ) {          c = utftext.charCodeAt(i);          if (c < 128) {             string += String.fromCharCode(c);             i++;         }         else if((c > 191) && (c < 224)) {             c2 = utftext.charCodeAt(i+1);             string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));             i += 2;         }         else {             c2 = utftext.charCodeAt(i+1);             c3 = utftext.charCodeAt(i+2);             string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));             i += 3;         }     }      return string; }  // hook if (mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit') {     $(function() {         var wpSummary = document.getElementById('wpSummary')         if(!wpSummary) {             return; // поле кароткіх зьменаў ня знойдзенае         }                  wpSummary.setAttribute('maxlength', attributionSummaryFieldOverridenMaxLength);                  $('#wpSave').on('click', function() { adoptAttributionStringForSummary(); });         $('#wpPreview').on('click', function() { adoptAttributionStringForSummary(); });         $('#wpDiff').on('click', function() { adoptAttributionStringForSummary(); });     });     }  function adoptAttributionStringForSummary(e) {      var wpSummary = document.getElementById('wpSummary')          if(!wpSummary) {         return true; // поле кароткіх зьменаў ня знойдзенае     }          var summaryValue = wpSummary.value;     summaryValue = getAttributionString(summaryValue, 0);     wpSummary.value = summaryValue;          return true; } 

Tags:

🔥 Trending searches on Wiki Беларуская (тарашкевіца):

987Расейская імпэрыя2011Лос-АнджэлесМарат Маркаў1970ПрытчаКунілінгусБісэксуальная парнаграфія.sd.yuЮзэф Пілсудзкі.kh.na.cn.hmІнтэрабангАнатоль СысЛюблінская уніяГалоўная старонкаСказАдраджэньне мовыЗора Кіпель1990Абрэвіяцыя.ba6036ГАЗ-53Нямецка-савецкая вайнаХрыстос прызямліўся ў ГародніПолацак187819111969.hn23Герб БеларусіЦыбуля (расьліна)Міхал Федароўскі33КазяльцовыяПінскі павет.gbАральны сэксБусел белы.rw.vnГісторыя Брагіна1979.npБрысбэйн.maСельская гаспадаркаМаксім ГарэцкіМайкрасофтПатрыярх (царкоўны сан)Злучаныя Штаты Амэрыкі9 траўняБеларускі нацыянальны стройПаўночна-Заходні крайБраслаўскі раёнOnliner.by.myISSN.neЗьбіцьцё дэпутатаў у будынку Вярхоўнага Савету (1995).bw200618707-ZipАляксандар Лукашэнка.gl🡆 More