From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

// <nowiki>

Simplevote.afd = new Object();

if( typeof( SimplevoteConfig.useAfdIcons ) == 'undefined' ) {

	SimplevoteConfig.useAfdIcons = true;

}

addOnloadHook( function() {

	Simplevote.afd.normal();

}

);

Simplevote.afd.normal = function() {

	if(mw.config.get('wgPageName').indexOf( 'Wikipedia:Articles_for_deletion/Log/') != -1 ) { // yes its redundant, but it works for safety purposes

		// afdhelper code goes here

		var anchors = new Array();

    		var oldanchors = document.getElementById('bodyContent').getElementsByTagName('a');

    		for (var i=0; i < oldanchors.length; i++) {

        		anchorsi = oldanchorsi];

   		}

    		var url_re = /\?title=Wikipedia:Articles_for_deletion\/([^&]+)&action=edit&/;

    		var url, matches;

    		for (var i=0; i < anchors.length; i++) {

        		if (!(matches = anchorsi].href.match(url_re)) || (matches1].substr(0, 4) == 'Log/')) continue;

			var article = matches1];

        		var na = document.createElement('a');

			var query = new QueryString( anchorsi].href.split('?',2)[1].toString() );

			var link = query.get('title');

        		na.href = "javascript:Simplevote.afd.voteon('"+escape(link).replace(/_/g,' ')+"')";

       			na.title = "Vote on deletion of "+unescape(link).replace(/_/g,' ').split('/',2)[1];

        		var inlink = document.createElement('sup');

        		inlink.appendChild(document.createTextNode('vote'));

        		na.appendChild(inlink);

        		anchorsi].parentNode.insertBefore(na, anchorsi].nextSibling);

   		}

	}

}

Simplevote.afd.voteon = function(link) {

        var Window = new SimpleWindow( 600, 225 );

        Window.setTitle( "Create a vote" );

        var form = new QuickForm( Simplevote.afd.voteon.evaluate );

	var categories = form.append( {

			type: 'select',

			name: 'vote',

			label: 'Select vote: '

//			event: twinklearv.callback.change_category

		} );

	categories.append( {

			type: 'option',

			label: 'Delete',

			value: 'Symbol delete vote.svg|Delete'

		} );

	categories.append( {

			type: 'option',

			label: 'Keep',

			value: 'Symbol keep vote.svg|Keep'

		} );

	categories.append( {

			type: 'option',

			label: 'Speedy delete',

			value: 'Symbol delete vote.svg|Speedy delete'

		} );

	categories.append( {

			type: 'option',

			label: 'Merge/redirect',

			value: 'Symbol merge vote.svg|Symbol redirect vote.svg|Merge/redirect'

		} );

	categories.append( {

			type: 'option',

			label: 'Redirect',

			value: 'Symbol redirect vote.svg|Redirect'

		} );

	categories.append( {

			type: 'option',

			label: 'Merge',

			value: 'Symbol merge vote.svg|Merge'

		} );

	categories.append( {

			type: 'option',

			label: 'Strong keep',

			value: 'Symbol keep vote.svg|Strong keep'

		} );

 

	categories.append( {

			type: 'option',

			label:'Strong delete',

			name: 'Symbol delete vote.svg|Strong delete'

		} );

	categories.append( {

			type: 'option',

			label: 'Weak keep',

			value: 'Symbol keep vote.svg|Weak keep'

		} );

	categories.append( {

			type: 'option',

			label:'Weak delete',

			name: 'Symbol delete vote.svg|Weak delete'

		} );

	categories.append( {

			type: 'option',

			label:'Comment',

			name: 'Symbol comment vote.svg|Comment'

		} );

	form.append( {

			type: 'hidden',

			name: 'link',

			value: link

		} );

	form.append( {

			type: 'textarea',

			name: 'reason',

			label: 'Comment:'

		} );

        form.append( { type:'submit' } );

        var result = form.render();

	Window.setContent( result );

	Window.display();

}

Simplevote.afd.voteon.evaluate = function(e) {

        var form = e.target;

//       alert( form.vote.value + ' on ' + form.link.value + ' for reason "' + form.reason.value + '"' );

var params = {

		vote: form.vote.value,

//		article: form.link.value, // just in case, hopefully temp as it is unneccesary

		reason: form.reason.value

	};

	var query = { 

		'title': form.link.value, 

		'action': 'submit'

	};

	Status.init( form );

 

	Wikipedia.actionCompleted.redirect = null; // we will try null and see if it works, was previously mw.config.get('wgPageName')

	Wikipedia.actionCompleted.notice = "Adding vote";

	var wikipedia_wiki = new Wikipedia.wiki( 'Grabbing vote page for article ' + form.link.value.split('/',2)[1], query, Simplevote.afd.voteon.callbacks.main );

	wikipedia_wiki.params = params;

	wikipedia_wiki.get();

}

