מדיה ויקי:Gadget-wikibugs-patrol-clone.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload), או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh), או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
var p_n = mw.config.get('wgPageName'); var pn = p_n.replace(/_/, ' '); if ( p_n.match(/^ויקיפדיה:תיקון_תקלדות_בקליק$/) || p_n.match(/^ויקיפדיה:תיקון_תקלדות_בקליק\/[0-9]+$/) ) { $(function(){ function reloadNotify(msg) { mw.notify(msg).done(function(){ window.location.reload(); }); } function removeSection(section, basetimestamp, starttimestamp, summ) { var api = new mw.Api(), pagename = this.curPage; api.postWithToken('csrf', { action: 'edit', title: pn, summary: summ, minor: 1, basetimestamp: basetimestamp, starttimestamp: starttimestamp, text: '', section: section }).done(function(d) { if (d && d.edit && d.edit.result == 'Success') { mw.notify('הוסר, יעודכן ברענון'); } }); } function removeSection2(section, basetimestamp, starttimestamp, summ) { var api = new mw.Api(), pagename = this.curPage; api.postWithToken('csrf', { action: 'edit', title: pn, summary: summ, minor: 1, basetimestamp: basetimestamp, starttimestamp: starttimestamp, text: '', section: section }).done(function(d) { if (d && d.edit && d.edit.result == 'Success') { reloadNotify('הוסר'); } }); } function removeSectionAfterCorrection(section, basetimestamp, starttimestamp, summ) { var api = new mw.Api(), pagename = this.curPage; api.postWithToken('csrf', { action: 'edit', title: pn, summary: summ, minor: 1, basetimestamp: basetimestamp, starttimestamp: starttimestamp, text: '', section: section }).done(function(d) { if (d && d.edit && d.edit.result == 'Success') { } }); } function removeSectionAfterCorrection2(section, basetimestamp, starttimestamp, summ) { var api = new mw.Api(), pagename = this.curPage; api.postWithToken('csrf', { action: 'edit', title: pn, summary: summ, minor: 1, basetimestamp: basetimestamp, starttimestamp: starttimestamp, text: '', section: section }).done(function(d) { if (d && d.edit && d.edit.result == 'Success') { } }); } function archiveToTalk(articleName, sectionTitle, content) { var talkPage = new mw.Title(articleName).getTalkPage(), newContent = content.replace(/== .+? ==\n+/, '').replace(/\{\{\/מצב\|.+?\}\}/, ''); return new mw.Api().post({action: 'edit', minor: 1, title: talkPage.getPrefixedText(), summary: 'העברת חשד לתקלדה מ[[ויקיפדיה:תיקון תקלדות בקליק]]', token: mw.user.tokens.get('csrfToken'), section: 'new', sectiontitle: sectionTitle, text: ':דיווח מהדף [[ויקיפדיה:דיווח על תקלדות]]\n' + newContent}).then(function(d){ mw.notify($('<a>', {href: talkPage.getUrl(), target: '_blank'}).text('אורכב בהצלחה')); }); } function saveChangereload(articleName, content,suspect,correction) { return new mw.Api().post({ action: 'edit', minor: 1, title: articleName, summary: suspect+'->'+correction+' - [[ויקיפדיה:תיקון תקלדות בקליק|תיקון תקלדה בקליק]]', token: mw.user.tokens.get('csrfToken'), text: content, tags: 'תקלדה-בקליק' }).done(function(d){ reloadNotify($('<a>', {href: 'https://he.wikipedia.org/w/index.php?title='+articleName+'&diff=curr&oldid=prev', target: '_blank'}).text('תוקן! לחץ להשוואת גרסאות')); }); } function saveChangenoreload(articleName, content,suspect,correction) { return new mw.Api().post({ action: 'edit', minor: 1, title: articleName, summary: suspect+'->'+correction+' - [[ויקיפדיה:תיקון תקלדות בקליק|תיקון תקלדה בקליק]]', token: mw.user.tokens.get('csrfToken'), text: content, tags: 'תקלדה-בקליק' }).done(function(d){ mw.notify($('<a>', {href: 'https://he.wikipedia.org/w/index.php?title='+articleName+'&diff=curr&oldid=prev', target: '_blank'}).text('תוקן! לחץ להשוואת גרסאות')); }); } function saveChange(e) { var articleName = $(this).parents('h2').find('.mw-headline').text().replace(' (הדף אינו קיים)', ''), sectionNum = $(this).parent().find('a').attr('href').match(/section=([0-9]+)/)[1], api = new mw.Api(); api.get( {action:'query',prop:'revisions',titles:mw.config.get('wgPageName'), rvprop:'content|timestamp',rvsection:sectionNum, curtimestamp: 1}).done(function(data){ for(var rv in data.query.pages) { var sectionText = data.query.pages[rv].revisions[0]['*'], basetimestamp = data.query.pages[rv].revisions[0].timestamp; if ((sectionText.indexOf('== [['+articleName+']] ==') !== 0) && (sectionText.indexOf('== [[:'+articleName+']] ==') !== 0)) { reloadNotify('הפסקה אינה קיימת עוד במקומה. מרענן את הדף'); } else { if (sectionText.indexOf('{{#lst:')!=-1) { removeSection(sectionNum, basetimestamp ,data.curtimestamp, '/* '+ articleName +' */ ארכוב'); } else { var articleText='undefined',newArticleText='undefined',suspect='undefined',correction='wow',approvedCorrection='wow',oldcontext='wwowo',newcontext='undefined'; suspect=sectionText.replace(/.*\n.*?(.*)?\->.*\n.*\n.*/, "$1"); correction=sectionText.replace(/.*\n.*?>(.*)?\?.*\n.*\n.*/, "$1"); oldcontext=sectionText.replace(/.*\n.*\n.*? (.*) .*\n.*/, "$1"); newcontext=oldcontext.replace(suspect,correction); if(newcontext===oldcontext){alert('המילה לא נמצאה בהקשר');return;} approvedCorrection=prompt('ההקשר:\n'+oldcontext+'\n'+suspect+' יוחלף ב:',suspect); if(approvedCorrection===null||approvedCorrection===suspect)return; newcontext=oldcontext.replace(suspect,approvedCorrection); var api = new mw.Api(); api.get({action: 'query',prop:'revisions',titles: articleName,rvprop:'content',curtimestamp:1 }).done(function(d) {for(var rv in d.query.pages) {articleText=d.query.pages[rv].revisions[0]["*"]; newArticleText=articleText.replace(oldcontext,newcontext); if(newArticleText===articleText){ alert('ההקשר לא נמצא בערך'); removeSection(sectionNum, basetimestamp ,data.curtimestamp,suspect+' לא נמצא') return;} saveChangenoreload(articleName,newArticleText,suspect,approvedCorrection) if(newArticleText!=articleText)removeSectionAfterCorrection(sectionNum, basetimestamp ,data.curtimestamp,suspect+'->'+approvedCorrection+' תוקן!'); if(newArticleText===articleText)removeSectionAfterCorrection(sectionNum, basetimestamp ,data.curtimestamp,suspect+'->'+approvedCorrection+' לא תוקן!'); }}) } } } }); e.preventDefault(); } function saveChange2(e) { var articleName = $(this).parents('h2').find('.mw-headline').text().replace(' (הדף אינו קיים)', ''), sectionNum = $(this).parent().find('a').attr('href').match(/section=([0-9]+)/)[1], api = new mw.Api(); api.get( {action:'query',prop:'revisions',titles:mw.config.get('wgPageName'), rvprop:'content|timestamp',rvsection:sectionNum, curtimestamp: 1}).done(function(data){ for(var rv in data.query.pages) { var sectionText = data.query.pages[rv].revisions[0]['*'], basetimestamp = data.query.pages[rv].revisions[0].timestamp; if ((sectionText.indexOf('== [['+articleName+']] ==') !== 0) && (sectionText.indexOf('== [[:'+articleName+']] ==') !== 0)) { reloadNotify('הפסקה אינה קיימת עוד במקומה. מרענן את הדף'); } else { if (sectionText.indexOf('{{#lst:')!=-1) { removeSection(sectionNum, basetimestamp ,data.curtimestamp, '/* '+ articleName +' */ ארכוב'); } else { var articleText='undefined',newArticleText='undefined',suspect='undefined',correction='wow',oldcontext='wwowo',newcontext='undefined'; suspect=sectionText.replace(/.*\n.*?(.*)?\->.*\n.*\n.*/, "$1"); correction=sectionText.replace(/.*\n.*?>(.*)?\?.*\n.*\n.*/, "$1"); oldcontext=sectionText.replace(/.*\n.*\n.*? (.*) .*\n.*/, "$1"); newcontext=oldcontext.replace(suspect,correction); if(newcontext===oldcontext){alert('המילה לא נמצאה בהקשר');return;} var api = new mw.Api(); api.get({action: 'query',prop:'revisions',titles: articleName,rvprop:'content',curtimestamp:1 }).done(function(d) {for(var rv in d.query.pages) {articleText=d.query.pages[rv].revisions[0]["*"]; newArticleText=articleText.replace(oldcontext,newcontext); if(newArticleText===articleText){alert('ההקשר לא נמצא בערך'); removeSection(sectionNum, basetimestamp ,data.curtimestamp,suspect+' לא נמצא') return;} saveChangereload(articleName,newArticleText,suspect,correction) if(newArticleText!=articleText)removeSectionAfterCorrection(sectionNum, basetimestamp ,data.curtimestamp,suspect+'->'+correction+' תוקן!'); if(newArticleText===articleText)removeSectionAfterCorrection(sectionNum, basetimestamp ,data.curtimestamp,suspect+'->'+correction+' לא תוקן!'); }}) } } } }); e.preventDefault(); } function saveChange3(e) { var articleName = $(this).parents('h2').find('.mw-headline').text().replace(' (הדף אינו קיים)', ''), sectionNum = $(this).parent().find('a').attr('href').match(/section=([0-9]+)/)[1], api = new mw.Api(); api.get( {action:'query',prop:'revisions',titles:mw.config.get('wgPageName'), rvprop:'content|timestamp',rvsection:sectionNum, curtimestamp: 1}).done(function(data){ for(var rv in data.query.pages) { var sectionText = data.query.pages[rv].revisions[0]['*'], basetimestamp = data.query.pages[rv].revisions[0].timestamp; if ((sectionText.indexOf('== [['+articleName+']] ==') !== 0) && (sectionText.indexOf('== [[:'+articleName+']] ==') !== 0)) { reloadNotify('הפסקה אינה קיימת עוד במקומה. מרענן את הדף'); } else { if (sectionText.indexOf('{{#lst:')!=-1) { removeSection(sectionNum, basetimestamp ,data.curtimestamp, suspect+' לא תוקן'); } else { var articleText='undefined',newArticleText='undefined',suspect='undefined',correction='wow',oldcontext='wwowo',newcontext='undefined'; suspect=sectionText.replace(/.*\n.*?(.*)?\->.*\n.*\n.*/, "$1"); correction=sectionText.replace(/.*\n.*?>(.*)?\?.*\n.*\n.*/, "$1"); oldcontext=sectionText.replace(/.*\n.*\n.*? (.*) .*\n.*/, "$1"); newcontext=oldcontext.replace(suspect,correction); if(newcontext===oldcontext){alert('המילה לא נמצאה בהקשר');return;} var api = new mw.Api(); api.get({action: 'query',prop:'revisions',titles: articleName,rvprop:'content',curtimestamp:1 }).done(function(d) {for(var rv in d.query.pages) {articleText=d.query.pages[rv].revisions[0]["*"]; newArticleText=articleText.replace(oldcontext,newcontext); if(newArticleText===articleText){alert('ההקשר לא נמצא בערך'); removeSection(sectionNum, basetimestamp ,data.curtimestamp,suspect+' לא נמצא') return;} saveChangenoreload(articleName,newArticleText,suspect,correction) if(newArticleText!=articleText)removeSectionAfterCorrection2(sectionNum, basetimestamp ,data.curtimestamp,suspect+'->'+correction+' תוקן!'); if(newArticleText===articleText)removeSectionAfterCorrection2(sectionNum, basetimestamp ,data.curtimestamp,suspect+'->'+correction+' לא תוקן!'); }}) } } } }); e.preventDefault(); } function archiveReport(e) { var summ = 'חשד לתקלדה'; var articleName = $(this).parents('h2').find('.mw-headline').text().replace(' (הדף אינו קיים)', ''), sectionNum = $(this).parent().find('a').attr('href').match(/section=(.*)/)[1], api = new mw.Api(); api.get( {action:'query',prop:'revisions',titles:mw.config.get('wgPageName'), rvprop:'content|timestamp',rvsection:sectionNum, curtimestamp: 1}).done(function(data){ for(var rv in data.query.pages) { var sectionText = data.query.pages[rv].revisions[0]['*'], basetimestamp = data.query.pages[rv].revisions[0].timestamp; if ((sectionText.indexOf('== [['+articleName+']] ==') !== 0) && (sectionText.indexOf('== [[:'+articleName+']] ==') !== 0)) { reloadNotify('הפסקה אינה קיימת עוד במקומה. מרענן את הדף'); } else { if (sectionText.indexOf('{{#lst:')!=-1) { removeSection(sectionNum, basetimestamp ,data.curtimestamp, suspect+' לא תוקן'); } else { archiveToTalk(articleName, summ, sectionText).done(function(){removeSection(sectionNum, basetimestamp ,data.curtimestamp, suspect+' לא תוקן'); }); } } } }); e.preventDefault(); } function removeReport(e) { var articleName = $(this).parents('h2').find('.mw-headline').text().replace(' (הדף אינו קיים)', ''), sectionNum = $(this).parent().find('a').attr('href').match(/section=(.*)/)[1], api = new mw.Api(); api.get( {action:'query',prop:'revisions',titles:mw.config.get('wgPageName'), rvprop:'content|timestamp',rvsection:sectionNum, curtimestamp: 1}).done(function(data){ for(var rv in data.query.pages) { var sectionText = data.query.pages[rv].revisions[0]['*'], basetimestamp = data.query.pages[rv].revisions[0].timestamp; if ((sectionText.indexOf('== [['+articleName+']] ==') !== 0) && (sectionText.indexOf('== [[:'+articleName+']] ==') !== 0)) { reloadNotify('הפסקה אינה קיימת עוד במקומה. מרענן את הדף'); } else { var suspect=sectionText.replace(/.*\n.*?(.*)?\->.*\n.*\n.*/, "$1"); removeSection(sectionNum, basetimestamp ,data.curtimestamp, suspect+' לא תוקן'); } } }); e.preventDefault(); } function removeReport2(e) { var articleName = $(this).parents('h2').find('.mw-headline').text().replace(' (הדף אינו קיים)', ''), sectionNum = $(this).parent().find('a').attr('href').match(/section=(.*)/)[1], api = new mw.Api(); api.get( {action:'query',prop:'revisions',titles:mw.config.get('wgPageName'), rvprop:'content|timestamp',rvsection:sectionNum, curtimestamp: 1}).done(function(data){ for(var rv in data.query.pages) { var sectionText = data.query.pages[rv].revisions[0]['*'], basetimestamp = data.query.pages[rv].revisions[0].timestamp; if ((sectionText.indexOf('== [['+articleName+']] ==') !== 0) && (sectionText.indexOf('== [[:'+articleName+']] ==') !== 0)) { reloadNotify('הפסקה אינה קיימת עוד במקומה. מרענן את הדף'); } else { var suspect=sectionText.replace(/.*\n.*?(.*)?\->.*\n.*\n.*/, "$1"); removeSection2(sectionNum, basetimestamp ,data.curtimestamp, suspect+' לא תוקן'); } } }); e.preventDefault(); } $('h2').each(function() { var archive = $('<a>לבדיקה</a>').attr({href:'#'}).css({'font-size':'large', 'margin-right':'20px'}).click(archiveReport), removeReportBtn = $('<a>הסר-</a>').attr({href:'#'}).css({'font-size':'large', 'margin-right':'20px'}).click(removeReport), removeReportBtn2 = $('<a>הסר</a>').attr({href:'#'}).css({'font-size':'large', 'margin-right':'20px'}).click(removeReport2), saveChangeBtn = $('<a>טפל<a>').attr({href:'#'}).css({'font-size':'large', 'margin-right':'20px'}).click(saveChange), saveChangeBtn2 = $('<a>החלף<a>').attr({href:'#'}).css({'font-size':'large'}).click(saveChange2), saveChangeBtn3 = $('<a>החלף-<a>').attr({href:'#'}).css({'font-size':'large', 'margin-right':'20px'}).click(saveChange3); $(this).find('.mw-editsection').append(['<br><br>',removeReportBtn,saveChangeBtn,saveChangeBtn3,saveChangeBtn2,removeReportBtn2,archive]); }); }); }