User:小躍/Filetestpixel.js

维基百科,自由的百科全书

注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。

// <nowiki>
//start First function
var fws=0;
mw.loader.using(['jquery.ui'], function() {
var filetestpixeladd = mw.util.addPortletLink;
$( filetestpixeladd('p-cactions', '#摘要', wgULS('档案像素维护','檔案像素維護'), 't-fileshow', '檢查檔案是否符合非合理使用大小像素的模板', '', '#ca-move') ).click(fileshow);
function fileshowget(event){
	event.preventDefault();
 if($('#filetitle').val().match("[fF]ile:")||$('#filetitle').val().match("[Ii]mage:")){
	var api=new mw.Api();
	api.get( {
		'action' : 'query',
		'titles' : $('#filetitle').val(),
		'prop'   : 'revisions|info|imageinfo',
		'iiprop' :'size',
		'intoken' : 'edit',
		'rvprop' : 'content',
		'indexpageids' : 1
	} ).done( function (result) {
		result = result.query;
		var page = result.pages[result.pageids[0]];
		var fc=page.revisions[0]["*"].toString();
		var fcrm=fc.replace(/\{\{[Nn]on-free reduce\}\}/,"");
		var fh=page.imageinfo[0].height;
		var fw=page.imageinfo[0].width;
		fws=fw;
		var fwp=fh/fw;
		var fts=fws*(fws*fwp);
		for(var i=0;i<5000;i++){
		fts=fws*(fws*fwp);
		if(fts>100000){fws=fws-1;}	
		}
		
		var ft=parseInt(fh)*parseInt(fw);
		var ffff=ft>100000?'<br><font color="blue"><b>建議寬度縮小至'+fws+'像素</b></font><br><font color="red"><b>已超過容許像素,請務必縮小</b></font>':'<br><font color="green"><b>容許像素的範圍內</b></font>';
		var fsave;
		if(fc.match("{{[Ii]fd")){fsave='<br><font color="green"><b>已掛上檔案存廢討論的模板';}else if(fc.match("{{[Dd]elete")){
			fsave='<br><font color="green"><b>已掛上快速刪除的模板';
		}else if(fc.match("{{[Mm]ove to commons}}")){
			fsave='<br><font color="green"><b>已掛上請求移動至維基共享資源的維護模板';
		}else if(ft<=100000&&fc.match("{{[Nn]on-free reduce}}")){
			if(mw.config.get('wgUserName')=="Eagerbot"){
				filetestpixellog( 'User:Eagerbot/log/1','User:Eagerbot/log/1','*[[:'+$('#filetitle').val()+']]:於~~'+'~~'+'~移除標記。','機器人:添加{{Non-free reduce}}移除標記的日誌');
				filetestpixellogcount('User:Eagerbot/log/1/count','User:Eagerbot/log/1/count','{{subst:'+'#expr:'+'{{subst:'+'#invoke:PatternedCandidateUtils|count|title=User:Eagerbot/log/1|pattern=File:|black=header}}'+'+1}}','機器人:更新偵測管理{{Non-free reduce}}維護模板的次數。');
			}
			fileremovenfr(mw.config.get('wgPageName'),$('#filetitle').val(),fcrm,'經偵測為容許像素,依照[[Wikipedia:非自由版权图片大小|非自由版權圖片大小]]全自動快速移除{{Non-free reduce}}維護模板',mw.util.getUrl($('#filetitle').val()));
			fsave='<br><font color="green"><b>成功自動移除{{Non-free reduce}}模板,請稍候重新整理。</b></font>';
		}else{
		if(fc.match("{{[Nn]on-free reduce}}")){fsave='<br><font color="green"><b>已掛上{{Non-free reduce}}模板</b></font>';}else{
			if(ft>=500000){
				filespeedaddnfr(mw.config.get('wgPageName'),$('#filetitle').val(),'{{Non-free reduce}}','偵測為過大圖片(建議縮小寬度至'+fws+'像素),依照[[Wikipedia:非自由版权图片大小|非自由版權圖片大小]]全自動快速添加{{Non-free reduce}}維護模板',mw.util.getUrl($('#filetitle').val()));
				if(mw.config.get('wgUserName')=="Eagerbot"){
					filetestpixellog( 'User:Eagerbot/log/1','User:Eagerbot/log/1','*[[:'+$('#filetitle').val()+']]:於~~'+'~~'+'~標記,並建議縮小寬度至'+fws+'像素。','機器人:添加{{Non-free reduce}}標記的日誌');
					filetestpixellogcount('User:Eagerbot/log/1/count','User:Eagerbot/log/1/count','{{subst:'+'#expr:'+'{{subst:'+'#invoke:PatternedCandidateUtils|count|title=User:Eagerbot/log/1|pattern=File:|black=header}}'+'+1}}','機器人:更新偵測管理{{Non-free reduce}}維護模板的次數。');
				}
				fsave='<br><font color="green"><b>已自動掛上{{Non-free reduce}}模板</b></font>';
			}
			else if(ft>=110001&&ft<500000&&mw.config.get('wgUserName')=="Eagerbot"){
				filetestpixellog( 'User:Eagerbot/log/1','User:Eagerbot/log/1','*[[:'+$('#filetitle').val()+']]:於~~'+'~~'+'~標記,並建議縮小寬度至'+fws+'像素。','機器人:添加{{Non-free reduce}}標記的日誌');
				filetestpixellogcount('User:Eagerbot/log/1/count','User:Eagerbot/log/1/count','{{subst:'+'#expr:'+'{{subst:'+'#invoke:PatternedCandidateUtils|count|title=User:Eagerbot/log/1|pattern=File:|black=header}}'+'+1}}','機器人:更新偵測管理{{Non-free reduce}}維護模板的次數。');
				filespeedaddnfr(mw.config.get('wgPageName'),$('#filetitle').val(),'{{Non-free reduce}}','機器人:建議縮小寬度至'+fws+'像素,依照[[Wikipedia:非自由版权图片大小|非自由版權圖片大小]]全自動快速添加{{Non-free reduce}}維護模板',mw.util.getUrl($('#filetitle').val()));
				fsave='<br><font color="green"><b>已自動掛上{{Non-free reduce}}模板</b></font>';
			}
			else if(fc.match("{{[Nn]on-free reduce}}")){fsave='<br><font color="green"><b>已掛上{{Non-free reduce}}模板</b></font>';}else{fsave=ft>100000?'<br><input id="wpfilesave" value="添加維護模板" title="添加模板" type="button"/>':'';}}
		}
		
	$('<div id="filenfrshowing" title="檔案像素檢測器">' +
	  '<label>顯示檔案名稱:'+$('#filetitle').val()+'</label>'+
	  '<br/><img src="http://upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif" />'+
	  '<label>高度:'+fh+'像素;寬度:'+fw+'像素;總共:'+ft+'像素'+ffff+'</label>'+fsave+'</div>' ).dialog({
        modal: false,
        autoOpen: true,
        width: 500
    });
	$('#wpfilesave').click(fileaddnfrsave);	
	} );
	
 }else{
 $('<div id="filenfrshowing2" title="檔案像素檢測器">' +
	  '<label>您未使用檔案的開頭名稱File:檔案名稱或Image:檔案名稱,請重新輸入。</label>'+
	  '</div>' ).dialog({
        modal: false,
        autoOpen: true,
        width: 500
    });
}	
}
function fileshow(event){
	event.preventDefault();
	autoinputfilename=mw.config.get('wgPageName').match("File:")||mw.config.get('wgPageName').match("Image:")?mw.config.get('wgPageName'):'';
	$('<div id="fileshowing" title="檔案像素輸入名稱器">' +
	 '<input id="filetitle" type="text" size="30" value="'+autoinputfilename+'" placeholder="請輸入檔案名稱(File 或 Image)" />'+
     '<input id="wpfileshow" value="顯示像素" title="顯示像素" type="button"/>'+
     '</div>'
     ).dialog({
        modal: false,
        autoOpen: true,
        width: 500
    });
    $('#wpfileshow').click(fileshowget);
}
function filespeedaddnfr( tracePage,destinationPage,edittext,editsummary,linkTo) {
	var api = new mw.Api();
	api.get( {
		'action' : 'query',
		'titles' : tracePage,
		'prop'   : 'revisions|info',
		'intoken' : 'edit',
		'rvprop' : 'content',
		'indexpageids' : 1
	} ).done( function (result) {
		result = result.query;
		var page = result.pages[result.pageids[0]];
	if(mw.config.get('wgUserName')=="Eagerbot"){
		api.post( {
			'action' : 'edit',
			'title' : destinationPage,
			'prependtext' :edittext+"\n",
			'minor':1,
			'bot':1,
			'summary' :editsummary,
			'token' : mw.user.tokens.get( 'csrfToken' )
		} ).done( function () {
			window.location.href = linkTo;
		} );
	}else{
		api.post( {
			'action' : 'edit',
			'title' : destinationPage,
			'prependtext' :edittext+"\n",
			'minor':1,
			'summary' :editsummary,
			'token' : mw.user.tokens.get( 'csrfToken' )
		} ).done( function () {
			window.location.href = linkTo;
		} );
	}
	} );
}
function fileremovenfr( tracePage,destinationPage,edittext,editsummary,linkTo) {
	var api = new mw.Api();
	api.get( {
		'action' : 'query',
		'titles' : tracePage,
		'prop'   : 'revisions|info',
		'intoken' : 'edit',
		'rvprop' : 'content',
		'indexpageids' : 1
	} ).done( function (result) {
		result = result.query;
		var page = result.pages[result.pageids[0]];
	if(mw.config.get('wgUserName')=="Eagerbot"){
		api.post( {
			'action' : 'edit',
			'title' : destinationPage,
			'text' :edittext,
			'minor':1,
			'bot':1,
			'summary' :editsummary,
			'token' : mw.user.tokens.get( 'csrfToken' )
		} ).done( function () {
			window.location.href = linkTo;
		} );
	}else{
		api.post( {
			'action' : 'edit',
			'title' : destinationPage,
			'text' :edittext,
			'minor':1,
			'summary' :editsummary,
			'token' : mw.user.tokens.get( 'csrfToken' )
		} ).done( function () {
			window.location.href = linkTo;
		} );
	}
	} );
}
function fileaddnfr( tracePage,destinationPage,edittext,editsummary,linkTo) {
	var api = new mw.Api();
	api.get( {
		'action' : 'query',
		'titles' : tracePage,
		'prop'   : 'revisions|info',
		'intoken' : 'edit',
		'rvprop' : 'content',
		'indexpageids' : 1
	} ).done( function (result) {
		result = result.query;
		var page = result.pages[result.pageids[0]];
	if(mw.config.get('wgUserName')=="Eagerbot"){
		api.post( {
			'action' : 'edit',
			'title' : destinationPage,
			'prependtext' :edittext+"\n",
			'minor':1,
			'bot':1,
			'summary' :editsummary,
			'token' : mw.user.tokens.get( 'csrfToken' )
		} ).done( function () {
			window.location.href = linkTo;
		} );
	}else{
		api.post( {
			'action' : 'edit',
			'title' : destinationPage,
			'prependtext' :edittext+"\n",
			'minor':1,
			'summary' :editsummary,
			'token' : mw.user.tokens.get( 'csrfToken' )
		} ).done( function () {
			window.location.href = linkTo;
		} );
	}
	} );
}
function filetestpixellogcount(tracePage,destinationPage,edittext,editsummary) {
	var api = new mw.Api();
	api.get( {
		'action' : 'query',
		'titles' : tracePage,
		'prop'   : 'revisions|info',
		'intoken' : 'edit',
		'rvprop' : 'content',
		'indexpageids' : 1
	} ).done( function (result) {
		result = result.query;
		var page = result.pages[result.pageids[0]];
		api.post( {
			'action' : 'edit',
			'title' : destinationPage,
			'text' :edittext,
			'minor':1,
			'bot':1,
			'summary' :editsummary,
			'token' : mw.user.tokens.get( 'csrfToken' )
		} ).done( function () {
		} );
	});
}
function filetestpixellog( tracePage,destinationPage,edittext,editsummary) {
	var api = new mw.Api();
	api.get( {
		'action' : 'query',
		'titles' : tracePage,
		'prop'   : 'revisions|info',
		'intoken' : 'edit',
		'rvprop' : 'content',
		'indexpageids' : 1
	} ).done( function (result) {
		result = result.query;
		var page = result.pages[result.pageids[0]];
		api.post( {
			'action' : 'edit',
			'title' : destinationPage,
			'appendtext' :"\n"+edittext,
			'minor':1,
			'bot':1,
			'summary' :editsummary,
			'token' : mw.user.tokens.get( 'csrfToken' )
		} ).done( function () {
		} );
	});
}
function fileaddnfrsave(event){
	event.preventDefault();
	if(mw.config.get('wgUserName')=="Eagerbot"){
		filetestpixellog( 'User:Eagerbot/log/1','User:Eagerbot/log/1','*[[:'+$('#filetitle').val()+']]:於~~'+'~~'+'~標記,並建議縮小寬度至'+fws+'像素。','機器人:添加{{Non-free reduce}}標記的日誌');
		filetestpixellogcount('User:Eagerbot/log/1/count','User:Eagerbot/log/1/count','{{subst:'+'#expr:'+'{{subst:'+'#invoke:PatternedCandidateUtils|count|title=User:Eagerbot/log/1|pattern=File:|black=header}}'+'+1}}','機器人:更新偵測管理{{Non-free reduce}}維護模板的次數。');
	}
	fileaddnfr(mw.config.get('wgPageName'),$('#filetitle').val(),'{{Non-free reduce}}','建議縮小寬度至'+fws+'像素,依照[[Wikipedia:非自由版权图片大小|非自由版權圖片大小]]半自動快速添加{{Non-free reduce}}維護模板',mw.util.getUrl($('#filetitle').val()));
	
	$('<div id="fileaddnfrdone" title="檔案像素檢測器編輯訊息">' +
	  '<label>Your editing is done. Please hold......</label>'+
	  '</div>' ).dialog({
        modal: false,
        autoOpen: true,
        width: 500
    });
}

//end First function
});
// </nowiki>