Simplevote.afd.voteon.callbacks = {

main: function(self) {

		// code to make the vote goes here - self.params.vote, and self.params.reason are available - responseXML should be available too

		var rawvote = self.params.vote;

		var reason = self.params.reason;

		var form = self.responseXML.getElementById('editform');

		if( !form ) {

//			Status.error( 'Failed to retrieve edit form.' );

			return;

		}

		var text = form.wpTextbox1.value; // now we have it in a nice var, we can do various operations on it

//                Status.info( 'Automatically adding vote to page text...' );

                var votearr = rawvote.split('|');

                var votetext = votearrvotearr.length-1];

                if(reason != '') {

		temptext = '\'\'\'' + votetext + '\'\'\' — ' + reason + ' ~~' + '~~';

                } else {

                temptext = '\'\'\'' + votetext + '\'\'\' ~~' + '~~';

                }

                for(var i=0; i<votearr.length-1; i++) {

                if(i==0) {

                images = '[[Image:' + votearri + '|15px]]';

                } else {

                images += '[[Image:' + votearri + '|15px]]';

                }

                }

                if(SimplevoteConfig.useAfdIcons) {

                temptext = '\n*' + images + ' ' + temptext;

                } else {

                temptext = '\n*' + temptext;

                }

                if(votetext == 'Comment') {

                summary = 'Added ' + votetext.toLowerCase() + SimplevoteConfig.summaryAd + '.';

                } else {

                summary = 'Voted ' + votetext.toLowerCase() + SimplevoteConfig.summaryAd + '.';

                }

                text += temptext

        	// alert(text); // DEBUG

		var postData = {

			'wpMinoredit': undefined,

			'wpWatchthis': undefined,

			'wpStarttime': form.wpStarttime.value,

			'wpEdittime': form.wpEdittime.value,

			'wpAutoSummary': form.wpAutoSummary.value,

			'wpEditToken': form.wpEditToken.value,

			'wpSummary': summary,

			'wpTextbox1': text

		};

//                Status.info( 'Saving changes...' );

               	  self.post( postData );

//                Status.info( 'Done' )

	}

}

// </nowiki>
From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

// <nowiki>

Simplevote.afd = new Object();

if( typeof( SimplevoteConfig.useAfdIcons ) == 'undefined' ) {

	SimplevoteConfig.useAfdIcons = true;

}

addOnloadHook( function() {

	Simplevote.afd.normal();

}

);

Simplevote.afd.normal = function() {

	if(mw.config.get('wgPageName').indexOf( 'Wikipedia:Articles_for_deletion/Log/') != -1 ) { // yes its redundant, but it works for safety purposes

		// afdhelper code goes here

		var anchors = new Array();

    		var oldanchors = document.getElementById('bodyContent').getElementsByTagName('a');

    		for (var i=0; i < oldanchors.length; i++) {

        		anchorsi = oldanchorsi];

   		}

    		var url_re = /\?title=Wikipedia:Articles_for_deletion\/([^&]+)&action=edit&/;

    		var url, matches;

    		for (var i=0; i < anchors.length; i++) {

        		if (!(matches = anchorsi].href.match(url_re)) || (matches1].substr(0, 4) == 'Log/')) continue;

			var article = matches1];

        		var na = document.createElement('a');

			var query = new QueryString( anchorsi].href.split('?',2)[1].toString() );

			var link = query.get('title');

        		na.href = "javascript:Simplevote.afd.voteon('"+escape(link).replace(/_/g,' ')+"')";

       			na.title = "Vote on deletion of "+unescape(link).replace(/_/g,' ').split('/',2)[1];

        		var inlink = document.createElement('sup');

        		inlink.appendChild(document.createTextNode('vote'));

        		na.appendChild(inlink);

        		anchorsi].parentNode.insertBefore(na, anchorsi].nextSibling);

   		}

	}

}

