ผู้ใช้:Pubat/iScript/helper.js

จากวิกิพีเดีย สารานุกรมเสรี

หมายเหตุ: หลังเผยแพร่ คุณอาจต้องล้างแคชเว็บเบราว์เซอร์ของคุณเพื่อดูการเปลี่ยนแปลง

  • ไฟร์ฟอกซ์ / ซาฟารี: กด Shift ค้างขณะคลิก Reload หรือกด Ctrl-F5 หรือ Ctrl-R (⌘-R บนแมค)
  • กูเกิล โครม: กด Ctrl-Shift-R (⌘-Shift-R บนแมค)
  • อินเทอร์เน็ตเอกซ์พลอเรอร์ และ Edge: กด Ctrl ค้างขณะคลิก Refresh หรือกด Ctrl-F5
  • โอเปร่า: กด Ctrl-F5
// ==============================================================
// สคริปต์จัดให้: helper module
// Available functions:
// * JSON - [Object].toJSONString
// * Global Error Handling Support
// * [XMLDOM]
// * [Array].indexOf
// * [Array].every
// * [Array].toSource
// * addTab
// * addToolboxLink
// * addMenu
// * assignToEditForm
// * assignToEditTalkForm
// * getPname
// * getSelText
// * getSelTextArea
// * getParamValue
// * getUploader
// * getThaiFullMonthName
// * qid_getFileHistory (required for getUploader)
// * SetCaretTo
// * openInNewWindow
// * isIPAddress
// * userIsInGroup
// * [String].trim
// * [String.replaceAll
// * htmlNode
// * [Status]
// * [QueryString]
//
// Copyright (C) 2006-2008, Jutiphan Mongkolsuthree
// Certain functions are copyrighted by their
// respective copyright holders.
//
// No warranty expressed or implied. Use at your own risk.
//
// Created: 1/12/2006
// Replaced: none
//
// Additional Credits Information:
// ==============================================================
// JSON - [Object].toJSONString
// 2008-03-14 Public Domain
// See http://www.JSON.org/js.html
// TODO: This is now superceded by json2 and needs to be updated later
//
// ==============================================================
// Array functions
// Taken from http://www.dustindiaz.com/basement/sugar-arrays.html
// TODO: This needs to be replaced by uniformed JS 1.6 Library for non-supported browsers
//
// ==============================================================
// getUploader and qid_getFileHistory functions
// Source: en:User:Howcheng/quickimgdelete.js, adapted & further modified by user:Jutiphan
// Current version: 1.13.1
// Created by [[User:Howcheng|Howard Cheng]]
// Released under the [[GNU Public License]] (GPL)
// Full documentation at [[User talk:Howcheng/quickimgdelete.js]]
// NOTE: DO NOT UPGRADE TO NEWER VER WITHOUT MERGE. This is custom, also included sysop fix.
//
// ==============================================================
// setCaretTo function
// Source: http://parentnode.org/javascript/working-with-the-cursor-position/
//
// ==============================================================
// replace function
// Source: http://www.irt.org/script/242.htm
// ==============================================================
//
// This information may be incomplete. Apologize if incomplete or inaccurate.
// Feel free to inform at [[User Talk:Jutiphan]]
//
/* <pre><nowiki> */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('u(!1v.K.I){Q.K.I=z(w){y a=[],i,l=C.M,v;N(i=0;i<l;i+=1){v=C[i];1g(O v){E\'1b\':u(v&&O v.I===\'z\'){a.V(v.I(w))}H{a.V(\'D\')}P;E\'1c\':E\'1w\':E\'1x\':a.V(v.I());P;1y:a.V(\'D\')}}x\'[\'+a.1m(\',\')+\']\'};2P.K.I=z(){x 1n(C)};2Q.K.I=z(){z f(n){x n<10?\'0\'+n:n}x\'"\'+C.2R()+\'-\'+f(C.2S()+1)+\'-\'+f(C.2T())+\'T\'+f(C.2U())+\':\'+f(C.2V())+\':\'+f(C.2W())+\'Z"\'};23.K.I=z(){x 2X(C)?1n(C):\'D\'};1v.K.I=z(w){y a=[],k,i,v;u(w){N(i=0;i<w.M;i+=1){k=w[i];u(O k===\'1c\'){v=C[k];1g(O v){E\'1b\':u(v){u(O v.I===\'z\'){a.V(k.I()+\':\'+v.I(w))}}H{a.V(k.I()+\':D\')}P;E\'1c\':E\'1w\':E\'1x\':a.V(k.I()+\':\'+v.I())}}}}H{N(k 1h C){u(O k===\'1c\'&&1v.K.24.25(C,[k])){v=C[k];1g(O v){E\'1b\':u(v){u(O v.I===\'z\'){a.V(k.I()+\':\'+v.I())}}H{a.V(k.I()+\':D\')}P;E\'1c\':E\'1w\':E\'1x\':a.V(k.I()+\':\'+v.I())}}}}x\'{\'+a.1m(\',\')+\'}\'};(z(s){y m={\'\\b\':\'\\\\b\',\'\\t\':\'\\\\t\',\'\\n\':\'\\\\n\',\'\\f\':\'\\\\f\',\'\\r\':\'\\\\r\',\'"\':\'\\\\"\',\'\\\\\':\'\\\\\\\\\'};s.26=z(a){y j;z 1M(k,v){y i,n;u(v&&O v===\'1b\'){N(i 1h v){u(1v.K.24.25(v,[i])){n=1M(i,v[i]);u(n!==27){v[i]=n}H{2Y v[i]}}}}x a(k,v)}u(/^[\\],:{}\\s]*$/.28(C.W(/\\\\["\\\\\\/2Z]/g,\'@\').W(/"[^"\\\\\\n\\r]*"|17|1d|D|-?\\d+(?:\\.\\d*)?(?:[30][+\\-]?\\d+)?/g,\']\').W(/(?:^|:|,)(?:\\s*\\[)+/g,\'\'))){j=31(\'(\'+C+\')\');x O a===\'z\'?1M(\'\',j):j}1N 14 32(\'26\');};s.I=z(){u(/["\\\\\\29-\\2a]/.28(C)){x\'"\'+C.W(/[\\29-\\2a\\\\"]/g,z(a){y c=m[a];u(c){x c}c=a.33();x\'\\\\34\'+35.36(c/16).1o(16)+(c%16).1o(16)})+\'"\'}x\'"\'+C+\'"\'}})(1n.K)}z 2b(a,b,c){B.2c("ขออภัย พบเจอข้อผิดพลาด "+a+" บรรทัดที่ "+c+" ใน "+b+". กรุณาแจ้งปัญหานี้ที่ ผู้ใช้:1p");x 17}R.37=2b;1z=z(a){C.1e=a||\'\'};1z.K.38=z(){x C.1e};R.2d=z R$2d(a){u(!R.2e){y b=[\'2f.2g.3.0\',\'2f.2g\'];N(y i=0;i<b.M;i++){1O{y c=14 39(b[i]);c.3a(a);c.3b(\'3c\',\'3d\');x c}1P(2h){}}x D}H{1O{y d=14 R.2e();x d.3e(a,\'1Q/3f\')}1P(2h){x D}}x D};u(!Q.K.X){Q.K.X=z(a,b){y b=b||0;N(y i=b;i<C.M;++i){u(C[i]===a){x i}}x-1}}u(!Q.K.1R){Q.K.1R=z(a,b){y c=b||R;N(y i=0,j=C.M;i<j;++i){u(!a.3g(c,C[i],i,C)){x 1d}}x 17}}u(!Q.K.1S){Q.K.1S=z(){y L=C.M,s=\'[\',t,i;N(i=0;i<L;i++){u(i>0)s+=\',\';u(C[i].3h==Q)s+=C[i].1S();H 1g(O C[i]){E"1w":s+=C[i];P;E"1x":s+=C[i];P;1y:s+=\'"\'+C[i].1o().1T(\'"\').1m(\'\\\\"\')+\'"\'}}x s+\']\'}}z 2i(a,b,c,d,e,f){x 1U(\'p-2j\',a,b,c,d,e,f)}z 3i(a,b,c,d){x 1U(\'p-3j\',a,b,c,d)}z 3k(a,b,c,d){x 1U(\'p-3l\',a,b,c,d)}z 3m(a,b,c,d,e,f,g){1V(\'1A-2k\',\'แจ้ง▼\',a,b,c,d,e,f,g)}z 3n(a,b,c,d,e,f,g){1V(\'1A-2l\',\'แจ้งอยู่ในโครงการ▼\',a,b,c,d,e,f,g)}z 1V(a,b,c,d,e,f,g,h,i){u(2m.3o){2i(d,e,f,g,h,i);x}y j,1B;y k;y l=" #2n";y m=G.1C(a);u(m){m=m.1D(\'1E\')[0]}H{y n=G.1C(\'p-2j\').1D(\'1E\')[0];m=Y("1E","",{\'2o\':"2p"});y o=Y("2q",[m,b],{\'2r\':a,\'2o\':"2p",\'1i\':"แจ้ง..."});y p=G.1C("1A-2l");u(p&&a=="1A-2k"){n.2s(o,p)}H{n.S(o)}u(!R.3p&&G.3q){o.3r=z(){o.U.2t=3;m.U.2u="3s"};o.3t=z(){o.U.2t=0;m.U.2u="3u"}}}u(c){1g(c){E\'3v\':l=\'#3w\';P;E\'3x\':l=\'#3y\';P;E\'U\':l=\'#3z\';P;E\'3A\':l=\'#3B\';P;E\'3C\':l=\'#2n\';P;E\'3D\':l=\'#3E\';P;1y:l=c}}u(!f)f=e;u(!d)d=\'#\';(j=G.Y("a")).S(G.1W(e));j.1X=d;u(h){j.2v("3F",h);g+=" ["+h+"]"}u(g)j.2v(\'1i\',g);1B=G.Y("1E");(k=G.Y("2q")).S(j);k.U.3G="3H-3I: 3J 3K "+l+";";k.S(1B);u(f)k.2r=f;u(i){m.2s(k,i)}H{m.S(k)}x 1B}z 3L(a,b,c,d){y e=1Y+"?1i="+18(1j)+"&2w=1Z&2x="+a;u(b!=D){e+="&2y="+b}u(c!=D){e+="&2z="+c}u(d!=D){e+="&2A="+d}1F.2B(e)}z 3M(a,b,c,d){u(3N.X("1Z")==0){u(a.X("2C")==0){2C(b,c,d);x}H u(a.X("2D")==0){2D(b,c,d);x}}y e="พูดคุย:";u(2E>0){e=1j.3O(0,1j.X(":")+1);u(2E%2==0){u(e.X("ผู้ใช้")>=0){e="คุยกับ"+e}H{e="คุยเรื่อง"+e}}e=18(e)}y f=1Y+"?1i="+e+18(3P)+"&2w=1Z&2x="+a;u(b!=D){f+="&2y="+b}u(c!=D){f+="&2z="+c}u(d!=D){f+="&2A="+d}1F.2B(f)}z 3Q(){u(O 1j!=\'27\'&&1j!=D){x 1j.W(/3R/g,\' \')}H{x G.1D(\'3S\')[0].2F.3T}}z 3U(){y a;u(R.19){a=R.19()}H u(G.19){a=G.19()}H u(G.1G){a=G.1G.2G();a=a.1Q}H{x""}x a.1o()}z 3V(){y a=G.3W.3X;u(3Y){u(a.1H||a.1H==\'0\'){y b=a.1H;y c=a.3Z;x(a.1I).1q(b,c)}}H{y d="";u(R.19){d=R.19()}H u(G.19){d=G.19()}H u(G.1G){d=G.1G.2G();d=d.1Q}x d}x""}z 40(a){y b=20(\'[&?]\'+a+\'=([^&]*)\');y h=G.1F;y m=b.1r(h);u(m){1O{x 21(m[1])}1P(41){}}x D}z 1k(){y a=2H();y b=14 Q();y c=a[0];42{c=c.1J;y d=c.2I;y e=d[(2J("43")?5:4)];b[b.M]=e}1K(c.1J);y f=14 Q();y g=14 20((\'/44/\').W(/\\./g,\'\\\\.\')+\'ผู้ใช้:(.*)$\');y h=14 20((45+1Y).W(/\\./g,\'\\\\.\')+\'\\\\?1i=ผู้ใช้:([^&]*)\');y j=/(คุยกับ)?ผู้ใช้:(.*?)( \\((ยังไม่ได้สร้าง|หน้านี้ไม่มี)\\))?$/;y m;y l;y n="";y o=0;N(y i=0;i<b.M;i++){y p=b[i];u(!p)1L;y q=p.2I;u(!q)1L;N(y k=0;k<q.M;k++){u(q[k].22!=\'A\')1L;m=j.1r(q[k].1i);u(m)l=18(m[2]);m=g.1r(q[k].1X);u(m)l=m[1];m=h.1r(q[k].1X);u(m)l=m[1];u(l)P}u(n.X(l)==-1){u(o>0)n+="; ";n+=o+" - "+l;f[f.M]=l;o+=1}}u(!f||f.M==0){1s("1k: ไม่สามารถดึงชื่อผู้ใช้ที่อัปโหลดได้ กรุณาแจ้งผู้ใช้:1p");x D}u(f.M==1)x f[0];y r=46(R.47("กรุณาเลือกชื่อผู้ใช้ที่ต้องการจะแจ้ง: "+n,""));u(48(r)||r<0||r>=f.M){1s("1k: ไม่มีชื่อผู้ใช้ที่เลือก หยุดการดำเนินการ");x D}x f[r]}z 49(a){1g(a){E 1:x"มกราคม";E 2:x"กุมภาพันธ์";E 3:x"มีนาคม";E 4:x"เมษายน";E 5:x"พฤษภาคม";E 6:x"มิถุนายน";E 7:x"กรกฎาคม";E 8:x"สิงหาคม";E 9:x"กันยายน";E 10:x"ตุลาคม";E 11:x"พฤศจิกายน";E 12:x"ธันวาคม";1y:x""}}z 2H(){y a=G.1C(\'4a\');u(!a){1s("1k: ไม่พบประวัติไฟล์ หยุดการดำเนินงาน กรุณาแจ้งผู้ใช้:1p");x D}1K(a.1J){a=a.1J;u(a.22&&a.22.4b()==\'4c\')P}u(!a){1s("1k: ไม่พบป้าย 4d หยุดการทำงาน กรุณาแจ้งผู้ใช้:1p");x D}y b=a.1D(\'4e\');u(!b){1s("1k: ไม่พบป้าย 4f หยุดการทำงาน กรุณาแจ้งผู้ใช้:1p");x D}x b}z 4g(a,b){u(a.2K){y c=a.2K();c.4h("4i",b);c.4j()}H u(a.1H){a.2L();a.4k(b,b)}}z 4l(a,b,c){u(!b){b=\'4m\'}y d=R.4n(a,b);u(c){d.2L()}}z 4o(a){y b=/(\\d{1,4})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,4})/.1r(a);x b!=D&&b.4p(1,5).1R(z(e){x e<4q})}z 2J(a){N(y i=0;i<2M.M;i++){u(2M[i]==a)x 17}x 1d}z W(a,b,c){y d=a.M,1t=b.M;u((d==0)||(1t==0))x a;y i=a.X(b);u((!i)&&(b!=a.1q(0,1t)))x a;u(i==-1)x a;y e=a.1q(0,i)+c;u(i+1t<d)e+=W(a.1q(i+1t,d),b,c);x e}1n.K.4r=z(){x C.W(/^\\s+|\\s+$/,\'\')};1n.K.4s=z(a,b){y c=C;y d=c.X(a);1K(d!=-1){c=c.W(a,b);d=c.X(a)}x(c)};z 4t(a,b,c){y d=G.Y(a);u(c){d.U.1l=c}d.S(G.1W(b));x d}B=z(){};B.15=z(a){u(a.2N!=1){1N 14 1z(\'1b 4u 4v 4w 4x 4y\');}B.1f=a;B.J=D;1K(a.4z()){a.4A(a.2F)}};B.1a=z(a,b){u(B.1f==D){1N 14 1z(\'4B 4C 1b 4D\');}u(!(a 4E Q)){a=[a]}b=b||B.J;N(y i 1h a){u(O a[i]==\'1c\'){b.S(G.1W(a[i]))}H u(a[i].2N==1){b.S(a[i])}}};B.2c=z(a){B.J=G.Y(\'1u\');B.J.U.1l=\'2O\';B.J.U.4F=\'4G\';B.1a(a);B.1f.S(B.J);x B.J};B.4H=z(a){B.J=G.Y(\'1u\');B.J.U.1l=\'2O\';B.1a(a);B.1f.S(B.J);x B.J};B.4I=z(a){B.J=G.Y(\'1u\');B.J.U.1l=\'4J\';B.1a(a);B.1f.S(B.J);x B.J};B.4K=z(a,b){b=b||1;u(2m.4L>=b){B.J=G.Y(\'1u\');B.J.U.1l=\'4M\';B.1a("4N ("+b+"): ");B.1a(a);B.1f.S(B.J);x B.J}H{x D}};B.4O=z(a){B.J=G.Y(\'1u\');B.J.U.1l=\'4P\';B.1a(a);B.1f.S(B.J);x B.J};B.4Q=z(a,b){B.1a(a,b)};z F(){}F.15=z(a){y b={};u(F.13!=D&&!a){x}u(!a){F.13={}}y c=a||1F.4R.1q(1);u(c.M==0){x}u(!a){F.1e=c}c.W(/\\+/,\' \');y d=c.1T(\'&\');N(y i 1h d){u(O(d[i])!=\'1c\'){1L}y e=d[i].1T(\'=\');y f=21(e[0]),1I=f;u(e.M==2){1I=21(e[1])}b[f]=1I}u(!a){F.13=b}x b};F.4S=z(a,b){u(b){y c=F.15(b)[a];x c?c:D}H u(F.13==D){F.15()}x F.13[a]?F.13[a]:D};F.4T=z(a,b){u(b){x F.15(b)[a]?17:1d}H u(F.13==D){F.15()}x F.13[a]?17:1d};F.4U=z(a,b,c){u(c){x F.15(c)[a]==b?17:1d}H u(F.13==D){F.15()}x F.13[a]==b?17:1d};F.1o=z(){u(F.1e==D){F.15()}x F.1e?F.1e:D};F.4V=z(a){y b=Q();N(y i 1h a){u(O a[i]==\'1b\'){y v=Q();N(y j 1h a[i]){u(j==0||23(j)){v[j]=18(a[i][j]);b.V(18(i)+\'=\'+v.1m(\'|\'))}}}H{u(i.X("I")!=0){b.V(18(i)+\'=\'+18(a[i]))}}}x b.1m(\'&\')};F.13=D;F.1e=D;',62,306,'||||||||||||||||||||||||||||||if|||return|var|function||Status|this|null|case|QueryString|document|else|toJSONString|currentNode|prototype||length|for|typeof|break|Array|window|appendChild||style|push|replace|indexOf|createElement|||||params|new|init||true|encodeURIComponent|getSelection|append|object|string|false|str|elem|switch|in|title|wgPageName|getUploader|color|join|String|toString|Jutiphan|substring|exec|alert|txtLength|div|Object|number|boolean|default|Exception|ca|mn|getElementById|getElementsByTagName|ul|location|selection|selectionStart|value|nextSibling|while|continue|walk|throw|try|catch|text|every|toSource|split|addPortletLink|addMenuItem|createTextNode|href|wgScript|edit|RegExp|decodeURIComponent|tagName|Number|hasOwnProperty|apply|parseJSON|undefined|test|x00|x1f|errorHandler|error|XMLDOM|DOMParser|Msxml2|DOMDocument|ex|addTab|cactions|menu|menu2|iScriptConfig|1e90ff|class|tabmenu|li|id|insertBefore|zIndex|display|setAttribute|action|iScriptAction|iScriptParam1|iScriptParam2|iScriptParam3|assign|doWP|addMessageTemplate|wgNamespaceNumber|firstChild|createRange|qid_getFileHistory|childNodes|userIsInGroup|createTextRange|focus|wgUserGroups|nodeType|OrangeRed|Boolean|Date|getUTCFullYear|getUTCMonth|getUTCDate|getUTCHours|getUTCMinutes|getUTCSeconds|isFinite|delete|bfnrtu|eE|eval|SyntaxError|charCodeAt|u00|Math|floor|onerror|what|ActiveXObject|loadXML|setProperty|SelectionLanguage|XPath|parseFromString|xml|call|constructor|addToolboxLink|mScripts|addBookmarkLink|mBookmarks|addMenu|addWPMenu|useOldTabsNavigation|XMLHttpRequest|all|onmouseover|block|onmouseout|none|serious|b22222|content|f28500|f4c430|merge|9932cc|notice|growth|228b22|accesskey|cssText|border|left|10px|solid|assignToEditForm|assignToEditTalkForm|wgAction|substr|wgTitle|getPname|_|h1|nodeValue|getSelText|getSelTextArea|editform|wpTextbox1|is_gecko|selectionEnd|getParamValue|someError|do|sysop|wiki|wgServer|parseInt|prompt|isNaN|GetThaiFullMonthName|filehistory|toLowerCase|table|TABLE|tr|TR|setCaretTo|move|character|select|setSelectionRange|openInNewWindow|_blank|open|isIPAddress|slice|256|trim|replaceAll|htmlNode|not|an|instance|of|Element|hasChildNodes|removeChild|no|initialized|found|instanceof|fontWeight|900|warn|info|ForestGreen|debug|debugMode|DimGray|Debug|status|SteelBlue|progress|search|get|exists|equals|create'.split('|'),0,{}))
/* </nowiki></pre> */