「MediaWiki:Gadget-twinklefluff.js」:修訂間差異

跳至導覽 跳至搜尋
小
繁簡轉換
小 (v2.0-1033-g265ec81-dirty)
 
小 (繁簡轉換)
 
(未顯示由 1 位使用者於中間所作的 1 次修訂)
if( parseInt( Morebits.queryString.get('oldid'), 10) !== mw.config.get('wgCurRevisionId') ) {
// not latest revision
alert("无無法回退,页頁面在此期间間已被修改。");
return;
}
if( mw.config.get('wgNamespaceNumber') === -1 && mw.config.get('wgCanonicalSpecialPageName') === "Contributions" ) {
//Get the username these contributions are for
var logLink = $('#contentSub').find('a[title^="Special:日志誌"]').last();
if (logLink.length>0) //#215 -- there is no log link on Special:Contributions with no user
{
var revVandLink = document.createElement('a');
revVandLink.appendChild( spanTag( 'Black', '[' ) );
revVandLink.appendChild( spanTag( 'Red', '破坏壞' ) );
revVandLink.appendChild( spanTag( 'Black', ']' ) );
revVandNode.appendChild(revVandLink);
});
revertToRevisionLink.appendChild( spanTag( 'Black', '[' ) );
revertToRevisionLink.appendChild( spanTag( 'SaddleBrown', '恢复復此版本' ) );
revertToRevisionLink.appendChild( spanTag( 'Black', ']' ) );
 
});
revertToRevisionLink.appendChild( spanTag( 'Black', '[' ) );
revertToRevisionLink.appendChild( spanTag( 'SaddleBrown', '恢复復此版本' ) );
revertToRevisionLink.appendChild( spanTag( 'Black', ']' ) );
ntitle.insertBefore( revertToRevision, ntitle.firstChild );
 
vandLink.appendChild( spanTag( 'Black', '[' ) );
vandLink.appendChild( spanTag( 'Red', '回退(破坏壞)' ) );
vandLink.appendChild( spanTag( 'Black', ']' ) );
 
'intoken': 'edit'
};
var wikipedia_api = new Morebits.wiki.api( '抓取较較早修订訂版本信息', query, Twinkle.fluff.callbacks.main );
wikipedia_api.params = params;
wikipedia_api.post();
'format': 'xml'
};
var wikipedia_api = new Morebits.wiki.api( '抓取较較早修订訂版本信息', query, Twinkle.fluff.callbacks.toRevision.main );
wikipedia_api.params = { rev: oldrev };
wikipedia_api.post();
 
if (revertToRevID !== self.params.rev) {
self.statitem.error( '抓取到的修订訂版本与请與請求的修订訂版本不符,取消。' );
return;
}
 
var optional_summary = prompt( "请输請輸入回退理由: ", "" ); // padded out to widen prompt in Firefox
if (optional_summary === null)
{
self.statelem.error( '由用户戶取消。' );
return;
}
var summary = Twinkle.fluff.formatSummary("回退到由$USER做出的修订訂版本" + revertToRevID, revertToUser, optional_summary);
 
