Change != {} to !$.isEmptyObject(): the former always returned true because objects...
[lhc/web/wiklou.git] / resources / Resources.php
index 7d4f50e..5a1f9d1 100644 (file)
@@ -8,53 +8,56 @@ return array(
        'noscript' => array( 'class' => 'ResourceLoaderNoscriptModule' ),
        'startup' => array( 'class' => 'ResourceLoaderStartUpModule' ),
        'user' => array( 'class' => 'ResourceLoaderUserModule' ),
-       'user.options' => array( 'class' => 'ResourceLoaderUserOptionsModule' ),
        'user.groups' => array( 'class' => 'ResourceLoaderUserGroupsModule' ),
+       'user.options' => array( 'class' => 'ResourceLoaderUserOptionsModule' ),
+       'user.tokens' => array( 'class' => 'ResourceLoaderUserTokensModule' ),
+       'filepage' => array( 'class' => 'ResourceLoaderFilePageModule' ),
 
        /* Skins */
 
        'skins.vector' => array(
                'styles' => array( 'vector/screen.css' => array( 'media' => 'screen' ) ),
+               'scripts' => 'vector/vector.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
        'skins.monobook' => array(
                'styles' => array(
                        'monobook/main.css' => array( 'media' => 'screen' ),
                ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
        'skins.simple' => array(
                'styles' => array( 'simple/main.css' => array( 'media' => 'screen' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
        'skins.chick' => array(
                'styles' => array( 'chick/main.css' => array( 'media' => 'screen,handheld' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
        'skins.modern' => array(
                'styles' => array( 'modern/main.css' => array( 'media' => 'screen' ),
-                                  'modern/print.css' => array( 'media' => 'print' ) ),
+                               'modern/print.css' => array( 'media' => 'print' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
        'skins.cologneblue' => array(
-               'styles' => array( 'common/cologneblue.css' => array( 'media' => 'screen' ) ),
+               'styles' => array( 'cologneblue/screen.css' => array( 'media' => 'screen' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
        'skins.nostalgia' => array(
-               'styles' => array( 'common/nostalgia.css' => array( 'media' => 'screen' ) ),
+               'styles' => array( 'nostalgia/screen.css' => array( 'media' => 'screen' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
        'skins.standard' => array(
                'styles' => array( 'common/wikistandard.css' => array( 'media' => 'screen' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
 
        /* jQuery */
@@ -69,10 +72,20 @@ return array(
        'jquery.async' => array(
                'scripts' => 'resources/jquery/jquery.async.js',
        ),
+       'jquery.appear' => array(
+               'scripts' => 'resources/jquery/jquery.appear.js',
+       ),
        'jquery.autoEllipsis' => array(
                'scripts' => 'resources/jquery/jquery.autoEllipsis.js',
                'dependencies' => 'jquery.highlightText',
        ),
+       'jquery.byteLength' => array(
+               'scripts' => 'resources/jquery/jquery.byteLength.js',
+       ),
+       'jquery.byteLimit' => array(
+               'scripts' => 'resources/jquery/jquery.byteLimit.js',
+               'dependencies' => 'jquery.byteLength',
+       ),
        'jquery.checkboxShiftClick' => array(
                'scripts' => 'resources/jquery/jquery.checkboxShiftClick.js',
        ),
@@ -97,10 +110,14 @@ return array(
        ),
        'jquery.expandableField' => array(
                'scripts' => 'resources/jquery/jquery.expandableField.js',
+               'dependencies' => 'jquery.delayedBind',
        ),
        'jquery.form' => array(
                'scripts' => 'resources/jquery/jquery.form.js',
        ),
+       'jquery.getAttrs' => array(
+               'scripts' => 'resources/jquery/jquery.getAttrs.js',
+       ),
        'jquery.highlightText' => array(
                'scripts' => 'resources/jquery/jquery.highlightText.js',
        ),
@@ -114,6 +131,9 @@ return array(
        'jquery.placeholder' => array(
                'scripts' => 'resources/jquery/jquery.placeholder.js',
        ),
+       'jquery.json' => array(
+               'scripts' => 'resources/jquery/jquery.json.js',
+       ),
        'jquery.localize' => array(
                'scripts' => 'resources/jquery/jquery.localize.js',
        ),
@@ -122,13 +142,25 @@ return array(
                'styles' => 'resources/jquery/jquery.makeCollapsible.css',
                'messages' => array( 'collapsible-expand', 'collapsible-collapse' ),
        ),
+       'jquery.mwPrototypes' => array(
+               'scripts' => 'resources/jquery/jquery.mwPrototypes.js',
+       ),
+       'jquery.qunit' => array(
+               'scripts' => 'resources/jquery/jquery.qunit.js',
+               'styles' => 'resources/jquery/jquery.qunit.css',
+       ),
        'jquery.suggestions' => array(
                'scripts' => 'resources/jquery/jquery.suggestions.js',
                'styles' => 'resources/jquery/jquery.suggestions.css',
+               'dependencies' => 'jquery.autoEllipsis',
        ),
        'jquery.tabIndex' => array(
                'scripts' => 'resources/jquery/jquery.tabIndex.js',
        ),
+       'jquery.tablesorter' => array(
+               'scripts' => 'resources/jquery/jquery.tablesorter.js',
+               'messages' => array( 'sort-descending', 'sort-ascending' ),
+       ),
        'jquery.textSelection' => array(
                'scripts' => 'resources/jquery/jquery.textSelection.js',
        ),
@@ -153,27 +185,33 @@ return array(
                        ),
                ),
                'dependencies' => 'jquery',
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.widget' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.widget.js',
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.mouse' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.mouse.js',
                'dependencies' => 'jquery.ui.widget',
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.position' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.position.js',
+               'group' => 'jquery.ui',
        ),
        // Interactions
        'jquery.ui.draggable' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.draggable.js',
                'dependencies' => array( 'jquery.ui.core', 'jquery.ui.mouse', 'jquery.ui.widget' ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.droppable' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.droppable.js',
                'dependencies' => array(
                        'jquery.ui.core', 'jquery.ui.mouse', 'jquery.ui.widget', 'jquery.ui.draggable',
                ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.resizable' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.resizable.js',
@@ -182,6 +220,7 @@ return array(
                        'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.resizable.css',
                ),
                'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget', 'jquery.ui.mouse' ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.selectable' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.selectable.js',
@@ -190,10 +229,12 @@ return array(
                        'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.selectable.css',
                ),
                'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget', 'jquery.ui.mouse' ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.sortable' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.sortable.js',
                'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget', 'jquery.ui.mouse' ),
+               'group' => 'jquery.ui',
        ),
        // Widgets
        'jquery.ui.accordion' => array(
@@ -203,6 +244,7 @@ return array(
                        'default' => 'resources/jquery.ui/themes/default/jquery.ui.accordion.css',
                        'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.accordion.css',
                ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.autocomplete' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.autocomplete.js',
@@ -211,6 +253,7 @@ return array(
                        'default' => 'resources/jquery.ui/themes/default/jquery.ui.autocomplete.css',
                        'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.autocomplete.css',
                ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.button' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.button.js',
@@ -219,6 +262,7 @@ return array(
                        'default' => 'resources/jquery.ui/themes/default/jquery.ui.button.css',
                        'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.button.css',
                ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.datepicker' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.datepicker.js',
@@ -281,6 +325,7 @@ return array(
                        'zh-hk' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-zh-HK.js',
                        'zh-tw' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-zh-TW.js',
                ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.dialog' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.dialog.js',
@@ -297,6 +342,7 @@ return array(
                        'default' => 'resources/jquery.ui/themes/default/jquery.ui.dialog.css',
                        'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.dialog.css',
                ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.progressbar' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.progressbar.js',
@@ -305,6 +351,7 @@ return array(
                        'default' => 'resources/jquery.ui/themes/default/jquery.ui.progressbar.css',
                        'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.progressbar.css',
                ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.slider' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.slider.js',
@@ -313,6 +360,7 @@ return array(
                        'default' => 'resources/jquery.ui/themes/default/jquery.ui.slider.css',
                        'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.slider.css',
                ),
+               'group' => 'jquery.ui',
        ),
        'jquery.ui.tabs' => array(
                'scripts' => 'resources/jquery.ui/jquery.ui.tabs.js',
@@ -321,59 +369,73 @@ return array(
                        'default' => 'resources/jquery.ui/themes/default/jquery.ui.tabs.css',
                        'vector' => 'resources/jquery.ui/themes/vector/jquery.ui.tabs.css',
                ),
+               'group' => 'jquery.ui',
        ),
        // Effects
        'jquery.effects.core' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.core.js',
                'dependencies' => 'jquery',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.blind' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.blind.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.bounce' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.bounce.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.clip' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.clip.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.drop' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.drop.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.explode' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.explode.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.fold' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.fold.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.highlight' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.highlight.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.pulsate' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.pulsate.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.scale' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.scale.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.shake' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.shake.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.slide' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.slide.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
        'jquery.effects.transfer' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.transfer.js',
                'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
        ),
 
        /* MediaWiki */
@@ -386,35 +448,128 @@ return array(
        'mediawiki.htmlform' => array(
                'scripts' => 'resources/mediawiki/mediawiki.htmlform.js',
        ),
-       'mediawiki.util' => array(
-               'scripts' => 'resources/mediawiki.util/mediawiki.util.js',
+       'mediawiki.Title' => array(
+               'scripts' => 'resources/mediawiki/mediawiki.Title.js',
+       ),
+       'mediawiki.user' => array(
+               'scripts' => 'resources/mediawiki/mediawiki.user.js',
+               'dependencies' => array(
+                       'jquery.cookie',
+               ),
+       ),
+       'mediawiki.page.startup' => array(
+               'scripts' => 'resources/mediawiki.page/mediawiki.page.startup.js',
+               'dependencies' => array(
+                       'jquery.client',
+               ),
+               'position' => 'top',
+       ),
+       'mediawiki.page.ready' => array(
+               'scripts' => 'resources/mediawiki.page/mediawiki.page.ready.js',
                'dependencies' => array(
                        'jquery.checkboxShiftClick',
+                       'jquery.makeCollapsible',
+                       'jquery.placeholder',
+               ),
+       ),
+       'mediawiki.util' => array(
+               'scripts' => 'resources/mediawiki/mediawiki.util.js',
+               'dependencies' => array(
                        'jquery.client',
                        'jquery.cookie',
                        'jquery.messageBox',
-                       'jquery.makeCollapsible',
-                       'jquery.placeholder',
+                       'jquery.mwPrototypes',
+               ),
+       ),
+       'mediawiki.page.mwsuggest' => array(
+               'scripts' => 'resources/mediawiki.page/mediawiki.page.mwsuggest.js',
+               'dependencies' => array( 
+                       'jquery.ui.autocomplete',
+               ),
+       ),
+       'mediawiki.page.ajaxCategories' => array(
+               'scripts' => 'resources/mediawiki.page/mediawiki.page.ajaxCategories.js',
+               'styles' => 'resources/mediawiki.page/mediawiki.page.ajaxCategories.css',
+               'dependencies' => array(
+                       'jquery.suggestions',
+                       'jquery.ui.dialog',
+                       'mediawiki.Title',
+               ),
+               'messages' => array(
+                       'ajax-add-category',
+                       'ajax-remove-category',
+                       'ajax-edit-category',
+                       'ajax-add-category-submit',
+                       'ajax-confirm-ok',
+                       'ajax-confirm-prompt',
+                       'ajax-confirm-title',
+                       'ajax-confirm-save',
+                       'ajax-confirm-save-all',
+                       'ajax-cancel',
+                       'ajax-add-category-summary',
+                       'ajax-remove-category-summary',
+                       'ajax-edit-category-summary',
+                       'ajax-add-category-question',
+                       'ajax-edit-category-question',
+                       'ajax-remove-category-question',
+                       'ajax-confirm-actionsummary',
+                       'ajax-error-title',
+                       'ajax-error-dismiss',
+                       'ajax-remove-category-error',
+                       'ajax-edit-category-error',
+                       'ajax-category-already-present',
+               ),
+       ),
+       'mediawiki.page.ajaxCategories.init' => array(
+               'scripts' => 'resources/mediawiki.page/mediawiki.page.ajaxCategories.init.js',
+               'dependencies' => array(
+                       'mediawiki.page.ajaxCategories',
                ),
-               'debugScripts' => 'resources/mediawiki.util/mediawiki.util.test.js',
        ),
-       'mediawiki.util.jpegmeta' => array(
-               'scripts' => 'resources/mediawiki.util/mediawiki.util.jpegmeta.js',
+       'mediawiki.libs.jpegmeta' => array(
+               'scripts' => 'resources/mediawiki.libs/mediawiki.libs.jpegmeta.js',
        ),
        'mediawiki.action.history' => array(
                'scripts' => 'resources/mediawiki.action/mediawiki.action.history.js',
-               'dependencies' => 'mediawiki.legacy.history',
+               'dependencies' => 'jquery.ui.button',
+               'group' => 'mediawiki.action.history',
+       ),
+       'mediawiki.action.history.diff' => array(
+               'styles' => 'resources/mediawiki.action/mediawiki.action.history.diff.css',
                'group' => 'mediawiki.action.history',
        ),
        'mediawiki.action.edit' => array(
                'scripts' => 'resources/mediawiki.action/mediawiki.action.edit.js',
+               'dependencies' => array(
+                       'jquery.textSelection',
+                       'jquery.byteLimit',
+               ),
        ),
        'mediawiki.action.view.rightClickEdit' => array(
                'scripts' => 'resources/mediawiki.action/mediawiki.action.view.rightClickEdit.js',
        ),
+       'mediawiki.action.view.metadata' => array(
+               'scripts' => 'resources/mediawiki.action/mediawiki.action.view.metadata.js',
+               'messages' => array( 'metadata-expand', 'metadata-collapse' ),
+       ),
        'mediawiki.action.watch.ajax' => array(
                'scripts' => 'resources/mediawiki.action/mediawiki.action.watch.ajax.js',
-               'dependencies' => 'mediawiki.util',
+               'messages' => array(
+                       'watch',
+                       'unwatch',
+                       'watching',
+                       'unwatching',
+                       'tooltip-ca-watch',
+                       'tooltip-ca-unwatch',
+                       'watcherrortext',
+               ),
+       ),
+
+       /* Special pages */
+
+       'mediawiki.special' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.js',
+               'styles' => 'resources/mediawiki.special/mediawiki.special.css',
        ),
        'mediawiki.special.preferences' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.preferences.js',
@@ -427,10 +582,23 @@ return array(
        ),
        'mediawiki.special.search' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.search.js',
+               'styles'  => 'resources/mediawiki.special/mediawiki.special.search.css',
        ),
        'mediawiki.special.block' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.block.js',
        ),
+       'mediawiki.special.undelete' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.undelete.js',
+       ),
+       'mediawiki.special.movePage' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.movePage.js',
+               'dependencies' => 'jquery.byteLimit',
+       ),
+       'mediawiki.special.recentchanges' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.recentchanges.js',
+               'dependencies' => array( 'mediawiki.special' ),
+               'position' => 'top',
+       ),
        'mediawiki.special.upload' => array(
                // @TODO: merge in remainder of mediawiki.legacy.upload
                'scripts' => 'resources/mediawiki.special/mediawiki.special.upload.js',
@@ -442,8 +610,9 @@ return array(
                        'size-gigabytes',
                        'largefileserver',
                ),
-               'dependencies' => array( 'mediawiki.util.jpegmeta' ),
+               'dependencies' => array( 'mediawiki.libs.jpegmeta' ),
        ),
+
        'mediawiki.language' => array(
                'scripts' => 'resources/mediawiki.language/mediawiki.language.js',
                'languageScripts' => array(
@@ -500,128 +669,68 @@ return array(
        'mediawiki.legacy.ajax' => array(
                'scripts' => 'common/ajax.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
-               'messages' => array(
-                       'watch',
-                       'unwatch',
-                       'watching',
-                       'unwatching',
-                       'tooltip-ca-watch',
-                       'tooltip-ca-unwatch',
-               ),
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
                'dependencies' => 'mediawiki.legacy.wikibits',
        ),
        'mediawiki.legacy.commonPrint' => array(
                'styles' => array( 'common/commonPrint.css' => array( 'media' => 'print' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
        'mediawiki.legacy.config' => array(
                'scripts' => 'common/config.js',
                'styles' => array( 'common/config.css', 'common/config-cc.css' ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
-               'dependencies' => 'mediawiki.legacy.wikibits',
-       ),
-       'mediawiki.legacy.diff' => array(
-               'scripts' => 'common/diff.js',
-               'styles' => 'common/diff.css',
-               'group' => 'mediawiki.action.history',
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
-               'dependencies' => 'mediawiki.legacy.wikibits',
-       ),
-       'mediawiki.legacy.edit' => array(
-               'scripts' => 'common/edit.js',
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
-               'dependencies' => 'mediawiki.legacy.wikibits',
-       ),
-       'mediawiki.legacy.history' => array(
-               'scripts' => 'common/history.js',
-               'group' => 'mediawiki.action.history',
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
                'dependencies' => 'mediawiki.legacy.wikibits',
        ),
        'mediawiki.legacy.IEFixes' => array(
                'scripts' => 'common/IEFixes.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
                'dependencies' => 'mediawiki.legacy.wikibits',
        ),
-       'mediawiki.legacy.metadata' => array(
-               'scripts' => 'common/metadata.js',
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
-               'dependencies' => 'mediawiki.legacy.wikibits',
-               'messages' => array( 'metadata-expand', 'metadata-collapse' ),
-       ),
-       'mediawiki.legacy.mwsuggest' => array(
-               'scripts' => 'common/mwsuggest.js',
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
-               'dependencies' => array( 'mediawiki.legacy.wikibits', 'jquery.client' ),
-               'messages' => array( 'search-mwsuggest-enabled', 'search-mwsuggest-disabled' ),
-       ),
-       'mediawiki.legacy.password' => array(
-               'scripts' => 'common/password.js',
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
-               'styles' => 'common/password.css',
-               'dependencies' => 'mediawiki.legacy.wikibits',
-       ),
-       'mediawiki.legacy.prefs' => array(
-               'scripts' => 'common/prefs.js',
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
-               'dependencies' => array( 'mediawiki.legacy.wikibits', 'mediawiki.htmlform' ),
-       ),
        'mediawiki.legacy.preview' => array(
                'scripts' => 'common/preview.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
                'dependencies' => 'mediawiki.legacy.wikibits',
        ),
        'mediawiki.legacy.protect' => array(
                'scripts' => 'common/protect.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
-               'dependencies' => 'mediawiki.legacy.wikibits',
-       ),
-       'mediawiki.legacy.search' => array(
-               'scripts' => 'common/search.js',
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
-               'styles' => 'common/search.css',
-               'dependencies' => 'mediawiki.legacy.wikibits',
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
+               'dependencies' => array(
+                       'mediawiki.legacy.wikibits',
+                       'jquery.byteLimit',
+               ),
        ),
        'mediawiki.legacy.shared' => array(
                'styles' => array( 'common/shared.css' => array( 'media' => 'screen' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
        'mediawiki.legacy.oldshared' => array(
                'styles' => array( 'common/oldshared.css' => array( 'media' => 'screen' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
        'mediawiki.legacy.upload' => array(
                'scripts' => 'common/upload.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
                'dependencies' => 'mediawiki.legacy.wikibits',
        ),
        'mediawiki.legacy.wikibits' => array(
                'scripts' => 'common/wikibits.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
                'dependencies' => 'mediawiki.language',
                'messages' => array( 'showtoc', 'hidetoc' ),
        ),
        'mediawiki.legacy.wikiprintable' => array(
                'styles' => array( 'common/wikiprintable.css' => array( 'media' => 'print' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => "{$GLOBALS['IP']}/skins",
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
 );