mediawiki-skins-Vector/Vector.php
Florianschmidtwelzow b02d0da6a7 Add version check for Vector
Sometimes, someone tries to install git master version of Vector on
a stable version of MediaWiki, which can result in a PHP error, e.g.
because of the missing status indicators in MW 1.24.

Add a version check to Vector.php to check, if a minimum mediawiki version
(actual 1.25) is installed in order to use this version.

Change-Id: I10f071253e48e6492949ebbc3c07964c747e885f
2014-12-15 12:15:34 +01:00

117 lines
4.2 KiB
PHP

<?php
/**
* Vector - Modern version of MonoBook with fresh look and many usability
* improvements.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Skins
*/
if ( version_compare( $wgVersion, '1.25c', '<' ) ) {
echo 'This version of the Vector skin requires at least MediaWiki 1.25, you have ' . $wgVersion .
'. You can download a more appropriate version here: https://www.mediawiki.org/wiki/Special:SkinDistributor/Vector';
exit();
}
$GLOBALS['wgExtensionCredits']['skin'][] = array(
'path' => __FILE__,
'name' => 'Vector',
'namemsg' => 'skinname-vector',
'descriptionmsg' => 'vector-skin-desc',
'url' => 'https://www.mediawiki.org/wiki/Skin:Vector',
'author' => array( 'Trevor Parscal', 'Roan Kattouw', '...' ),
'license-name' => 'GPLv2+',
);
// Register files
$GLOBALS['wgAutoloadClasses']['SkinVector'] = __DIR__ . '/SkinVector.php';
$GLOBALS['wgAutoloadClasses']['VectorTemplate'] = __DIR__ . '/VectorTemplate.php';
$GLOBALS['wgMessagesDirs']['Vector'] = __DIR__ . '/i18n';
// Register skin
SkinFactory::getDefaultInstance()->register( 'vector', 'Vector', function(){
$config = ConfigFactory::getDefaultInstance()->makeConfig( 'vector' );
return new SkinVector( $config );
} );
// Register config
$GLOBALS['wgConfigRegistry']['vector'] = 'GlobalVarConfig::newInstance';
// Configuration options
/**
* Search form look.
* - true = use an icon search button
* - false = use Go & Search buttons
*/
$GLOBALS['wgVectorUseSimpleSearch'] = true;
/**
* Watch and unwatch as an icon rather than a link.
* - true = use an icon watch/unwatch button
* - false = use watch/unwatch text link
*/
$GLOBALS['wgVectorUseIconWatch'] = true;
// Register modules
$GLOBALS['wgResourceModules']['skins.vector.styles'] = array(
'styles' => array(
'screen.less' => array( 'media' => 'screen' ),
'screen-hd.less' => array( 'media' => 'screen and (min-width: 982px)' ),
),
'remoteSkinPath' => 'Vector',
'localBasePath' => __DIR__,
);
$GLOBALS['wgResourceModules']['skins.vector.js'] = array(
'scripts' => array(
'collapsibleTabs.js',
'vector.js',
),
'position' => 'top',
'dependencies' => array(
'jquery.throttle-debounce',
'jquery.tabIndex',
),
'remoteSkinPath' => 'Vector',
'localBasePath' => __DIR__,
);
// Apply module customizations
$GLOBALS['wgResourceModuleSkinStyles']['vector'] = array(
'jquery.tipsy' => 'skinStyles/jquery.tipsy.less',
'jquery.ui.core' => array(
'skinStyles/jquery.ui/jquery.ui.core.css',
'skinStyles/jquery.ui/jquery.ui.theme.css',
),
'jquery.ui.accordion' => 'skinStyles/jquery.ui/jquery.ui.accordion.css',
'jquery.ui.autocomplete' => 'skinStyles/jquery.ui/jquery.ui.autocomplete.css',
'jquery.ui.button' => 'skinStyles/jquery.ui/jquery.ui.button.css',
'jquery.ui.datepicker' => 'skinStyles/jquery.ui/jquery.ui.datepicker.css',
'jquery.ui.dialog' => 'skinStyles/jquery.ui/jquery.ui.dialog.css',
'jquery.ui.progressbar' => 'skinStyles/jquery.ui/jquery.ui.progressbar.css',
'jquery.ui.resizable' => 'skinStyles/jquery.ui/jquery.ui.resizable.css',
'jquery.ui.selectable' => 'skinStyles/jquery.ui/jquery.ui.selectable.css',
'jquery.ui.slider' => 'skinStyles/jquery.ui/jquery.ui.slider.css',
'jquery.ui.tabs' => 'skinStyles/jquery.ui/jquery.ui.tabs.css',
'mediawiki.notification' => 'skinStyles/mediawiki.notification.less',
'mediawiki.special' => 'skinStyles/mediawiki.special.less',
'mediawiki.special.preferences' => 'skinStyles/mediawiki.special.preferences.less',
'remoteSkinPath' => 'Vector',
'localBasePath' => __DIR__,
);