+
+ /**
+ * Prepend the $extraSkinSpecific assoc. array to the $skinSpecific assoc. array.
+ * Both of them represent a 'skinScripts' or 'skinStyles' definition.
+ *
+ * @param array &$skinSpecific
+ * @param array $extraSkinSpecific
+ */
+ private function extendSkinSpecific( &$skinSpecific, $extraSkinSpecific ) {
+ // For each skin where skinStyles/skinScripts are defined, add our ones at the beginning
+ foreach ( $skinSpecific as $skin => $files ) {
+ if ( !is_array( $files ) ) {
+ $files = [ $files ];
+ }
+ if ( isset( $extraSkinSpecific[$skin] ) ) {
+ $skinSpecific[$skin] = array_merge( [ $extraSkinSpecific[$skin] ], $files );
+ } elseif ( isset( $extraSkinSpecific['default'] ) ) {
+ $skinSpecific[$skin] = array_merge( [ $extraSkinSpecific['default'] ], $files );
+ }
+ }
+ // Add our remaining skinStyles/skinScripts for skins that did not have them defined
+ foreach ( $extraSkinSpecific as $skin => $file ) {
+ if ( !isset( $skinSpecific[$skin] ) ) {
+ $skinSpecific[$skin] = $file;
+ }
+ }
+ }