);
$skins = $this->parent->findExtensions( 'skins' )->value;
+ '@phan-var array[] $skins';
$skinHtml = $this->getFieldsetStart( 'config-skins' );
$skinNames = array_map( 'strtolower', array_keys( $skins ) );
'value' => $chosenSkinName,
] );
- // @phan-suppress-next-line PhanTypeNoAccessiblePropertiesForeach
foreach ( $skins as $skin => $info ) {
if ( isset( $info['screenshots'] ) ) {
$screenshotText = $this->makeScreenshotsLink( $skin, $info['screenshots'] );
$this->addHTML( $skinHtml );
$extensions = $this->parent->findExtensions()->value;
+ '@phan-var array[] $extensions';
$dependencyMap = [];
if ( $extensions ) {
$extByType = [];
$types = SpecialVersion::getExtensionTypes();
// Sort by type first
- // @phan-suppress-next-line PhanTypeNoAccessiblePropertiesForeach
foreach ( $extensions as $ext => $info ) {
if ( !isset( $info['type'] ) || !isset( $types[$info['type']] ) ) {
// We let extensions normally define custom types, but
return null;
}
+ /**
+ * @param string $name
+ * @param array $screenshots
+ */
private function makeScreenshotsLink( $name, $screenshots ) {
global $wgLang;
if ( count( $screenshots ) > 1 ) {
$links = [];
$counter = 1;
- // @phan-suppress-next-line PhanTypeNoAccessiblePropertiesForeach
foreach ( $screenshots as $shot ) {
$links[] = Html::element(
'a',