## Skin #####################################
global $wgAllowUserCss, $wgAllowUserJs;
- $defaultPreferences['skin'] = array(
- 'type' => 'radio',
- 'options' => self::generateSkinOptions( $user, $context ),
- 'label' => ' ',
- 'section' => 'rendering/skin',
- );
+ // Skin selector, if there is at least one valid skin
+ $skinOptions = self::generateSkinOptions( $user, $context );
+ if ( $skinOptions ) {
+ $defaultPreferences['skin'] = array(
+ 'type' => 'radio',
+ 'options' => $skinOptions,
+ 'label' => ' ',
+ 'section' => 'rendering/skin',
+ );
+ }
# Create links to user CSS/JS pages for all skins
# This code is basically copied from generateSkinOptions(). It'd
}
asort( $validSkinNames );
+ $foundDefault = false;
foreach ( $validSkinNames as $skinkey => $sn ) {
$linkTools = array();
# Mark the default skin
if ( $skinkey == $wgDefaultSkin ) {
$linkTools[] = $context->msg( 'default' )->escaped();
+ $foundDefault = true;
}
# Create preview link
$ret[$display] = $skinkey;
}
+ if ( !$foundDefault ) {
+ // If the default skin is not available, things are going to break horribly because the
+ // default value for skin selector will not be a valid value. Let's just not show it then.
+ return array();
+ }
+
return $ret;
}