如何在 Mediawiki 操作下拉菜单中隐藏匿名用户的自定义操作?
How to hide custom actions for anonymous users in the Mediawiki actions dropdown menu?
在这张图片中,我想为匿名用户隐藏“加密签名”按钮。
我试过各种方法,比如
- 根据https://www.mediawiki.org/wiki/Manual:User_rights设置
$wgGroupPermissions['*']['mycustomaction'] = false;
- 定义我的自定义操作的
getRestriction
方法,例如 returns upload
- 定义我的自定义操作的
doesWrites
方法 returns true
正确的做法是什么?我查看了 MediaWiki 的源代码,例如DeleteAction.php
,却找不到任何线索。
我的扩展基于https://github.com/wikimedia/mediawiki-extensions-examples. And my solution is to modify the hooks that adds the action, https://github.com/wikimedia/mediawiki-extensions-examples/blob/f9c26110ca265c9298d436cd79a85935ad148ee1/includes/Hooks.php#L111做权限检查:
if ( !$this->permissionManager->userCan( 'edit', $skin->getUser(), $skin->getTitle() ) ) {
return;
}
在这张图片
我试过各种方法,比如
- 根据https://www.mediawiki.org/wiki/Manual:User_rights设置
$wgGroupPermissions['*']['mycustomaction'] = false;
- 定义我的自定义操作的
getRestriction
方法,例如 returnsupload
- 定义我的自定义操作的
doesWrites
方法 returnstrue
正确的做法是什么?我查看了 MediaWiki 的源代码,例如DeleteAction.php
,却找不到任何线索。
我的扩展基于https://github.com/wikimedia/mediawiki-extensions-examples. And my solution is to modify the hooks that adds the action, https://github.com/wikimedia/mediawiki-extensions-examples/blob/f9c26110ca265c9298d436cd79a85935ad148ee1/includes/Hooks.php#L111做权限检查:
if ( !$this->permissionManager->userCan( 'edit', $skin->getUser(), $skin->getTitle() ) ) {
return;
}