User:Bosco-bot/common.js: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
mNo edit summary Tag: Reverted |
mNo edit summary Tag: Reverted |
||
| Line 21: | Line 21: | ||
// |
// |
||
/** |
/** |
||
* MediaWiki JS helper: |
* MediaWiki JS helper: 请求删除 / 請求刪除 |
||
* Adds a " |
* Adds a "请求删除 / 請求刪除" tab to the page toolbar. |
||
* When clicked, prompts for a reason and prepends {{delete|reason}}. |
* When clicked, prompts for a reason and prepends {{delete|reason}}. |
||
*/ |
*/ |
||
mw.loader.using(['mediawiki.util', 'mediawiki.api'], function () { |
mw.loader.using(['mediawiki.util', 'mediawiki.api'], function () { |
||
// |
// Detect user language (default to zh-hans if not set) |
||
var lang = mw.config.get('wgUserLanguage') || 'zh-hans'; |
|||
// Simplified vs Traditional labels |
|||
var isTraditional = ( |
|||
lang === 'zh-hant' || |
|||
lang === 'zh-hk' || |
|||
lang === 'zh-mo' || |
|||
lang === 'zh-tw' |
|||
); |
|||
var linkText = isTraditional ? '請求刪除' : '请求删除'; |
|||
var tooltip = linkText; |
|||
var summary = linkText; |
|||
var reasonPrompt = isTraditional ? '請輸入刪除理由:' : '请输入删除理由:'; |
|||
var errorMessage = isTraditional ? '儲存頁面時出錯' : '保存页面时出错'; |
|||
// Add the portlet link |
|||
var link = mw.util.addPortletLink( |
var link = mw.util.addPortletLink( |
||
'p-cactions', |
'p-cactions', // portlet: actions menu |
||
'#', |
'#', // href |
||
linkText, // link text |
|||
'ca-requestdeletion', |
'ca-requestdeletion', // id |
||
tooltip // tooltip |
|||
); |
); |
||
// |
// Click handler |
||
$(link).on('click', function (e) { |
$(link).on('click', function (e) { |
||
e.preventDefault(); |
e.preventDefault(); |
||
// Prompt user for reason |
// Prompt user for reason |
||
var reason = prompt( |
var reason = prompt(reasonPrompt); |
||
if (!reason) return; |
if (!reason) return; |
||
var pageName = mw.config.get('wgPageName'); |
var pageName = mw.config.get('wgPageName'); |
||
// Fetch current |
// Fetch current content |
||
new mw.Api().get({ |
new mw.Api().get({ |
||
action: 'query', |
action: 'query', |
||
| Line 65: | Line 82: | ||
title: pageName, |
title: pageName, |
||
text: newContent, |
text: newContent, |
||
summary: |
summary: summary |
||
}).done(function () { |
}).done(function () { |
||
location.reload(); |
location.reload(); |
||
}).fail(function (err) { |
}).fail(function (err) { |
||
alert( |
alert(errorMessage + ': ' + JSON.stringify(err)); |
||
}); |
}); |
||
}); |
}); |
||
Revision as of 04:09, 12 January 2026
// JWB
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js&action=raw&ctype=text/javascript');
// MarkRights-zh
importScript('User:Bosco/MediaWiki:Gadget-MarkRights.js'); // Backlink: [[User:Bosco/MediaWiki:Gadget-MarkRights.js]]
// Mass block
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Timotheus_Canens/massblock.js&action=raw&ctype=text/javascript');
// AdvancedRollback
mw.loader.load('//dev.miraheze.org/w/index.php?title=User:PB2008/AdvancedRollback/auto.js&action=raw&ctype=text/javascript');
// Diffedit
mw.loader.load( '//meta.wikimedia.org/w/index.php?title=User:Jon_Harald_Søby/diffedit.js&action=raw&ctype=text/javascript' );
// Edit count
(function(editCount) {
if (editCount !== null) mw.loader.addStyleTag('#pt-mycontris>a::after, .menu__item--userContributions>span>span::after, #mw-mf-page-left .menu__item--userContributions>span::after {content: " (' + editCount + ')"}')
})(mw.config.get('wgUserEditCount'));
//
/**
* MediaWiki JS helper: 请求删除 / 請求刪除
* Adds a "请求删除 / 請求刪除" tab to the page toolbar.
* When clicked, prompts for a reason and prepends {{delete|reason}}.
*/
mw.loader.using(['mediawiki.util', 'mediawiki.api'], function () {
// Detect user language (default to zh-hans if not set)
var lang = mw.config.get('wgUserLanguage') || 'zh-hans';
// Simplified vs Traditional labels
var isTraditional = (
lang === 'zh-hant' ||
lang === 'zh-hk' ||
lang === 'zh-mo' ||
lang === 'zh-tw'
);
var linkText = isTraditional ? '請求刪除' : '请求删除';
var tooltip = linkText;
var summary = linkText;
var reasonPrompt = isTraditional ? '請輸入刪除理由:' : '请输入删除理由:';
var errorMessage = isTraditional ? '儲存頁面時出錯' : '保存页面时出错';
// Add the portlet link
var link = mw.util.addPortletLink(
'p-cactions', // portlet: actions menu
'#', // href
linkText, // link text
'ca-requestdeletion', // id
tooltip // tooltip
);
// Click handler
$(link).on('click', function (e) {
e.preventDefault();
// Prompt user for reason
var reason = prompt(reasonPrompt);
if (!reason) return;
var pageName = mw.config.get('wgPageName');
// Fetch current content
new mw.Api().get({
action: 'query',
prop: 'revisions',
rvprop: 'content',
rvslots: 'main',
titles: pageName
}).done(function (data) {
var pages = data.query.pages;
var pageId = Object.keys(pages)[0];
var content = pages[pageId].revisions[0].slots.main['*'];
// Prepend delete template
var newContent = '{{delete|' + reason + '}}\n' + content;
// Save with fixed summary
new mw.Api().postWithToken('csrf', {
action: 'edit',
title: pageName,
text: newContent,
summary: summary
}).done(function () {
location.reload();
}).fail(function (err) {
alert(errorMessage + ': ' + JSON.stringify(err));
});
});
});
});