getMainConfig()->get('IsekaiUserPointConfig'); if (!isset($pointConfig[$pointType])) { return '{' . $pointType . '}'; } else { $currentConfig = $pointConfig[$pointType]; if (isset($currentConfig['namemsg'])) { return wfMessage($currentConfig['namemsg'])->text(); } else { return $currentConfig['name']; } } } public static function getPointIcon($pointType) { $pointConfig = MediaWikiServices::getInstance()->getMainConfig()->get('IsekaiUserPointConfig'); if (!isset($pointConfig[$pointType])) { return ''; } $currentConfig = $pointConfig[$pointType]; if (!isset($currentConfig['icon']) || !isset($currentConfig['icon']['normal'])) { return ''; } $iconDom = []; foreach(['normal', 'invert'] as $iconType) { if (!isset($currentConfig['icon'][$iconType])) { continue; } $iconConfig = $currentConfig['icon'][$iconType] ?? $currentConfig['icon']['normal']; $className = $iconConfig['class'] ?? []; if (is_string($className)) { $className = explode(' ', $className); } $className[] = 'isekai-point-icon-' . $iconType; if (isset($iconConfig['image'])) { $iconDom[] = Html::element('img', [ 'src' => $iconConfig['image'], 'class' => implode(' ', $className), ]); } elseif (isset($iconConfig['html'])) { $iconDom[] = Html::rawElement('span', [ 'class' => implode(' ', $className), ], $iconConfig['html']); } else { $text = $iconConfig['text'] ?? ''; $iconDom[] = Html::element('span', [ 'class' => implode(' ', $className), ], $text); } } return Html::rawElement('span', [ 'class' => "isekai-point-icon isekai-point-icon-type-$pointType" ], implode('', $iconDom)); } }