ผลต่างระหว่างรุ่นของ "ผู้ใช้:Bebiezaza/iScript/iScript.js"
< ผู้ใช้:Bebiezaza | iScript
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
9.14-014 |
แทนที่เนื้อหาด้วย "//deprecated" ป้ายระบุ: ถูกแทน ถูกย้อนกลับแล้ว ผู้ใช้แก้หน้าเปลี่ยนทาง |
||
บรรทัด 1: | บรรทัด 1: | ||
//deprecated |
|||
// ======================================================== |
|||
// iScript: New Module |
|||
// iScript Class |
|||
// |
|||
// Copyright 2006-2013, Jutiphan Mongkolsuthree |
|||
// Certain functions are copyrighted by their |
|||
// respective copyright holders |
|||
// |
|||
// Created: 8/12/2011 |
|||
// ======================================================== |
|||
/* <pre><nowiki> */ |
|||
iScriptConfig.Init = function() { |
|||
if (typeof iScriptConfig.enableTestScripts == 'undefined') { |
|||
iScriptConfig.enableTestScripts = false |
|||
} |
|||
if (typeof iScriptConfig.revertMaxRevisions == 'undefined') { |
|||
iScriptConfig.revertMaxRevisions = 50 |
|||
} |
|||
if (typeof iScriptConfig.debugMode == 'undefined') { |
|||
iScriptConfig.debugMode = 0 |
|||
} |
|||
if (typeof iScriptConfig.gender == "undefined") { |
|||
iScriptConfig.gender = "male" |
|||
} |
|||
if (typeof iScriptConfig.useFullNames == "undefined") { |
|||
iScriptConfig.useFullNames = false |
|||
} |
|||
if (typeof iScriptConfig.useMyWelcome == "undefined") { |
|||
iScriptConfig.useMyWelcome = false |
|||
} |
|||
if (typeof iScriptConfig.usePreciseConversion == "undefined") { |
|||
iScriptConfig.usePreciseConversion = false |
|||
} |
|||
if (typeof iScriptConfig.userTalkPageMode == "undefined") { |
|||
iScriptConfig.userTalkPageMode = "blank" |
|||
} |
|||
if (typeof iScriptConfig.searchURL == "undefined") { |
|||
iScriptConfig.searchURL = "//www.google.co.th/search?hl=th&q=" |
|||
} |
|||
if (typeof iScriptConfig.useEnhancedRollback == "undefined") { |
|||
iScriptConfig.useEnhancedRollback = true |
|||
} |
|||
if (typeof iScriptConfig.autoNotifyUploader == "undefined") { |
|||
iScriptConfig.autoNotifyUploader = false |
|||
} |
|||
if (typeof iScriptConfig.wikiProjectTabs == "undefined") { |
|||
iScriptConfig.wikiProjectTabs = "all" |
|||
} |
|||
if (typeof iScriptConfig.wikiProject1 == "undefined") { |
|||
iScriptConfig.wikiProject1 = ["", "", "", ""] |
|||
} |
|||
if (typeof iScriptConfig.wikiProject2 == "undefined") { |
|||
iScriptConfig.wikiProject2 = ["", "", "", ""] |
|||
} |
|||
if (typeof iScriptConfig.wikiProject3 == "undefined") { |
|||
iScriptConfig.wikiProject3 = ["", "", "", ""] |
|||
} |
|||
if (typeof iScriptConfig.wikiProject4 == "undefined") { |
|||
iScriptConfig.wikiProject4 = ["", "", "", ""] |
|||
} |
|||
if (typeof iScriptConfig.wikiProject5 == "undefined") { |
|||
iScriptConfig.wikiProject5 = ["", "", "", ""] |
|||
} |
|||
if (typeof iScriptConfig.wikiProject6 == "undefined") { |
|||
iScriptConfig.wikiProject6 = ["", "", "", ""] |
|||
} |
|||
if (typeof iScriptConfig.wikiProject7 == "undefined") { |
|||
iScriptConfig.wikiProject7 = ["", "", "", ""] |
|||
} |
|||
if (typeof iScriptConfig.wikiProject8 == "undefined") { |
|||
iScriptConfig.wikiProject8 = ["", "", "", ""] |
|||
} |
|||
if (typeof iScriptConfig.wikiProject9 == "undefined") { |
|||
iScriptConfig.wikiProject9 = ["", "", "", ""] |
|||
} |
|||
if (typeof iScriptConfig.wikiProject10 == "undefined") { |
|||
iScriptConfig.wikiProject10 = ["", "", "", ""] |
|||
} |
|||
if (typeof iScriptConfig.bookmark1 == "undefined") { |
|||
iScriptConfig.bookmark1 = ["", ""] |
|||
} |
|||
if (typeof iScriptConfig.bookmark2 == "undefined") { |
|||
iScriptConfig.bookmark2 = ["", ""] |
|||
} |
|||
if (typeof iScriptConfig.bookmark3 == "undefined") { |
|||
iScriptConfig.bookmark3 = ["", ""] |
|||
} |
|||
if (typeof iScriptConfig.bookmark4 == "undefined") { |
|||
iScriptConfig.bookmark4 = ["", ""] |
|||
} |
|||
if (typeof iScriptConfig.bookmark5 == "undefined") { |
|||
iScriptConfig.bookmark5 = ["", ""] |
|||
} |
|||
if (iScriptConfig.Edition == Editions.Wikipedia) { |
|||
iScriptConfig.wikiName = "วิกิพีเดียไทย"; |
|||
iScriptConfig.Tagline = "ด้วย[[WP:iScript|สจห.]]"; |
|||
iScriptConfig.pageLink = "WP:iScript"; |
|||
iScriptConfig.pageName = "วิกิพีเดีย:สคริปต์จัดให้" |
|||
} else if (iScriptConfig.Edition == Editions.Wikisource) { |
|||
iScriptConfig.wikiName = "วิกิซอร์ซ"; |
|||
iScriptConfig.Tagline = "ด้วย[[WS:iScript|สจห.]]"; |
|||
iScriptConfig.pageLink = "WS:iScript"; |
|||
iScriptConfig.pageName = "วิกิซอร์ซ:สคริปต์จัดให้"; |
|||
} else if (iScriptConfig.Edition == Editions.Uncyclopedia) { |
|||
iScriptConfig.wikiName = "ไร้สาระนุกรม"; |
|||
iScriptConfig.Tagline = "ด้วย[[UN:iScript|สจห.]]"; |
|||
iScriptConfig.pageLink = "UN:iScript"; |
|||
iScriptConfig.pageName = "ไร้สาระนุกรม:สคริปต์จัดให้" |
|||
} else if (iScriptConfig.Edition == Editions.Wikibooks) { |
|||
iScriptConfig.wikiName = "วิกิตำรา"; |
|||
iScriptConfig.Tagline = "ด้วย[[WB:iScript|สจห.]]"; |
|||
iScriptConfig.pageLink = "WB:iScript"; |
|||
iScriptConfig.pageName = "Wikibooks:สคริปต์จัดให้" |
|||
} |
|||
//localization |
|||
tDelete = "↑ลบ"; |
|||
tNeedCleanup = "↑ต้องการเก็บกวาด"; |
|||
tAdvert = "↑โฆษณา"; |
|||
tRef = "↑ต้องการอ้างอิง"; |
|||
tPOV = "↑ไม่เป็นกลาง"; |
|||
tUnencyclopedic = "↑ไม่เป็นสารานุกรม"; |
|||
tWho = "↑คุณเป็นใคร"; |
|||
tInvalidLicense = "↑สถานะผิด"; |
|||
}; |
|||
iScript = { |
|||
Load: function() { |
|||
iScript.WikiProjects = []; |
|||
iScript.GetEditToken() |
|||
}, |
|||
WikiProject: function(a, b, c, d) { |
|||
a = "↑วิกิ" + a; |
|||
this.MenuName = a; |
|||
this.TemplateName = b; |
|||
this.WpName = c; |
|||
d = "WP:" + d; |
|||
this.WpLink = d; |
|||
}, |
|||
CheckVersion: function() { |
|||
if ((mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 3 || mw.config.get('wgPageName').indexOf(iScriptConfig.pageName) >= 0)) { |
|||
var a = document.getElementById('iScriptStatus'); |
|||
if (a != null) { |
|||
var b = document.getElementById('iScriptVersion').innerHTML; |
|||
if (iScriptVersion == b) { |
|||
if (mw.config.get('wgPageName').indexOf("ผู้ใช้:Bebiezaza") >= 0 || mw.config.get('wgPageName').indexOf("คุยกับผู้ใช้:Bebiezaza") >= 0) { |
|||
a.innerHTML = "<span class='iScript-version-latest'><img src='//upload.wikimedia.org/wikipedia/commons/thumb/3/34/Crystal_Clear_app_clean.png/20px-Crystal_Clear_app_clean.png' width='20' height='20'/> คุณกำลังใช้สคริปต์จัดให้รุ่นล่าสุด<br/><A href='javascript:iScript.PerformUpdate();'>อัปเดตใหม่</A></span>"; |
|||
} else { |
|||
a.innerHTML = "<span class='iScript-version-latest'><img src='//upload.wikimedia.org/wikipedia/commons/thumb/3/34/Crystal_Clear_app_clean.png/20px-Crystal_Clear_app_clean.png' width='20' height='20'/> คุณกำลังใช้สคริปต์จัดให้รุ่นล่าสุด</span>" |
|||
} |
|||
} else { |
|||
a.innerHTML = "<span class='iScript-version-old'><img src='//upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Nuvola_apps_important_yellow.svg/25px-Nuvola_apps_important_yellow.svg.png' width='25' height='21'/> คุณกำลังใช้สคริปต์จัดให้รุ่น " + iScriptVersion + "<br/><A href='javascript:iScript.PerformUpdate();'>อัปเดตไปรุ่นล่าสุด</A></SPAN>" |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
PerformUpdate: function() { |
|||
var a = document.getElementById('iScriptStatus'); |
|||
a.innerHTML = "<span class='iScript-version-old'>กำลังอัปเดตไปรุ่นล่าสุด...</span>"; |
|||
window.location.replace(window.location.href); //reload with cache cleared (equi: ctrl+F5) |
|||
}, |
|||
GetEditToken: function() { |
|||
$.ajax({ |
|||
url: mw.config.get('wgScriptPath') + '/api.php?', |
|||
data: 'action=query&prop=info&intoken=edit&titles=Main%20Page&indexpageids&format=json', |
|||
dataType: 'json', |
|||
success: function(a) { |
|||
if (a.query.pages && a.query.pageids) { |
|||
var b = a.query.pageids[0]; |
|||
iScript.editToken = a.query.pages[b].edittoken |
|||
} |
|||
} |
|||
}) |
|||
}, |
|||
GetPageContentAsync: function(c, d) { |
|||
iScript.result = undefined; |
|||
mw.notify('กำลังดึงข้อมูลเพื่อดำเนินการ กรุณารอสักครู่...'); |
|||
$.ajax({ |
|||
url: mw.util.wikiScript('api'), |
|||
dataType: 'json', |
|||
data: { |
|||
format: 'json', |
|||
action: 'query', |
|||
prop: 'revisions', |
|||
indexpageids: true, |
|||
titles: c, |
|||
rvprop: 'content' |
|||
}, |
|||
success: function(a) { |
|||
var b = a.query.pageids[0]; |
|||
if (b == -1) { |
|||
iScript.result = "" |
|||
} else { |
|||
iScript.result = a.query.pages[b].revisions[0]['*']; |
|||
setTimeout(d, 1) |
|||
} |
|||
} |
|||
}) |
|||
}, |
|||
GetPageContent: function(c) { |
|||
var d; |
|||
$.ajax({ |
|||
url: mw.util.wikiScript('api'), |
|||
dataType: 'json', |
|||
async: false, |
|||
data: { |
|||
format: 'json', |
|||
action: 'query', |
|||
prop: 'revisions', |
|||
indexpageids: true, |
|||
titles: c, |
|||
rvprop: 'content' |
|||
}, |
|||
success: function(a) { |
|||
var b = a.query.pageids[0]; |
|||
if (b == -1) { |
|||
d = "" |
|||
} else { |
|||
d = a.query.pages[b].revisions[0]['*'] |
|||
} |
|||
} |
|||
}); |
|||
return d |
|||
}, |
|||
PrependPage: function(b, c, d, e, f) { |
|||
$.ajax({ |
|||
url: mw.util.wikiScript('api'), |
|||
type: 'POST', |
|||
dataType: 'json', |
|||
data: { |
|||
format: 'json', |
|||
action: 'edit', |
|||
title: b, |
|||
prependtext: c, |
|||
summary: d, |
|||
minorEdit: e, |
|||
token: iScript.editToken |
|||
}, |
|||
success: function(a) { |
|||
if (a && a.edit && a.edit.result && a.edit.result == 'Success') { |
|||
if (f) { |
|||
mw.notify($('<span style="color: darkgreen">การแก้ไขเรียบร้อย กำลังรีโหลดหน้าใหม่...</span>')); |
|||
setTimeout('location.reload(true);', 1500) |
|||
} else { |
|||
mw.notify($('<span style="color: darkgreen">การแก้ไขเรียบร้อย</span>')); |
|||
setTimeout('mw.notify();', 3000) |
|||
} |
|||
} else { |
|||
mw.notify($('<span style="color: red">ขออภัย พบเจอปัญหาทำให้ไม่สามารถบันทึกได้: ' + a.error + ' กรุณาลองใหม่อีกครั้ง</span>')) |
|||
} |
|||
}, |
|||
error: function() { |
|||
mw.notify($('<span style="color: red">ขออภัย พบเจอปัญหาทำให้ไม่สามารถทำเรื่องได้ กรุณาลองใหม่อีกครั้ง</span>')) |
|||
} |
|||
}) |
|||
}, |
|||
EditPage: function(c, d, e, f, g, h, i) { |
|||
var j = new mw.Api(); |
|||
j.postWithToken("edit", { |
|||
action: "edit", |
|||
title: c, |
|||
summary: g, |
|||
text: d, |
|||
token: iScript.editToken, |
|||
minor: h |
|||
}).done(function(a, b) { |
|||
mw.log("Saved successfully"); |
|||
if (i) { |
|||
mw.notify($('<span style="color: darkgreen">การแก้ไขเรียบร้อย กำลังรีโหลดหน้าใหม่...</span>')); |
|||
location.reload() |
|||
} else { |
|||
mw.notify($('<span style="color: darkgreen">การแก้ไขเรียบร้อย</span>')) |
|||
} |
|||
}).fail(function(a, b) { |
|||
if (a === "http") { |
|||
mw.log("HTTP error: " + b.textStatus); |
|||
mw.notify($('<span style="color: red">ขออภัย พบเจอปัญหาทำให้ไม่สามารถบันทึกได้: ' + b.textStatus + ' กรุณาลองใหม่อีกครั้ง</span>')) |
|||
} else if (a === "ok-but-empty") { |
|||
mw.log("Got an empty response from the server"); |
|||
mw.notify($('<span style="color: red">ขออภัย พบเจอปัญหาทำให้ไม่สามารถทำเรื่องได้ กรุณาลองใหม่อีกครั้ง</span>')) |
|||
} else { |
|||
mw.log("API error: " + a); |
|||
mw.notify($('<span style="color: red">ขออภัย พบเจอปัญหาทำให้ไม่สามารถบันทึกได้: ' + a + ' กรุณาลองใหม่อีกครั้ง</span>')) |
|||
} |
|||
}) |
|||
} |
|||
}; |
|||
iScript.Sidebox = { |
|||
Load: function() { |
|||
var a = document.getElementById('p-tb'); |
|||
var b = document.getElementById('mw-panel'); |
|||
var c = document.getElementById('p-lang'); |
|||
if (mw.config.get('skin') == "vector") { |
|||
var d = createElement('div', "", { |
|||
'id': "p-mScripts", |
|||
'class': "mw-portlet mw-portlet-tb vector-menu vector-menu-portal portal", |
|||
'role': "navigation" |
|||
}); |
|||
var e = createElement('div', "", { |
|||
'id': "p-mBookmarks", |
|||
'class': "mw-portlet mw-portlet-tb vector-menu vector-menu-portal portal", |
|||
'role': "navigation" |
|||
}); |
|||
// ใน class จะมีทั้ง body และ vector-menu-content โดย vector-menu-content ใช้ใน 1.36++ แต่ body ใช้ใน <1.36 ซึ่งเหลือแค่ uncyclopedia ที่ยังใช้อยู่ |
|||
d.innerHTML = "<h3>สคริปต์จัดให้ " + iScriptVersion + "</h3><div class=\"body vector-menu-content\" style=\"display: block;\"><ul><li class=\"iScriptLink\"><a href=\"" + mw.config.get('wgServer') + "/wiki/" + iScriptConfig.pageLink + "\">สคริปต์จัดให้</a></li></ul>"; |
|||
e.innerHTML = "<h3>คั่นหน้า</h3><div class=\"body vector-menu-content\" style=\"display: block;\"><ul></ul>"; |
|||
b.insertBefore(d, c) |
|||
} else { |
|||
var d = "</div></div><div id=\"p-mScripts\" class=\"portlet\" style=\"margin: 0.5em auto\"><h3 id='p-tb-label'>สคริปต์จัดให้ " + iScriptVersion + "</h3><div class=\"pBody\"><ul><li class=\"iScriptLink\"><a href=\"" + mw.config.get('wgServer') + "/wiki/" + iScriptConfig.pageLink + "\">สคริปต์จัดให้</a></li></ul></div>"; |
|||
var e = "</div></div><div id=\"p-mBookmarks\" class=\"portlet\" style=\"margin: 0.5em auto\"><h3 id='p-tb-label'>คั่นหน้า</h3><div class=\"pBody\"><ul></ul></div>"; |
|||
a.innerHTML = a.innerHTML + d |
|||
} |
|||
if (mw.config.get('wgIsArticle')) { |
|||
addToolboxLink('javascript:listRedLinks()', 'แสดงรายชื่อลิงก์แดง', 'mt-redLinks', ''); |
|||
addToolboxLink('javascript:copyvioCheck()', 'ตรวจสอบลิขสิทธิ์', 'mt-copyvioCheck', '') |
|||
} |
|||
if (iScriptConfig.bookmark1[0].length > 0) { |
|||
if (mw.config.get('skin') == "vector") { |
|||
b.insertBefore(e, c) |
|||
} else { |
|||
a.innerHTML = a.innerHTML + e |
|||
} |
|||
addBookmarkLink(mw.config.get('wgScript') + "?title=" + iScriptConfig.bookmark1[0], iScriptConfig.bookmark1[1], 'mt-BookmarkLink1', '') |
|||
} |
|||
if (iScriptConfig.bookmark2[0].length > 0) { |
|||
addBookmarkLink(mw.config.get('wgScript') + "?title=" + iScriptConfig.bookmark2[0], iScriptConfig.bookmark2[1], 'mt-BookmarkLink2', '') |
|||
} |
|||
if (iScriptConfig.bookmark3[0].length > 0) { |
|||
addBookmarkLink(mw.config.get('wgScript') + "?title=" + iScriptConfig.bookmark3[0], iScriptConfig.bookmark3[1], 'mt-BookmarkLink3', '') |
|||
} |
|||
if (iScriptConfig.bookmark4[0].length > 0) { |
|||
addBookmarkLink(mw.config.get('wgScript') + "?title=" + iScriptConfig.bookmark4[0], iScriptConfig.bookmark4[1], 'mt-BookmarkLink4', '') |
|||
} |
|||
if (iScriptConfig.bookmark5[0].length > 0) { |
|||
addBookmarkLink(mw.config.get('wgScript') + "?title=" + iScriptConfig.bookmark5[0], iScriptConfig.bookmark5[1], 'mt-BookmarkLink5', '') |
|||
} |
|||
if (document.title.search(/(กำลัง)?แก้ไข |แก้ชนกัน/) != 0) { |
|||
addToolboxLink('javascript:redire_other()', 'เปลี่ยนทางมาที่นี่', 'mt-redirect', '`') |
|||
} |
|||
if (location.href.indexOf('&action=edit&jsaction=Redirect&target=') != -1) { |
|||
var f = decodeURI(location.href.split('&target=')[1]); |
|||
var g = '#REDIRECT [[' + f + ']]'; |
|||
var h = 'โปรดทราบ: หน้าเปลี่ยนทางนี้ได้มีสร้างไว้แล้ว จะเขียนทับหรือไม่?'; |
|||
if (document.editform.wpTextbox1.value != '') { |
|||
var j = confirm(h); |
|||
if (!j) { |
|||
return |
|||
} |
|||
} |
|||
document.editform.wpTextbox1.value = g; |
|||
document.editform.wpSummary.value = 'เปลี่ยนทางมาที่[[' + f + ']] ' + iScriptConfig.Tagline; |
|||
var k = document.getElementById('bodyContent'); |
|||
l = k.getElementsByTagName('input'); |
|||
for (var i = 0; i < l.length; i++) { |
|||
if (l[i].name == 'wpMinoredit') { |
|||
l[i].value = '1'; |
|||
l[i].checked = true; |
|||
break |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
iScript.Tabs = { |
|||
LoadEditSection0: function() { |
|||
var x; |
|||
if (!(x = document.getElementById('ca-edit'))) return; |
|||
var a; |
|||
if (!(a = x.getElementsByTagName('a')[0])) return; |
|||
if (!(a = a.href)) return; |
|||
if (mw.config.get('skin') == "vector") { |
|||
AddVectorTab(a + "§ion=0", "0", "ca-edit-0", "แก้ไขย่อหน้าแรกสุด", "", document.getElementById('ca-history')); |
|||
return; |
|||
} |
|||
else |
|||
{ |
|||
var y = addTab(a + "§ion=0", '0', 'ca-edit-0', 'แก้ไขย่อหน้าแรกสุด', '0', x.nextSibling); |
|||
y.className = x.className; |
|||
x.className = 'istalk'; |
|||
if (/(^| )selected( |$)/.test(y.className)) { |
|||
if (!document.editform || !document.editform.wpSection || document.editform.wpSection.value != "0") { |
|||
y.className = y.className.replace(/(^| )selected( |$)/g, "$1"); |
|||
x.className += ' selected' |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
$(document).ready(function() { |
|||
iScriptConfig.Init(); |
|||
iScript.Load(); |
|||
iScript.CheckVersion(); |
|||
iScript.Sidebox.Load(); |
|||
iScript.Tabs.LoadEditSection0(); |
|||
}); |
|||
/* </nowiki></pre> */ |