Skip to content

Commit

Permalink
feat:UCenterURL config
Browse files Browse the repository at this point in the history
litwak913 committed Nov 10, 2022
1 parent 50d022a commit b3f9ded
Showing 6 changed files with 62 additions and 5 deletions.
41 changes: 41 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# MW-Utils
MCBBS Wiki 对 MediaWiki 的增强和扩展。

支持 MediaWiki 版本:MediaWiki 1.37及以上
## 功能
* 自定义页脚文字
* UCenter 用户头像嵌入
* MCBBS 用户积分分析(依赖 [Highcharts](https://www.highcharts.com/)[bbswiki-api](https://github.com/mcbbs-wiki/wiki-api),在@Salt-lovely的积分分析 Widget 基础上修改)
* BiliBili 视频嵌入
## 安装
* 从 Release 下载压缩包,解压后将 `MCBBSWikiUtils` 文件夹放置到您的 `extensions/` 文件夹。
* 将下列代码放置在您的LocalSettings.php的底部:
```php
wfLoadExtension('MCBBSWikiUtils');
```
* 根据需要进行配置。
* 完成 – 在您的wiki上导航至Special:Version,以验证已成功安装扩展。
## 配置
```php
// 若希望使用 UCenter 头像嵌入功能,请指定 UCenter 的通信 URL。
//(注意 URL 末不带斜杠)
$wgUCenterURL='https://example.com/uc_server';

// 如:(以 MCBBS 为示例)
$wgUCenterURL='https://www.mcbbs.net/uc_server';
```
## 使用
### 自定义页脚文字
可以通过编辑 MediaWiki:Footerinfo 来自定义页面页脚。
### UCenter 用户头像嵌入
```html
<ucenter-avatar uid="UCenter 用户 UID" />
```
### MCBBS 用户积分分析
```html
<mcbbs-credit uid="MCBBS 用户 UID" />
```
### BiliBili 视频嵌入
```html
<bilibili bv="视频 BV 号(必填)" width="视频宽度(可选)" height="视频高度(可选)"/>
```
8 changes: 8 additions & 0 deletions extension.json
Original file line number Diff line number Diff line change
@@ -45,5 +45,13 @@
"ResourceFileModulePaths": {
"localBasePath": "resources",
"remoteExtPath": "MCBBSWikiUtils/resources"
},
"ConfigRegistry": {
"MCBBSWikiUtils": "GlobalVarConfig::newInstance"
},
"config": {
"UCenterURL": {
"value": ""
}
}
}
3 changes: 2 additions & 1 deletion i18n/en.json
Original file line number Diff line number Diff line change
@@ -2,5 +2,6 @@
"bilibili-nobvid":"Error:No specified video BV id.",
"mcbbscredit-loading":"Fetching MCBBS credit information,Please wait.",
"mcbbscredit":"MCBBS Credit",
"mcbbscredit-input-uid":"Forum UID"
"mcbbscredit-input-uid":"Forum UID",
"ucenteravatar-noucenterurl":"Error:$wgUCenterURL not found."
}
3 changes: 2 additions & 1 deletion i18n/zh-hans.json
Original file line number Diff line number Diff line change
@@ -2,5 +2,6 @@
"bilibili-nobvid":"错误:未指定视频的 BV 号。",
"mcbbscredit-loading":"正在获取 MCBBS 积分信息,请稍后。",
"mcbbscredit":"MCBBS 积分分析",
"mcbbscredit-input-uid":"论坛 UID"
"mcbbscredit-input-uid":"论坛 UID",
"ucenteravatar-noucenterurl":"错误:未设置 $wgUCenterURL。"
}
2 changes: 1 addition & 1 deletion includes/Hooks.php
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ public function onSkinAddFooterLinks(Skin $skin, string $key, array &$footerlink
}
public function onParserFirstCallInit($parser)
{
$parser->setHook('mcbbs-avatar', [Tags::class, 'renderTagMCBBSAvatar']);
$parser->setHook('ucenter-avatar', [Tags::class, 'renderTagUCenterAvatar']);
$parser->setHook('mcbbs-credit', [Tags::class, 'renderTagMCBBSCredit']);
$parser->setHook('bilibili', [Tags::class, 'renderTagBilibili']);
}
10 changes: 8 additions & 2 deletions includes/Tags.php
Original file line number Diff line number Diff line change
@@ -5,18 +5,24 @@
use Parser;
use PPFrame;
use Html;
use MediaWiki\MediaWikiServices;

class Tags
{
public static function renderTagMCBBSAvatar($input, array $args, Parser $parser, PPFrame $frame)
public static function renderTagUCenterAvatar($input, array $args, Parser $parser, PPFrame $frame)
{
$parser->getOutput()->addModuleStyles('ext.mcbbswikiutils.avatar');
if (isset($args['mili'])) {
return Html::element('p', ['class' => 'mili'], '迷离可爱!');
}
$config = MediaWikiServices::getInstance()->getConfigFactory()->makeConfig( 'MCBBSWikiUtils' );
$ucenter = $config->get( 'UCenterURL' );
if(empty($ucenter)){
return Html::element('p',['style' => 'color:red;font-size:160%'],wfMessage('ucenteravatar-noucenterurl')->text());
}
$uid = isset($args['uid']) ? htmlspecialchars($args['uid']) : '1';
$image = Html::element('img', [
'src' => "https://www.mcbbs.net/uc_server/avatar.php?uid=$uid&size=big",
'src' => "$ucenter/avatar.php?uid=$uid&size=big",
'class' => "mcbbs-avatar mcbbs-avatar-$uid",
'data-uid' => $uid
], '');

0 comments on commit b3f9ded

Please sign in to comment.