MediaWiki:Wikibugs.js

ХӀара гӀирс Википеди чуьра бу — маьрша энциклопеди

Билгалдаккхар: Ӏалашйинчул тӀаьхьа хийцамаш га браузеран кэш цӀанйан йезаш хила мега.

  • Firefox / Safari: Shift тӀетаӀийна йитина, гӀирсийн панелан тӀера тӀетаӀайе Карлайаккха йа Ctrl+F5 йа Ctrl+R (⌘+R Mac тӀехь)
  • Google Chrome: тӀетаӀайе Ctrl+Shift+R (⌘+Shift+R Mac тӀехь)
  • Internet Explorer / Edge: тӀетаӀийна йитина Ctrl, тӀетаӀайе Карлайаккха йа тӀетаӀайе Ctrl+F5
  • Opera: тӀетаӀайе Ctrl+F5.
/*
; Хьост: http://pl.wikipedia.org/wiki/MediaWiki:Wikibugs.js
; Нохчашна аттон нисйинарг: [[User:Sasan700]] Mayrtupho.
*/

var wb$description = "Дехар до, гӀалатах лаце мадарра йазде. Хьай аттуне хьаже, йазде хьай хааман хьост."
var wb$badPages = new Array(
  "Википеди:ГӀалатех хаам бар",
  "Коьрта агӀо"
)
 
$(function()
{
  var el = document.getElementById('n-bug_in_article')
 
  if (el)
    el.getElementsByTagName('a')[0].onclick= wb$popWikibug
})
 
function wb$popWikibug()
{
	
  var link_wiki = mw.config.get('wgArticlePath').replace(/\$1/, 'вики')
  var link_tocreate = mw.config.get('wgArticlePath').replace(/\$1/, 'Википеди:Кхолламна')
  var link_bebold = mw.config.get('wgArticlePath').replace(/\$1/, 'Википеди:Майра_нисйе')
  var link_buglist = mw.config.get('wgArticlePath').replace(/\$1/, 'Википеди:ГӀалатех_хаам_бар')
 
  wb$popBugBoth("Википеди:ГӀалатех хаам бар", '\
    <div style="float:right;width:200px;padding:4px 10px;margin:2px 0px 0px 10px;font-size:90%;border:2px solid #900"><p><strong>Ма бе\u00A0хаам</strong> оцу\u00A0гӀалатах кхечу\u00A0машан меттигехь (масалла, <strong>«Оцу\u00A0Кехат йаздо зӀе чохь»</strong> йа <strong>«Цхьандешархой чу»</strong>), уьш тергал йира йац.</p>\
    <p>Леху агӀо йацахь\u00A0Википеди\u00A0— \u00A0чохь иза гlалат дац, ахьа хаам ба мегар ду <a href="' + link_tocreate + '">иза кхолла аьлла</a>.</p></div>\
    <p style="margin-top:0px">Нагахь хьуна гӀалато гинехь\u00A0Википеди чохь, дехар до, айхьа нисде иза гӀалат, кху чохь\u00A0болу гӀирс лелош <a href="' + link_wiki + '">вики</a> атто бакъо ло иза нисйа. Ма\u00A0изало, цхьан\u00A0Википеди бакъоно боху: «<a href="' + link_bebold + '">Дог майра нисйайша</a>»! Нагахь хьога\u00A0нислуш йацахь хаам бе айхь, хаам бе\u00A0оцу\u00A0болш болучу барамца.</p><p><strong>Нагахь гӀалато нисдинехь\u00A0— ма\u00A0байша хаам\u00A0оцуьнах лаьцна.</strong></p><p>Ма\u00A0йаздайша шай зӀе терахь/йа кехат йаздо зӀе цӀе а, оцу\u00A0хааман жоп кхузехь бе лурдац\u00A0оцу\u00A0хаамашан.</p>\
    <ul><li><a href="' + link_buglist + '">ХӀокху ханна гӀалатан хааман могӀам.</a></li></ul>\
    ')
  return false
}
 
