مدیاویکی:Gadget-vote.js

از مشروطه
پرش به ناوبری پرش به جستجو

نکته: پس از ذخیره کردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • اینترنت اکسپلورر: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
  • اپرا: بروید به Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
//developed by [[fa:User:reza1615]] for fa.wikipedia based on [[en:User:Paranomia/simplevote.js]]
Simplevote = new Object();
// If SimplevoteConfig aint exist.
if( typeof( SimplevoteConfig ) == 'undefined' ) {
	SimplevoteConfig = {};
}
if( typeof( SimplevoteConfig.summaryAd ) == 'undefined' ) {
	SimplevoteConfig.summaryAd = " با استفاده از [[وپ:ابرابزار|ابرابزار]]";
}
// <nowiki>
Simplevote.afd = new Object();
if( typeof( SimplevoteConfig.useAfdIcons ) == 'undefined' ) {
	SimplevoteConfig.useAfdIcons = true;
}
$( function() {
    if (wgAction == 'view' && wgNamespaceNumber == 4 && (wgPageName.search("هیئت_نظارت")==-1)){
	Simplevote.afd.normal();
}
}
)
Simplevote.afd.normal = function() {
		var anchors = new Array();
    		var oldanchors = document.getElementById('bodyContent').getElementsByTagName('a');
    		for (var i=0; i < oldanchors.length; i++) {
        		anchors[i] = oldanchors[i];
   		}
    		//var url_re = '/\?title='+wgpagename+'\/([^&]+)&action=edit&/';
    		var url, matches;
    		for (var i=0; i < anchors.length; i++) {
        		//if (!(matches = anchors[i].href.match(url_re))) continue;
			if (String(anchors[i]).search('&action=edit&section=T-1')>-1) {
			//var article = matches[1];
        		var na = document.createElement('a');
			var query = new QueryString( anchors[i].href.split('?',2)[1].toString() );
			var link = query.get('title');
        		na.href = "javascript:Simplevote.afd.voteon('"+escape(link).replace(/_/g,' ')+"')";
       			na.title = "نظر دادن برای "+unescape(link).replace(/_/g,' ').split('/',2)[1];
        		var inlink = document.createElement('sup');
        		inlink.appendChild(document.createTextNode('رای'));
        		na.appendChild(inlink);
        		anchors[i].parentNode.insertBefore(na, anchors[i].nextSibling);
   		}
	}
}
Simplevote.afd.voteon = function(link) {
        var Window = new SimpleWindow( 600, 200 );
        Window.setTitle( "نظردادن" );
        var form = new QuickForm( Simplevote.afd.voteon.evaluate );
	var categories = form.append( {
			type: 'select',
			name: 'vote',
			label: 'انتخاب رای: '
//			event: twinklearv.callback.change_category
		} );
	categories.append( {
			type: 'option',
			label: 'حذف',
			value: '{{حذف}}'
		} );
	
	categories.append( {
			type: 'option',
			label: 'بماند',
			value: '{{بماند}}'
		} );
	categories.append( {
			type: 'option',
			label: 'ادغام شود',
			value: '{{ادغام شود}}'
		} );
        categories.append( {
			type: 'option',
			label: 'موافق',
			value: "'''موافق''' "
		} );
	categories.append( {
			type: 'option',
			label: 'مخالف',
			value: "'''مخالف''' "
		} );
	categories.append( {
			type: 'option',
			label: 'نظر دادن',
			value: ':'
		} );
	form.append( {
			type: 'hidden',
			name: 'link',
			value: link
		} );
	form.append( {
			type: 'textarea',
			name: 'reason',
			label: 'توضیحات:'
		} );
        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': unescape(form.link.value), 
		'action': 'submit'
	};
	Status.init( form );
 
			Wikipedia.actionCompleted.redirect = "ویکی\u200cپدیا:نظرخواهی برای حذف";
			Wikipedia.actionCompleted.notice = "رای داده‌شد ([[وپ:ابرابزار|ابزار رای]]) ";               
                        var wikipedia_page = new Wikipedia.page(unescape(form.link.value));
                        wikipedia_page.setFollowRedirect( true );
 			wikipedia_page.load();
		        wikipedia_page.setEditSummary( 'نظر داده‌شد ([[وپ:ابرابزار|ابزار رای]])');
  
                var temptext =' ';
                var images=' ';
                var votetext = form.vote.value;
		var reason = form.reason.value;
                if(reason != 'نظر دادن') {
                var comment='\n*'+ votetext;
                } else{
                 var comment='\n:';
                }
                if(reason != '') {
		temptext = comment  + reason + ' ~~' + '~~';
                } else {
                temptext = comment + ' ~~' + '~~';
                }
         	//alert(temptext); // DEBUG
		wikipedia_page.setAppendText(temptext);
		wikipedia_page.append();
};