var query = {
 
Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
Morebits.wiki.actionCompleted.notice = "修订訂版本完成";
 
var wikipedia_api = new Morebits.wiki.api( '保存回退内內容', query, Twinkle.fluff.callbacks.complete, self.statelem);
wikipedia_api.params = self.params;
wikipedia_api.post();
 
if( revs.length < 1 ) {
self.statelem.error( '没沒有其它修订訂版本,无無法回退' );
return;
}
var top = revs[0];
if( lastrevid < self.params.revid ) {
Morebits.status.error( '错误錯誤', [ '从從伺服务器取得的最新修订訂版本ID ', Morebits.htmlNode( 'strong', lastrevid ), ' 小于於目前所显顯示的修订訂版本ID。这這可能意味着当著當前修订訂版本已被删刪除、伺服务器延迟遲、或抓取到了坏壞掉的信息。取消。' ] );
return;
}
var index = 1;
if( self.params.revid !== lastrevid ) {
Morebits.status.warn( '警告', [ '最新修订訂版本 ', Morebits.htmlNode( 'strong', lastrevid ), ' 与與我们們的修订訂版本 ', Morebits.htmlNode( 'strong', self.params.revid ), '不等' ] );
if( lastuser === self.params.user ) {
switch( self.params.type ) {
case 'vand':
Morebits.status.info( '信息', [ '最新修订訂版本由 ', Morebits.htmlNode( 'strong', self.params.user ) , ' 做出,因我们們假定破坏壞,继续繼續回退操作。' ]);
break;
case 'agf':
Morebits.status.warn( '警告', [ '最新修订訂版本由 ', Morebits.htmlNode( 'strong', self.params.user ) , ' 做出,因我们們假定善意,取消回退操作,因为问题為問題可能已被修复復。' ]);
return;
default:
Morebits.status.warn( '提示', [ '最新修订訂版本由 ', Morebits.htmlNode( 'strong', self.params.user ) , ' 做出,但我们还們還是不回退了。' ] );
return;
}
Twinkle.fluff.whiteList.indexOf( top.getAttribute( 'user' ) ) !== -1 && revs.length > 1 &&
revs[1].getAttribute( 'pageId' ) === self.params.revid) {
Morebits.status.info( '信息', [ '最新修订訂版本由 ', Morebits.htmlNode( 'strong', lastuser ), ',一个個可信的机機器人做出,之前的版本被认为認為是破坏壞,继续繼續回退操作。' ] );
index = 2;
} else {
Morebits.status.error( '错误錯誤', [ '最新修订訂版本由 ', Morebits.htmlNode( 'strong', lastuser ), ' 做出,所以这个這個修订訂版本可能已经經被回退了,取消回退操作。'] );
return;
}
switch( self.params.type ) {
case 'vand':
Morebits.status.info( '信息', [ '将对將對 ', Morebits.htmlNode( 'strong', self.params.user ), ' 执執行破坏壞回退,这這是一个個可信的机機器人,我们們假定您要回退前一个個修订訂版本。' ] );
index = 2;
self.params.user = revs[1].getAttribute( 'user' );
break;
case 'agf':
Morebits.status.warn( '提示', [ '将对將對 ', Morebits.htmlNode( 'strong', self.params.user ), ' 执執行善意回退,这這是一个個可信的机機器人,取消回退操作。' ] );
return;
case 'norm':
/* falls through */
default:
var cont = confirm( '选择選擇了常规規回退,但最新修改是由一个個可信的机機器人(' + self.params.user + ')做出的。您是否想回退前一个個修订訂版本?' );
if( cont ) {
Morebits.status.info( '信息', [ '将对將對 ', Morebits.htmlNode( 'strong', self.params.user ), ' 执執行常规規回退,这這是一个個可信的机機器人,基于确认於確認,我们将們將回退前一个個修订訂版本。' ] );
index = 2;
self.params.user = revs[1].getAttribute( 'user' );
} else {
Morebits.status.warn( '提示', [ '将对將對 ', Morebits.htmlNode( 'strong', self.params.user ), ' 执執行常规規回退,这這是一个個可信的机機器人,基于确认於確認,我们們仍将將回退这个這個修订訂版本。' ] );
}
break;
 
if( ! found ) {
self.statelem.error( [ '未找到之前的修订訂版本,可能 ', Morebits.htmlNode( 'strong', self.params.user ), ' 是唯一贡献貢獻者,或这个這個用户连续戶連續做出了超过過 ' + Twinkle.getPref('revertMaxRevisions') + ' 次编辑編輯。' ] );
return;
}
 
if( ! count ) {
Morebits.status.error( '错误錯誤', "我们将們將要回退0个個修订訂版本,这没這沒有意义義,所以取消回退操作。可能是因为这个為這個修订訂版本已经經被回退,但修订訂版本ID仍是一样樣的。" );
return;
}
var userHasAlreadyConfirmedAction = false;
if (self.params.type !== 'vand' && count > 1) {
if ( !confirm( self.params.user + ' 连续連續做出了 ' + count + ' 次编辑編輯,是否要回退所有这這些?') ) {
Morebits.status.info( '提示', '用户戶取消操作' );
return;
}
self.params.gooduser = good_revision.getAttribute( 'user' );
 
self.statelem.status( [ Morebits.htmlNode( 'strong', count ), ' 个個修订訂版本之前由 ', Morebits.htmlNode( 'strong', self.params.gooduser ), ' 做出的修订訂版本 ', Morebits.htmlNode( 'strong', self.params.goodid ) ] );
 
var summary, extra_summary;
switch( self.params.type ) {
case 'agf':
extra_summary = prompt( "可选選的编辑編輯摘要: ", "" ); // padded out to widen prompt in Firefox
if (extra_summary === null)
{
self.statelem.error( '用户戶取消操作。' );
return;
}
userHasAlreadyConfirmedAction = true;
 
summary = Twinkle.fluff.formatSummary("回退$USER做出的出于於[[WP:AGF|善意]]的编辑編輯", self.params.user, extra_summary);
break;
 
 
summary = "回退[[Special:Contributions/" +
self.params.user + "|" + self.params.user + "]] ([[User talk:" + self.params.user + "|讨论討論]])" +
"做出的 " + self.params.count + " 次编辑編輯,到由" +
self.params.gooduser + "做出的前一个個修订訂版本 " + Twinkle.getPref('summaryAd');
break;
 
default:
if( Twinkle.getPref('offerReasonOnNormalRevert') ) {
extra_summary = prompt( "可选選的编辑編輯摘要: ", "" ); // padded out to widen prompt in Firefox
if (extra_summary === null)
{
self.statelem.error( '用户戶取消操作。' );
return;
}
}
 
summary = Twinkle.fluff.formatSummary("回退$USER做出的" + self.params.count + "次编辑編輯", self.params.user, extra_summary);
break;
}
 
if (Twinkle.getPref('confirmOnFluff') && !userHasAlreadyConfirmedAction && !confirm("回退页頁面:您确確定吗嗎?")) {
self.statelem.error( '用户戶取消操作。' );
return;
}
Twinkle.getPref('openTalkPage').indexOf( self.params.type ) !== -1 &&
mw.config.get('wgUserName') !== self.params.user ) {
Morebits.status.info( '信息', [ '打开開用户戶 ', Morebits.htmlNode( 'strong', self.params.user ), ' 的对话页對話頁' ] );
 
query = {
Morebits.wiki.actionCompleted.notice = "回退完成";
 
var wikipedia_api = new Morebits.wiki.api( '保存回退内內容', query, Twinkle.fluff.callbacks.complete, self.statelem);
wikipedia_api.params = self.params;
wikipedia_api.post();
code.style.fontFamily = "monospace";
code.appendChild(document.createTextNode(blacklist));
apiobj.statelem.error(['不能回退,因URL', code, '在垃圾黑名单單中。']);
} else if ($edit.attr('nochange') === '') {
apiobj.statelem.warn("要回退到的版本与当與當前版本相同,没沒什么麼要做的");
} else {
apiobj.statelem.info("完成");
var contribsLen = unescape(encodeURIComponent(contribsLink)).length;
if (resultLen + contribsLen <= 255) {
var talkLink = " ([[User talk:" + userName + "|讨论討論]])";
if (resultLen + contribsLen + unescape(encodeURIComponent(talkLink)).length <= 255) {
result = result.replace("$USER", contribsLink + talkLink);
1,975

次編輯

導覽選單