function wb$getEditToken(page)
{
  var objhttp = (window.XMLHttpRequest) ? new XMLHttpRequest(): new ActiveXObject('Microsoft.XMLHTTP')
  if (!objhttp)
    return
  objhttp.onreadystatechange=function() {
    if (objhttp.readyState == 4) {
      if (objhttp.status == 200) {
        var r_sti = /value="(\d+)" name=["']wpStarttime["']/
        var r_eti = /value="(\d+)" name=["']wpEdittime["']/
        var r_etk = /value="(.*?)" name=["']wpEditToken["']/
        var r_asm = /name="wpAutoSummary" type="hidden" value="(.*?)"/
        sti = r_sti.exec(objhttp.responseText)
        eri = r_eti.exec(objhttp.responseText)
        etk = r_etk.exec(objhttp.responseText)
        asm = r_asm.exec(objhttp.responseText)
        document.getElementById('Starttime').value=sti[1]
        document.getElementById('Edittime').value=eri[1]
        document.getElementById('EditToken').value=etk[1]
        document.getElementById('AutoSummary').value=asm[1]
      }
      else
        alert(objhttp.status)
    }
  }
  objhttp.open("GET", mw.config.get('wgServer')+mw.config.get('wgScript')+"?title="+encodeURIComponent(page)+"&action=edit")
  objhttp.send("")
}
 
function wb$isValidPageName(name)
{
  if (name == "")
    return false
  if (name.substr(0, 10) == "Special:")
    return false
  name = name.replace(/_/g, " ")
  for (var i = 0; i < wb$badPages.length; i++)
    if (name == wb$badPages[i])
      return false
 
  return true
}
 
function wb$checkForm(form)
{
  var page = form.wpSummary.value
  var content = form.wpTextbox1.value

  if (content=="" || content==wb$description || content.length<20 || !content.match(' ')) {
    alert("Боцо бу гӀалатах хаам. Дехар до, йазйе жим алсамо.")
    form.wpTextbox1.focus()
    return false
  }
 
  page = page.replace(/^http:\/\/ce\.wikipedia\.org\/wiki\/(.+)$/, "$1")
  page = page.replace(/_/g, " ")
  page = decodeURIComponent(page)
 
  if (page == mw.config.get('wgPageName').replace(/_/g, " ") && wb$isValidPageName(mw.config.get('wgPageName'))) {
    if (mw.config.get('wgNamespaceNumber') == 6) {
      page = "[[:File:"+mw.config.get('wgTitle')+"|"+mw.config.get('wgTitle')+"]]"
      content = "[[File:"+mw.config.get('wgTitle')+"|thumb|left|100px]]\n* "+content+"\r\n{{clear}}"
    }
    else {
      page = page.replace(/^(Category:|File:|\/)/, ":$1")
      page = "[["+page+"]]"
    }
  }
  else {
    page = page.replace(/\[\[([^\[\]\|]+)\|[^\[\]\|]+\]\]/g, "$1")
    page = page.replace(/[\[\]\|]/g, "")
    page = page.replace(/^\s+/g, "")
    page = page.replace(/\s+$/g, "")
 
    if (! wb$isValidPageName(page) ) {
      alert("ДӀайазйе оцу агӀонан цӀе.")
      if ( wb$isValidPageName(mw.config.get('wgPageName')) )
        form.wpSummary.value = mw.config.get('wgPageName')
      else {
        form.wpSummary.value = ""
        form.wpSummary.focus()
      }
      return false
    }
    if (page.indexOf(':') > 0)
      page = '[[:'+page+']]'
    else
      page = '[['+page+']]'
  }
 
  form.submit.disabled = 'disabled'
 
  if (mw.config.get('wgUserName') != null) 
    content += '\r\n\r\nХааман куьгда: ~~'+'~~'
  else
    content += '\r\n\r\nХааман куьгда: '+form.author.value+' ~~'+'~~'
 
  form.wpTextbox1.value = content
  form.wpSummary.value = page
 
  return true
}
 
function wb$goToEditPage()
{
  var edit_el = document.getElementById('ca-edit')
  var edit_href = mw.config.get('wgArticlePath').replace(/\$1/, 'Википеди:ГӀалатех_хаам_бар')
  if (edit_el)
    edit_href = edit_el.getElementsByTagName('a')[0].href
  window.location = edit_href
}
 
function wb$popBugBoth(action_page, infoHTML)
{
  var glob = document.body
 
  // lарж йар
  var nel = document.createElement('div')
  nel.id='specpop-globhidden'
  nel.style.cssText = 'background:white;filter:alpha(opacity=75);opacity:0.75;position:absolute;left:0px;top:0px;z-index:2000'
  nel.style.width = document.documentElement.scrollWidth+'px'
  nel.style.height= document.documentElement.scrollHeight+'px'
  glob.appendChild(nel)
 
  // дlасахуьла кор
  window.scroll(0, 150)
 
  // хаам
  var edit_el = document.getElementById('ca-edit')
  if (edit_el)
    var can_edit = true
  else
    var can_edit = false
 
  nel = document.createElement('div')
  nel.id='specpop-info'
  nel.style.cssText = 'font-size:13px;background:white;padding:21px 30px;border:1px solid black;position:absolute;width:500px;min-height:300px;top:200px;z-index:2002'
  if (nel.style.maxHeight==undefined)
    nel.style.height='300px' // IE blah
  var tmp = Math.floor(glob.clientWidth/2)-300
  if (tmp<5)
    tmp = 5
  nel.style.left = tmp+'px'
 
  nel.innerHTML	= infoHTML
  if (mw.config.get('wgUserName') == null)
    nel.innerHTML = nel.innerHTML + '<p><strong>Терго йе.</strong> Хьа IP-адрес агӀонан хийцамийн тептар чу дӀайаздира ду.</p>'
  nel.innerHTML	= nel.innerHTML + '<p style="text-align:center;margin-top:15px">\
    '+(can_edit ? '<input type="button" value="Айхьа нисдой ахьа и гlалат" onclick="wb$goToEditPage()" />' : '')+ '\
    <input type="button" value="Хаам бай гlалатах" onclick="wb$elementsRemove(\'specpop-info\')" />&nbsp;&nbsp;&nbsp;\
    <input type="button" value="Цаоьшу" onclick="wb$elementsRemove(\'specpop-info\',\'specpop-form\',\'specpop-globhidden\',\'specpop-pos\')" />\
    </p>'
  glob.appendChild(nel)
 
  var action_url = mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" +encodeURIComponent(action_page)  + "&action=submit"
 
  // барам
  nel = document.createElement('div')
  nel.id = 'specpop-form'
  nel.style.cssText = 'background:white;padding:5px 10px;border:1px solid black;position:absolute;width:330px;min-height:300px;top:200px;z-index:2001'
  if (nel.style.maxHeight==undefined)
    nel.style.height='300px' // IE blah
  nel.style.left = (Math.floor(glob.clientWidth/2)-165)+'px'
  //nel.style.top = (this.offsetTop-100)+'px'
  nel.innerHTML	= '<form id="fm1" action="'+action_url+'" method="post" enctype="multipart/form-data" onsubmit="return wb$checkForm(this)">\
    Агlон цlе:<br /><input type="text" name="wpSummary" id="wpSummary" style="width:320px" /><br />\
    <input type="hidden" name="wpSection" value="new" />\
    <input type="hidden" name="wpSave" value="ДӀайазде" />\
    <input type="hidden" id="Starttime" name="wpStarttime" value="" />\
    <input type="hidden" id="Edittime" name="wpEdittime" value="" />\
    <input type="hidden" id="EditToken" name="wpEditToken" value="" />\
    <input type="hidden" id="AutoSummary" name="wpAutoSummary" value="" />\
    <input type="hidden" name="wpScrolltop" value="0" />\
    Хааман йоза:<br /><textarea id="TextBox" name="wpTextbox1" style="width:320px;height:200px" onfocus="if (this.value == wb$description) {this.value = \'\'}">' + wb$description + '</textarea><br />\
    Куьг таlа де:<input type="text" name="author" id="wikibug-input-author" /><br />\
    <input type="submit" id="submit" value="Дlадахийта" /> &nbsp; \
    <input type="button" value="Цаоьшу" onclick="wb$elementsRemove(\'specpop-form\',\'specpop-globhidden\',\'specpop-pos\')" />\
    </form>'
  glob.appendChild(nel)
  if (wb$isValidPageName(mw.config.get('wgPageName')))
    document.getElementById('wpSummary').value = mw.config.get('wgPageName').replace(/_/g, " ")
 
  if (mw.config.get('wgUserName') != null) {
    var author = document.getElementById("wikibug-input-author")
    author.value = '~~'+'~~'
    author.disabled = 'disabled'
  }
  wb$getEditToken(action_page)
}
 
function wb$elementsRemove()
{
  var el
  for (var i=arguments.length-1; i>=0; i--) {
    el = document.getElementById(arguments[i])
    if (el)
      el.parentNode.removeChild(el)
  }
}