首页
历史
最近更改
特殊页面
社群首页
设置
关于Vocawiki
免责声明
Vocawiki
搜索
用户菜单
创建账号
登录
查看“︁MediaWiki:Gadget-MarkRights.js”︁的源代码
←
MediaWiki:Gadget-MarkRights.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
/** * 取自 oldid=46135902 * MediaWiki:Gadget-MarkRights.js * 修改自 * https://zh.wikipedia.org/w/index.php?title=Draft:MediaWiki:Gadget-MarkRights.js/50678903&oldid=52825311 * * 在最近修改、监视列表、条目历史记录等位置以特殊格式显示有特殊权限的用户 * */ $(function () { var groups = { // 全站管理型权限 bureaucrat: {list: [], class: "markrights-bureaucrat"}, checkuser: {list: [], class: "markrights-checkuser"}, suppress: {list: [], class: "markrights-suppress"}, sysop: {list: [], class: "markrights-sysop"}, 'interface-admin': {list: [], class: "markrights-interface-admin"}, templateeditor: {list: [], class: "markrights-templateeditor"}, transwiki: {list: [], class: "markrights-transwiki"}, 'ipblock-exempt-grantor': {list: [], class: "markrights-ipblock-exempt-grantor"}, 'temporary-account-viewer': {list: [], class: "markrights-temporary-account-viewer"}, // 页面管理型权限 'abusefilter-helper': {list: [], class: "markrights-abusefilter-helper"}, 'abusefilter': {list: [], class: "markrights-abusefilter"}, patroller: {list: [], class: "markrights-patroller"}, rollbacker: {list: [], class: "markrights-rollbacker"}, autoreviewer: {list: [], class: "markrights-autoreviewer"}, 'event-organizer': {list: [], class: "markrights-event-organizer"}, // 大量操作型权限 accountcreator: {list: [], class: "markrights-accountcreator"}, 'massmessage-sender': {list: [], class: "markrights-massmessage-sender"}, // 确认权限 confirmed: {list: [], class: "markrights-confirmed"}, autoconfirmed: {list: [], class: "markrights-autoconfirmed"}, extendedconfirmed: {list: [], class: "markrights-extendedconfirmed"}, // 机器权限 bot: {list: [], class: "markrights-bot"}, flood: {list: [], class: "markrights-flood"}, // IPBE 'ipblock-exempt': {list: [], class: "markrights-ipblock-exempt"}, // arbcom arbcom: {list: [], class: "markrights-arbcom"}, // 安全投票相关权限 electionclerk: {list: [], class: "markrights-electionclerk"}, scrutineer: {list: [], class: "markrights-scrutineer"}, }; var markUG = function () { var $users = $('a.mw-userlink:not(.mw-anonuserlink)'); var users = {}; $users.each(function (index, link) { users[link.textContent] = true; }); var queue1 = []; var queue2 = []; var i = 0, n = 0; for (var user in users) { queue1.push(user); i++; if (i === 50) { queue2.push(queue1); queue1 = []; n++; i = 0; } } if (queue1.length > 0) { queue2.push(queue1); n++; } var getUsername = function (url) { var username = mw.util.getParamValue('title', url); var decode1 = function (username) { return decodeURIComponent((function (u) { try { return decodeURIComponent(u.replace('User:', '').replace(/_/g, ' ')); } catch (e) { return u.replace('User:', '').replace(/_/g, ' ').replace(/%(?!\d+)/g, '%25'); } })(username)) }; if (username) { return decode1(username); } username = url.match(/\/wiki\/User:(.+?)$/); var decode2 = function (username) { return decodeURIComponent((function (u) { try { return decodeURIComponent(u.replace(/_/g, ' ')); } catch (e) { return u.replace(/_/g, ' ').replace(/%(?!\d+)/g, '%25'); } })(username)) }; if (username) { return decode2(username[1]); } return null; }; var done = function () { var group; $('a.mw-userlink:not(.mw-anonuserlink)').each(function (i, el) { var username = getUsername($(el).attr('href')); if (username) { for (group in groups) { if (groups.hasOwnProperty(group)) { if (groups[group].list.indexOf(username) > -1) { $(el).append('<sup class="' + groups[group].class + '"></sup>'); } } } } }); }; var process = function (data) { var users, group; if (data.query && data.query.users) { users = data.query.users; } else { users = []; } for (var i = 0; i < users.length; i++) { var user = users[i]; if (user.groups) { for (group in groups) { if (groups.hasOwnProperty(group) && user.groups.indexOf(group) > -1) { groups[group].list.push(user.name); } } } } n--; if (n <= 0) { done(); } }; var api = new mw.Api({ userAgent: 'Gadget-MarkRights' }); for (var j = 0; j < queue2.length; j++) { api.get({ format: 'json', action: 'query', list: 'users', usprop: 'groups', ususers: queue2[j].join('|') }).done(process); } }; mw.hook('wikipage.content').add(function(e) { if (e.attr('id') === 'mw-content-text') { markUG(); return; } if (e.hasClass('mw-changeslist')) markUG(); }); });
返回
MediaWiki:Gadget-MarkRights.js
。