הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (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);