משתמש:ערן/FAarch.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
(function(mw, $) {
function notifyArchived()
{
mw.notify('הדיון אורכב בהצלחה');
}
if ( mw.config.get('wgPageName') === 'ויקיפדיה:ערכים_מומלצים/הצבעה' ) {
$( function() {
function archiveFeature(e) {
function disscussionArchived(){
new mw.Api().post({action: 'edit', title: mw.config.get('wgPageName'), summary: '[['+articleName+']] - '+summ, token: mw.user.tokens.get('csrfToken'), text: '',section:sectionNum}).done(notifyArchived);
}
var summ = prompt('סיכום דיון:');
if(summ === null) return;
var articleName = $(this).attr('title');
var sectionNum = $(this).parent().find('a').attr('href').match(/section=(.*)/)[1];
//archive disscusion
var api = new mw.Api();
api.get({action:'query',prop:'revisions',titles:mw.config.get('wgPageName'), rvprop:'content',rvsection:sectionNum}).done(function(data){
for(rv in data.query.pages)
{
var sectionText='\n'+data.query.pages[rv].revisions[0]['*']+'\n\n\'\'\''+summ+'\'\'\' ~~'+'~~';
new mw.Api().post({action: 'edit', title: 'שיחה:'+articleName+'/הצעת הוספה למומלצים', summary: 'ארכוב דיון', token: mw.user.tokens.get('csrfToken'), appendtext: sectionText}).then(function(){
new mw.Api().get({action: 'query', prop: 'revisions', 'titles': 'שיחה:' + articleName, 'rvprop': 'content', 'indexpageids': '1' }).done(function(d){
var wikitext = d.query.pages[d.query.pageids[0]].revisions[0]['*'];
var hasTemplate = /\{\{מועמד לערך מומלץ/.test(wikitext);
if(!hasTemplate)
{
new mw.Api().post({action: 'edit', title: 'שיחה:'+articleName, summary: 'הוספת תבנית מועמד לערך מומלץ', token: mw.user.tokens.get('csrfToken'), prependtext: '{{מועמד לערך מומלץ}}\n' });
}
})
}).done(disscussionArchived);
}
});
e.preventDefault();
}
$('h2').each(function()
{
var articleName=$(this).find('.mw-headline a').attr('title');
var archive=$('<a>ארכוב</a>').attr({href:mw.util.wikiScript('index')+'?action=edit&title='+articleName,title:articleName}).css({'font-size':'small', 'margin-right':'20px'});
archive.click(archiveFeature);
$(this).find('.mw-editsection').append(archive);
});
});
}
if(mw.config.get('wgNamespaceNumber') == 1){
$(function(){
function archiveFeature(e){
function disscussionArchived(){
new mw.Api().post({action: 'edit', title: mw.config.get('wgPageName'), summary: summ, token: mw.user.tokens.get('csrfToken'), text: '',section:sectionNum }).done(notifyArchived);
}
var summ = prompt('סיכום דיון:');
if(summ === null) return;
var articleName = $(this).attr('title');
var sectionNum = $(this).parent().find('a').attr('href').match(/section=(.*)/)[1];
//archive disscusion
var api = new mw.Api();
api.get({action:'query',prop:'revisions',titles:mw.config.get('wgPageName'), rvprop:'content',rvsection:sectionNum}).done(function(data){
for(rv in data.query.pages)
{
var sectionText = '\n'+data.query.pages[rv].revisions[0]['*']+'\n\n\'\'\''+summ+'\'\'\' ~~'+'~~';
new mw.Api().post({action: 'edit', title: 'שיחה:'+articleName+'/הצעת הוספה למומלצים', summary: 'ארכוב דיון', token: mw.user.tokens.get('csrfToken'), appendtext: sectionText}).done(disscussionArchived);
}
});
e.preventDefault();
}
$('.featureCandidateTemplate').prev('h2').each(function()
{
var articleName = mw.config.get( 'wgTitle' );
var archive = $('<a>ארכוב</a>').attr({href:mw.util.wikiScript('index')+'?action=edit&title='+articleName,title:articleName}).css({'font-size':'small', 'margin-right':'20px'});
archive.click(archiveFeature);
$(this).find('.mw-editsection').append(archive);
});
});
}
if ( mw.config.get( 'wgPageName' ) === 'ויקיפדיה:ערכים_מומלצים/רשימת_המתנה' ) {
$(function() {
function archiveFeature( e ) {
function disscussionArchived(extract, wikitext){
var api = new mw.Api();
api.post( {
action: 'edit',
title: mw.config.get('wgPageName'),
summary: 'ארכוב',
token: mw.user.tokens.get('csrfToken'),
text: wikitext
}).done(function(){
targetInputbox.after( $('<textarea>').val(extract) );
});
}
var articleName = $(this).data('articleName');
//archive disscusion
var targetInputbox = $(this).parent();
var api=new mw.Api();
api.get({
action:'query',
titles: mw.config.get('wgPageName'),
prop: 'revisions',
rvprop: 'content',
indexpageids: 1
}).done(function(data){
var reDisscussion, disscussion, newText, extract, disscusionLink;
reDisscussion = new RegExp( '{{קישור לדיון המלצה\n\\|שם הערך=' + mw.RegExp.escape(articleName) + '[\\s\\S]+?}}\\s{{קישור לדיון', 'g' );
disscussion = reDisscussion.exec( data.query.pages[data.query.pageids[0]].revisions[0]["*"] )[0];
disscussion = disscussion.substr( 0, disscussion.length-13 );
newText = data.query.pages[data.query.pageids[0]].revisions[0]["*"].replace( disscussion, '' );
console.log(disscussion);
disscusionLink = /קישור לדיון=\[\[(.*?)\|/.exec( disscussion )[1];
disscussion= disscussion.replace( /(\s*\|חתימה=|\}\}\n?$|[\s\S]+?\|תקציר=)/g, '' );
extract = ':ראו [['+disscusionLink+'|דיון]] ~~'+'~~\n' + disscussion;
disscussionArchived(extract, newText);
});
e.preventDefault();
}
$('h2').each(function()
{
var articleName = $(this).find('.mw-headline a').attr('title');
var archive = $('<a>ארכוב</a>').attr({
href: mw.util.wikiScript('index')+'?action=edit&title='+articleName,
title:articleName
}).data('articleName', articleName).css({'font-size':'small', 'margin-right':'20px'});
archive.click(archiveFeature);
$(this).append(archive);
});
});
}
})(mediaWiki, jQuery);