在MediaWiki中,我想将历史记录中的用户名和最近更改更改为在用户首选项中输入的“真实姓名”。例如,在最近的变化中,我看到了这一点:
(diff) (hist) . . Somepage; 11:03 . . (+285) . . Coolguy123 (Talk | contribs | block)
但我想看到这个:
(diff) (hist) . . Somepage; 11:03 . . (+285) . . Billy Bob (Talk | contribs | block)
但是,我无法访问后端,所以我无法破解PHP
。这可以使用Javascript
和CSS
吗? (我可以修改MediaWiki:Common.js
和MediaWiki:Common.css
)
答案 0 :(得分:1)
您真的想将每个用户的用户名更改为他的真实姓名。根据您拥有的用户数量,可能需要一段时间,用户必须从此开始使用其真实姓名登录(旧用户名将不再有效)。除非系统管理员安装了Extension:Renameuser并且您获得了“官僚”权利,否则您自己也不可能自己做。
对于页面历史记录,可以使用?action=credits
使用AJAX请求相同的页面来获取所有用户名 - 真实姓名对(尝试“解析”HTML),尽管需要额外的HTTP请求对于这样一个使用频繁的功能。我会有客户端JavaScript请求,并在用户单击按钮时显示真实姓名。这样,只需使用历史记录快速识别维基破坏行为,就不会受到性能损失的影响。
Extension:PageHistoryRealnames将是服务器管理员可以安装的,而不是重命名用户(不确定最近的更改部分)。但是,性能影响可能是他拒绝这样做的一个原因。虽然MediaWiki除了用户ID号之外,还存储了用户的用户名和修订信息的单独副本,但实际名称不是(部分原因是它可以在用户的首选项中更改)。 (这就是为什么当维基百科的大型贡献者要求更改用户名时,可能需要一段时间,因为每个历史条目都需要更新。)这意味着必须使用SQL“LEFT JOIN”,这会导致速度减慢。
答案 1 :(得分:0)
如果您可以编辑MediaWiki名称空间,那么您拥有管理员权限,是吗?你可以看看Extension:ShowRealUsernames。理想情况下说服后端人员安装它,或者看看你是否可以将它合并到你提到的公共页面中。
注意:即使您可以从某个位置导入实名,每个用户都可以使用我的首选项覆盖这些名称。