Simplevote.afd.voteon = function(link) {

        var Window = new SimpleWindow( 600, 225 );

        Window.setTitle( "Create a vote" );

        var form = new QuickForm( Simplevote.afd.voteon.evaluate );

	var categories = form.append( {

			type: 'select',

			name: 'vote',

			label: 'Select vote: '

//			event: twinklearv.callback.change_category

		} );

	categories.append( {

			type: 'option',

			label: 'Delete',

			value: 'Symbol delete vote.svg|Delete'

		} );

	categories.append( {

			type: 'option',

			label: 'Keep',

			value: 'Symbol keep vote.svg|Keep'

		} );

	categories.append( {

			type: 'option',

			label: 'Speedy delete',

			value: 'Symbol delete vote.svg|Speedy delete'

		} );

	categories.append( {

			type: 'option',

			label: 'Merge/redirect',

			value: 'Symbol merge vote.svg|Symbol redirect vote.svg|Merge/redirect'

		} );

	categories.append( {

			type: 'option',

			label: 'Redirect',

			value: 'Symbol redirect vote.svg|Redirect'

		} );

	categories.append( {

			type: 'option',

			label: 'Merge',

			value: 'Symbol merge vote.svg|Merge'

		} );

	categories.append( {

			type: 'option',

			label: 'Strong keep',

			value: 'Symbol keep vote.svg|Strong keep'

		} );

 

	categories.append( {

			type: 'option',

			label:'Strong delete',

			name: 'Symbol delete vote.svg|Strong delete'

		} );

	categories.append( {

			type: 'option',

			label: 'Weak keep',

			value: 'Symbol keep vote.svg|Weak keep'

		} );

	categories.append( {

			type: 'option',

			label:'Weak delete',

			name: 'Symbol delete vote.svg|Weak delete'

		} );

	categories.append( {

			type: 'option',

			label:'Comment',

			name: 'Symbol comment vote.svg|Comment'

		} );

	form.append( {

			type: 'hidden',

			name: 'link',

			value: link

		} );

	form.append( {

			type: 'textarea',

			name: 'reason',

			label: 'Comment:'

		} );

        form.append( { type:'submit' } );

        var result = form.render();

	Window.setContent( result );

	Window.display();

}

Simplevote.afd.voteon.evaluate = function(e) {

        var form = e.target;

//       alert( form.vote.value + ' on ' + form.link.value + ' for reason "' + form.reason.value + '"' );

var params = {

		vote: form.vote.value,

//		article: form.link.value, // just in case, hopefully temp as it is unneccesary

		reason: form.reason.value

	};

	var query = { 

		'title': form.link.value, 

		'action': 'submit'

	};

	Status.init( form );

 

	Wikipedia.actionCompleted.redirect = null; // we will try null and see if it works, was previously mw.config.get('wgPageName')

	Wikipedia.actionCompleted.notice = "Adding vote";

	var wikipedia_wiki = new Wikipedia.wiki( 'Grabbing vote page for article ' + form.link.value.split('/',2)[1], query, Simplevote.afd.voteon.callbacks.main );

	wikipedia_wiki.params = params;

	wikipedia_wiki.get();

}

Simplevote.afd.voteon.callbacks = {

main: function(self) {

		// code to make the vote goes here - self.params.vote, and self.params.reason are available - responseXML should be available too

		var rawvote = self.params.vote;

		var reason = self.params.reason;

		var form = self.responseXML.getElementById('editform');

		if( !form ) {

//			Status.error( 'Failed to retrieve edit form.' );

			return;

		}

		var text = form.wpTextbox1.value; // now we have it in a nice var, we can do various operations on it

//                Status.info( 'Automatically adding vote to page text...' );

                var votearr = rawvote.split('|');

                var votetext = votearrvotearr.length-1];

                if(reason != '') {

		temptext = '\'\'\'' + votetext + '\'\'\' — ' + reason + ' ~~' + '~~';

                } else {

                temptext = '\'\'\'' + votetext + '\'\'\' ~~' + '~~';

                }

                for(var i=0; i<votearr.length-1; i++) {

                if(i==0) {

                images = '[[Image:' + votearri + '|15px]]';

                } else {

                images += '[[Image:' + votearri + '|15px]]';

                }

                }

                if(SimplevoteConfig.useAfdIcons) {

                temptext = '\n*' + images + ' ' + temptext;

                } else {

                temptext = '\n*' + temptext;

                }

                if(votetext == 'Comment') {

                summary = 'Added ' + votetext.toLowerCase() + SimplevoteConfig.summaryAd + '.';

                } else {

                summary = 'Voted ' + votetext.toLowerCase() + SimplevoteConfig.summaryAd + '.';

                }

                text += temptext

        	// alert(text); // DEBUG

		var postData = {

			'wpMinoredit': undefined,

			'wpWatchthis': undefined,

			'wpStarttime': form.wpStarttime.value,

			'wpEdittime': form.wpEdittime.value,

			'wpAutoSummary': form.wpAutoSummary.value,

			'wpEditToken': form.wpEditToken.value,

			'wpSummary': summary,

			'wpTextbox1': text

		};

//                Status.info( 'Saving changes...' );

               	  self.post( postData );

//                Status.info( 'Done' )

	}

}

// </nowiki>

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook