mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/TemplateData
synced 2024-11-24 07:53:37 +00:00
9a7f8de499
Some descriptions allow for language objects. For the moment, these should be blocked for editing so the original JSON string won't be corrupted. The current fix blocks any input that is not a string or an expected array in aliases as uneditable. Bug: 60089 Change-Id: I9b13e2f3cfd805d382564e270484557567932a0f
122 lines
3.7 KiB
PHP
122 lines
3.7 KiB
PHP
<?php
|
|
/**
|
|
* TemplateData extension.
|
|
*
|
|
* @file
|
|
* @ingroup Extensions
|
|
*/
|
|
|
|
if ( version_compare( $wgVersion, '1.22wmf18', '<' ) ) {
|
|
echo "Extension:TemplateData requires MediaWiki 1.22 or higher.\n";
|
|
exit( 1 );
|
|
}
|
|
|
|
$wgExtensionCredits['parserhook'][] = array(
|
|
'path' => __FILE__,
|
|
'name' => 'TemplateData',
|
|
'author' => array(
|
|
'Timo Tijhof',
|
|
),
|
|
'version' => '0.1.1',
|
|
'url' => 'https://www.mediawiki.org/wiki/Extension:TemplateData',
|
|
'descriptionmsg' => 'templatedata-desc',
|
|
'license-name' => 'GPLv2',
|
|
);
|
|
|
|
/* Setup */
|
|
|
|
$dir = __DIR__;
|
|
|
|
// Register files
|
|
$wgMessagesDirs['TemplateData'] = __DIR__ . '/i18n';
|
|
$wgExtensionMessagesFiles['TemplateData'] = $dir . '/TemplateData.i18n.php';
|
|
$wgAutoloadClasses['TemplateDataHooks'] = $dir . '/TemplateData.hooks.php';
|
|
$wgAutoloadClasses['TemplateDataBlob'] = $dir . '/TemplateDataBlob.php';
|
|
$wgAutoloadClasses['ApiTemplateData'] = $dir . '/api/ApiTemplateData.php';
|
|
|
|
// Register hooks
|
|
$wgHooks['ParserFirstCallInit'][] = 'TemplateDataHooks::onParserFirstCallInit';
|
|
$wgHooks['PageContentSave'][] = 'TemplateDataHooks::onPageContentSave';
|
|
$wgHooks['UnitTestsList'][] = 'TemplateDataHooks::onUnitTestsList';
|
|
$wgHooks['ResourceLoaderTestModules'][] = 'TemplateDataHooks::onResourceLoaderTestModules';
|
|
$wgHooks['EditPage::showEditForm:initial'][] = 'TemplateDataHooks::onEditPage';
|
|
|
|
// Register APIs
|
|
$wgAPIModules['templatedata'] = 'ApiTemplateData';
|
|
|
|
// Register page properties
|
|
$wgPageProps['templatedata'] = 'Content of <templatedata> tag';
|
|
|
|
// Register modules
|
|
$wgResourceModules['ext.templateData'] = array(
|
|
'styles' => 'resources/ext.templateData.css',
|
|
'position' => 'top',
|
|
'localBasePath' => $dir,
|
|
'remoteExtPath' => 'TemplateData',
|
|
);
|
|
|
|
$wgResourceModules['ext.templateDataGenerator.editPage'] = array(
|
|
'localBasePath' => $dir,
|
|
'remoteExtPath' => 'TemplateData',
|
|
'scripts' => array(
|
|
'modules/ext.templateDataGenerator.editPage.js',
|
|
),
|
|
'dependencies' => array(
|
|
'ext.templateDataGenerator.core',
|
|
),
|
|
'messages' => array(
|
|
'templatedata-editbutton',
|
|
'templatedata-errormsg-jsonbadformat',
|
|
)
|
|
);
|
|
|
|
$wgResourceModules['ext.templateDataGenerator.core'] = array(
|
|
'localBasePath' => $dir,
|
|
'remoteExtPath' => 'TemplateData',
|
|
'styles' => 'modules/ext.templateDataGenerator.css',
|
|
'scripts' => array(
|
|
'modules/ext.templateDataGenerator.core.js',
|
|
),
|
|
'dependencies' => array(
|
|
'jquery.ui.dialog',
|
|
'jquery.ui.button',
|
|
),
|
|
'messages' => array(
|
|
'templatedata-modal-button-addparam',
|
|
'templatedata-modal-button-apply',
|
|
'templatedata-modal-button-cancel',
|
|
'templatedata-modal-button-delparam',
|
|
'templatedata-modal-button-importParams',
|
|
'templatedata-modal-errormsg',
|
|
'templatedata-modal-errormsg-import-noparams',
|
|
'templatedata-modal-notice-import-numparams',
|
|
'templatedata-modal-table-param-actions',
|
|
'templatedata-modal-table-param-aliases',
|
|
'templatedata-modal-table-param-default',
|
|
'templatedata-modal-table-param-desc',
|
|
'templatedata-modal-table-param-label',
|
|
'templatedata-modal-table-param-name',
|
|
'templatedata-modal-table-param-required',
|
|
'templatedata-modal-table-param-suggested',
|
|
'templatedata-modal-table-param-type',
|
|
'templatedata-modal-table-param-type-file',
|
|
'templatedata-modal-table-param-type-number',
|
|
'templatedata-modal-table-param-type-boolean',
|
|
'templatedata-modal-table-param-type-date',
|
|
'templatedata-modal-table-param-type-page',
|
|
'templatedata-modal-table-param-type-string',
|
|
'templatedata-modal-table-param-type-undefined',
|
|
'templatedata-modal-table-param-type-user',
|
|
'templatedata-modal-table-param-uneditablefield',
|
|
'templatedata-modal-title',
|
|
'templatedata-modal-title-templatedesc',
|
|
'templatedata-modal-title-templateparams',
|
|
)
|
|
);
|
|
|
|
/* Configuration */
|
|
|
|
// Set this to true to use the template documentation
|
|
// editor feature
|
|
$wgTemplateDataUseGUI = false;
|