mediawiki-extensions-Multim.../MultimediaViewer.php
Mark Holmquist 95a88d43d1 Use oojs to extend multilightbox objects
Simple now, only really aliases the classes, but we'll use them to replace
the hooking infrastructure in the near future.

Change-Id: I963a4887a717c9bb064e30fa5fb86bbccb7186a1
2013-11-18 13:50:02 -08:00

260 lines
6.8 KiB
PHP

<?php
/*
* This file is part of the MediaWiki extension MultimediaViewer.
*
* MultimediaViewer 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.
*
* MultimediaViewer 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 MultimediaViewer. If not, see <http://www.gnu.org/licenses/>.
*
* @file
* @ingroup extensions
* @author Mark Holmquist <mtraceur@member.fsf.org>
* @copyright Copyright © 2013, Mark Holmquist
*/
$moduleInfoML = array(
'localBasePath' => __DIR__ . '/resources/multilightbox',
'remoteExtPath' => 'MultimediaViewer/resources/multilightbox',
);
$moduleInfoMMV = array(
'localBasePath' => __DIR__ . '/resources/ext.multimediaViewer',
'remoteExtPath' => 'MultimediaViewer/resources/ext.multimediaViewer',
);
$moduleInfoMoment = array(
'localBasePath' => __DIR__ . '/resources/momentjs',
'remoteExtPath' => 'MultimediaViewer/resources/momentjs',
);
$moduleInfoOOJS = array(
'localBasePath' => __DIR__ . '/resources/ext.multimediaViewer.oojs',
'remoteExtPath' => 'MultimediaViewer/resources/ext.multimediaViewer.oojs',
);
$wgExtensionMessagesFiles['MultimediaViewer'] = __DIR__ . '/MultimediaViewer.i18n.php';
// Hack while Roan and Krinkle get their shit together
$wgResourceModules['ext.multimediaViewer.oojs'] = array_merge( array(
'scripts' => array(
'oojs.js',
),
), $moduleInfoOOJS);
$wgResourceModules['multilightbox.interface'] = array_merge( array(
'scripts' => array(
'lightboxinterface.js',
),
'styles' => array(
'multilightbox.css',
),
), $moduleInfoML );
$wgResourceModules['multilightbox.image'] = array_merge( array(
'scripts' => array(
'lightboximage.js',
),
), $moduleInfoML );
$wgResourceModules['multilightbox'] = array_merge( array(
'scripts' => array(
'multilightbox.js',
),
'dependencies' => array(
'ext.multimediaViewer.lightboxinterface',
),
), $moduleInfoML );
$wgResourceModules['ext.multimediaViewer.lightboximage'] = array_merge( array(
'scripts' => array(
'ext.multimediaViewer.lightboximage.js',
),
'dependencies' => array(
'ext.multimediaViewer.oojs',
'multilightbox.image',
),
), $moduleInfoMMV );
$wgResourceModules['ext.multimediaViewer.lightboxinterface'] = array_merge( array(
'scripts' => array(
'ext.multimediaViewer.lightboxinterface.js',
),
'dependencies' => array(
'ext.multimediaViewer.oojs',
'multilightbox.interface',
),
), $moduleInfoMMV );
$wgResourceModules['ext.multimediaViewer'] = array_merge( array(
'scripts' => array(
'ext.multimediaViewer.js',
),
'styles' => array(
'ext.multimediaViewer.css',
),
'dependencies' => array(
'multilightbox',
'momentjs',
'ext.multimediaViewer.lightboximage',
'mediawiki.Title',
'jquery.ui.dialog',
'jquery.spinner',
'jquery.hidpi',
),
'messages' => array(
'multimediaviewer-file-page',
'multimediaviewer-repository',
'multimediaviewer-datetime-created',
'multimediaviewer-datetime-uploaded',
'multimediaviewer-userpage-link',
'multimediaviewer-credit',
'multimediaviewer-use-file',
'multimediaviewer-use-file-owt',
'multimediaviewer-use-file-own',
'multimediaviewer-use-file-offwiki',
'multimediaviewer-about-mmv',
'multimediaviewer-discuss-mmv',
),
), $moduleInfoMMV );
$wgResourceModules['momentjs'] = array_merge( array(
'scripts' => array(
'moment.js',
),
'languageScripts' => array(
'ar' => 'lang/ar.js',
'ar-ma' => 'lang/ar-ma.js',
'bg' => 'lang/bg.js',
'br' => 'lang/br.js',
'bs' => 'lang/bs.js',
'ca' => 'lang/ca.js',
'cv' => 'lang/cv.js',
'cy' => 'lang/cy.js',
'cs' => 'lang/cs.js',
'da' => 'lang/da.js',
'de' => 'lang/de.js',
'el' => 'lang/el.js',
'en-au' => 'lang/en-au.js',
'en-ca' => 'lang/en-ca.js',
'en-gb' => 'lang/en-gb.js',
'eo' => 'lang/eo.js',
'es' => 'lang/es.js',
'et' => 'lang/et.js',
'eu' => 'lang/eu.js',
'fa' => 'lang/fa.js',
'fi' => 'lang/fi.js',
'fo' => 'lang/fo.js',
'fr' => 'lang/fr.js',
'fr-ca' => 'lang/fr-ca.js',
'gl' => 'lang/gl.js',
'he' => 'lang/he.js',
'hi' => 'lang/hi.js',
'hr' => 'lang/hr.js',
'hu' => 'lang/hu.js',
'id' => 'lang/id.js',
'is' => 'lang/is.js',
'it' => 'lang/it.js',
'ja' => 'lang/ja.js',
'ka' => 'lang/ka.js',
'ko' => 'lang/ko.js',
'lt' => 'lang/lt.js',
'lv' => 'lang/lv.js',
'ml' => 'lang/ml.js',
'mr' => 'lang/mr.js',
'ms-my' => 'lang/ms-my.js',
'nb' => 'lang/nb.js',
'ne' => 'lang/ne.js',
'nl' => 'lang/nl.js',
'nn' => 'lang/nn.js',
'pl' => 'lang/pl.js',
'pt' => 'lang/pt.js',
'pt-br' => 'lang/pt-br.js',
'ro' => 'lang/ro.js',
'ru' => 'lang/ru.js',
'sk' => 'lang/sk.js',
'sl' => 'lang/sl.js',
'sq' => 'lang/sq.js',
'sv' => 'lang/sv.js',
'th' => 'lang/th.js',
'tl-ph' => 'lang/tl-ph.js',
'tr' => 'lang/tr.js',
'tzm' => 'lang/tzm.js',
'tzm-la' => 'lang/tzm-la.js',
'uk' => 'lang/uk.js',
'uz' => 'lang/uz.js',
'vn' => 'lang/vn.js',
'zh-cn' => 'lang/zh-cn.js',
'zh-tw' => 'lang/zh-tw.js',
),
), $moduleInfoMoment );
$wgExtensionFunctions[] = function () {
global $wgResourceModules;
if ( isset( $wgResourceModules['ext.eventLogging'] ) ) {
$wgResourceModules['schema.MediaViewer'] = array(
'class' => 'ResourceLoaderSchemaModule',
'schema' => 'MediaViewer',
'revision' => 6055641,
);
$wgResourceModules['ext.multimediaViewer']['dependencies'][] = 'ext.eventLogging';
$wgResourceModules['ext.multimediaViewer']['dependencies'][] = 'schema.MediaViewer';
}
};
$licenses = array(
'cc-by-1.0',
'cc-sa-1.0',
'cc-by-sa-1.0',
'cc-by-2.0',
'cc-by-sa-2.0',
'cc-by-2.1',
'cc-by-sa-2.1',
'cc-by-2.5',
'cc-by-sa-2.5',
'cc-by-3.0',
'cc-by-sa-3.0',
'cc-by-sa-3.0-migrated',
'cc-pd',
'cc-zero',
'default',
);
foreach ( $licenses as $license ) {
$wgResourceModules['ext.multimediaViewer']['messages'][] = 'multimediaviewer-license-' . $license;
}
$wgAutoloadClasses['MultimediaViewerHooks'] = __DIR__ . '/MultimediaViewerHooks.php';
$wgHooks['GetBetaFeaturePreferences'][] = 'MultimediaViewerHooks::getBetaPreferences';
$wgHooks['BeforePageDisplay'][] = 'MultimediaViewerHooks::getModulesForArticle';
$wgHooks['CategoryPageView'][] = 'MultimediaViewerHooks::getModulesForCategory';
$wgHooks['ResourceLoaderGetConfigVars'][] = 'MultimediaViewerHooks::resourceLoaderGetConfigVars';
$wgExtensionCredits['other'][] = array(
'path' => __FILE__,
'name' => 'MultimediaViewer',
'descriptionmsg' => 'multimediaviewer-desc',
'version' => '0.1',
'author' => array(
'MarkTraceur (Mark Holmquist)',
),
'url' => 'https://mediawiki.org/wiki/Extension:MultimediaViewer',
);