{
	"name": "Cargo",
	"namemsg": "cargo-extensionname",
	"version": "2.2",
	"author": "Yaron Koren",
	"url": "https://www.mediawiki.org/wiki/Extension:Cargo",
	"descriptionmsg": "cargo-desc",
	"license-name": "GPL-2.0-or-later",
	"type": "parserhook",
	"requires": {
		"MediaWiki": ">= 1.25.3"
	},
	"callback": "CargoHooks::registerExtension",
	"AvailableRights": [
		"recreatecargodata",
		"deletecargodata",
		"runcargoqueries"
	],
	"SpecialPages": {
		"CargoTables": "CargoTables",
		"DeleteCargoTable": "CargoDeleteCargoTable",
		"SwitchCargoTable": "CargoSwitchCargoTable",
		"ViewData": "CargoViewData",
		"CargoExport": "CargoExport",
		"PageValues": "CargoPageValues",
		"Drilldown": "CargoDrilldown"
	},
	"JobClasses": {
		"cargoPopulateTable": "CargoPopulateTableJob"
	},
	"APIModules": {
		"cargoquery": "CargoQueryAPI",
		"cargorecreatetables": "CargoRecreateTablesAPI",
		"cargorecreatedata": "CargoRecreateDataAPI",
		"cargoautocomplete": "CargoAutocompleteAPI"
	},
	"LogTypes": [
		"cargo"
	],
	"LogNames": {
		"cargo": "cargo-logname"
	},
	"LogHeaders": {
		"cargo": "cargo-logdesc"
	},
	"LogActions": {
		"cargo/createtable": "cargo-createtableaction",
		"cargo/recreatetable": "cargo-recreatetableaction",
		"cargo/replacetable": "cargo-replacetableaction",
		"cargo/deletetable": "cargo-deletetableaction"
	},
	"MessagesDirs": {
		"Cargo": [
			"i18n"
		]
	},
	"ExtensionMessagesFiles": {
		"CargoMagic": "Cargo.i18n.magic.php",
		"CargoAlias": "Cargo.alias.php"
	},
	"AutoloadClasses": {
		"CargoHooks": "Cargo.hooks.php",
		"CargoUtils": "includes/CargoUtils.php",
		"CargoFieldDescription": "includes/CargoFieldDescription.php",
		"CargoTableSchema": "includes/CargoTableSchema.php",
		"CargoHierarchyTree": "includes/CargoHierarchyTree.php",
		"CargoDeclare": "includes/parserfunctions/CargoDeclare.php",
		"CargoAttach": "includes/parserfunctions/CargoAttach.php",
		"CargoStore": "includes/parserfunctions/CargoStore.php",
		"CargoQuery": "includes/parserfunctions/CargoQuery.php",
		"CargoCompoundQuery": "includes/parserfunctions/CargoCompoundQuery.php",
		"CargoSQLQuery": "includes/CargoSQLQuery.php",
		"CargoQueryDisplayer": "includes/CargoQueryDisplayer.php",
		"CargoPageData": "includes/CargoPageData.php",
		"CargoFileData": "includes/CargoFileData.php",
		"CargoRecurringEvent": "includes/parserfunctions/CargoRecurringEvent.php",
		"CargoDisplayMap": "includes/parserfunctions/CargoDisplayMap.php",
		"CargoPopulateTableJob": "includes/CargoPopulateTableJob.php",
		"CargoRecreateDataAction": "includes/CargoRecreateDataAction.php",
		"CargoRecreateData": "specials/CargoRecreateData.php",
		"CargoTables": "specials/CargoTables.php",
		"CargoDeleteCargoTable": "specials/CargoDeleteTable.php",
		"CargoSwitchCargoTable": "specials/CargoSwitchTable.php",
		"CargoViewData": "specials/CargoViewData.php",
		"ViewDataPage": "specials/CargoViewData.php",
		"CargoExport": "specials/CargoExport.php",
		"CargoPageValuesAction": "includes/CargoPageValuesAction.php",
		"CargoPageValues": "specials/CargoPageValues.php",
		"CargoQueryAPI": "api/CargoQueryAPI.php",
		"CargoRecreateTablesAPI": "api/CargoRecreateTablesAPI.php",
		"CargoRecreateDataAPI": "api/CargoRecreateDataAPI.php",
		"CargoAutocompleteAPI": "api/CargoAutocompleteAPI.php",
		"CargoLuaLibrary": "CargoLua.library.php",
		"CargoDisplayFormat": "formats/CargoDisplayFormat.php",
		"CargoDeferredFormat": "formats/CargoDeferredFormat.php",
		"CargoListFormat": "formats/CargoListFormat.php",
		"CargoULFormat": "formats/CargoULFormat.php",
		"CargoOLFormat": "formats/CargoOLFormat.php",
		"CargoTemplateFormat": "formats/CargoTemplateFormat.php",
		"CargoOutlineFormat": "formats/CargoOutlineFormat.php",
		"CargoOutlineRow": "formats/CargoOutlineFormat.php",
		"CargoOutlineTree": "formats/CargoOutlineFormat.php",
		"CargoTreeFormat": "formats/CargoTreeFormat.php",
		"CargoTreeFormatNode": "formats/CargoTreeFormat.php",
		"CargoTreeFormatTree": "formats/CargoTreeFormat.php",
		"CargoEmbeddedFormat": "formats/CargoEmbeddedFormat.php",
		"CargoCSVFormat": "formats/CargoCSVFormat.php",
		"CargoExcelFormat": "formats/CargoExcelFormat.php",
		"CargoJSONFormat": "formats/CargoJSONFormat.php",
		"CargoTableFormat": "formats/CargoTableFormat.php",
		"CargoDynamicTableFormat": "formats/CargoDynamicTableFormat.php",
		"CargoMapsFormat": "formats/CargoMapsFormat.php",
		"CargoGoogleMapsFormat": "formats/CargoGoogleMapsFormat.php",
		"CargoOpenLayersFormat": "formats/CargoOpenLayersFormat.php",
		"CargoCalendarFormat": "formats/CargoCalendarFormat.php",
		"CargoTimelineFormat": "formats/CargoTimelineFormat.php",
		"CargoCategoryFormat": "formats/CargoCategoryFormat.php",
		"CargoBarChartFormat": "formats/CargoBarChartFormat.php",
		"CargoPieChartFormat": "formats/CargoPieChartFormat.php",
		"CargoGalleryFormat": "formats/CargoGalleryFormat.php",
		"CargoSlideshowFormat": "formats/CargoSlideshowFormat.php",
		"CargoTagCloudFormat": "formats/CargoTagCloudFormat.php",
		"CargoExhibitFormat": "formats/CargoExhibitFormat.php",
		"CargoSearchMySQL": "includes/search/CargoSearchMySQL.php",
		"CargoPageSchemas": "includes/CargoPageSchemas.php",
		"CargoAppliedFilter": "drilldown/CargoAppliedFilter.php",
		"CargoFilter": "drilldown/CargoFilter.php",
		"CargoFilterValue": "drilldown/CargoFilterValue.php",
		"CargoDrilldownUtils": "drilldown/CargoDrilldownUtils.php",
		"CargoDrilldownHierarchy": "drilldown/CargoDrilldownHierarchy.php",
		"CargoDrilldown": "drilldown/CargoSpecialDrilldown.php",
		"CargoDrilldownPage": "drilldown/CargoSpecialDrilldown.php"
	},
	"ResourceModules": {
		"ext.cargo.main": {
			"scripts": "libs/Cargo.js",
			"styles": "Cargo.css",
			"messages": [
				"show",
				"hide"
			]
		},
		"ext.cargo.purge": {
			"scripts": "libs/ext.cargo.purge.js",
			"messages": "cargo-purgecache-failed"
		},
		"ext.cargo.recreatedata": {
			"scripts": [
				"libs/ext.cargo.js",
				"libs/ext.cargo.recreatedata.js"
			],
			"dependencies": [
				"mediawiki.jqueryMsg",
				"oojs-ui-core"
			],
			"messages": [
				"cargo-recreatedata-tablecreated",
				"cargo-recreatedata-replacementcreated",
				"cargo-recreatedata-success",
				"cargo-cargotables-viewtablelink",
				"cargo-cargotables-viewreplacementlink"
			]
		},
		"ext.cargo.drilldown": {
			"styles": [
				"drilldown/resources/CargoDrilldown.css",
				"drilldown/resources/CargoJQueryUIOverrides.css"
			],
			"scripts": [
				"drilldown/resources/CargoDrilldown.js"
			],
			"dependencies": [
				"jquery.ui.autocomplete",
				"jquery.ui.button",
				"oojs-ui-core"
			]
		},
		"ext.cargo.maps": {
			"scripts": [
				"libs/ext.cargo.maps.js",
				"libs/markerclusterer.js"
			]
		},
		"ext.cargo.calendar.jquery1": {
			"styles": [
				"libs/FullCalendar/2.9.1/fullcalendar.css",
				"libs/ext.cargo.calendar.css"
			],
			"scripts": [
				"libs/FullCalendar/2.9.1/fullcalendar.js",
				"libs/FullCalendar/2.9.1/lang-all.js",
				"libs/ext.cargo.calendar.js"
			],
			"dependencies": [
				"moment"
			]
		},
		"ext.cargo.calendar.jquery3": {
			"styles": [
				"libs/FullCalendar/3.6.2/fullcalendar.css",
				"libs/ext.cargo.calendar.css"
			],
			"scripts": [
				"libs/FullCalendar/3.6.2/fullcalendar.js",
				"libs/FullCalendar/3.6.2/locale-all.js",
				"libs/ext.cargo.calendar.js"
			],
			"dependencies": [
				"moment"
			]
		},
		"ext.cargo.timelinebase": {
			"scripts": [
				"libs/ext.cargo.timeline-init.js",
				"libs/SimileTimeline/scripts/timeline.js",
				"libs/SimileTimeline/scripts/util/platform.js",
				"libs/SimileTimeline/scripts/util/xmlhttp.js",
				"libs/SimileTimeline/scripts/util/data-structure.js",
				"libs/SimileTimeline/scripts/units.js",
				"libs/SimileTimeline/scripts/sources.js"
			]
		},
		"ext.cargo.timeline": {
			"styles": [
				"libs/SimileTimeline/styles/timeline.css",
				"libs/SimileTimeline/styles/ethers.css",
				"libs/SimileTimeline/styles/events.css"
			],
			"scripts": [
				"libs/ext.cargo.timeline.js",
				"libs/SimileTimeline/scripts/util/debug.js",
				"libs/SimileTimeline/scripts/util/dom.js",
				"libs/SimileTimeline/scripts/util/graphics.js",
				"libs/SimileTimeline/scripts/util/date-time.js",
				"libs/SimileTimeline/scripts/themes.js",
				"libs/SimileTimeline/scripts/ethers.js",
				"libs/SimileTimeline/scripts/ether-painters.js",
				"libs/SimileTimeline/scripts/labellers.js",
				"libs/SimileTimeline/scripts/layouts.js",
				"libs/SimileTimeline/scripts/painters.js",
				"libs/SimileTimeline/scripts/decorators.js"
			],
			"dependencies": [
				"ext.cargo.timelinebase"
			]
		},
		"ext.cargo.datatables": {
			"styles": [
				"libs/DataTables/css/jquery.dataTables.css",
				"libs/ext.cargo.datatables.css"
			],
			"scripts": [
				"libs/DataTables/js/jquery.dataTables.js",
				"libs/ext.cargo.datatables.js"
			]
		},
		"ext.cargo.nvd3": {
			"scripts": [
				"libs/d3.js",
				"libs/nv.d3.js",
				"libs/ext.cargo.nvd3.js"
			]
		},
		"ext.cargo.exhibit": {
			"scripts": [
				"libs/ext.cargo.exhibit.js"
			]
		},
		"ext.cargo.slick": {
			"styles": [
				"libs/slick/slick.css",
				"libs/slick/slick-theme.css",
				"libs/ext.cargo.slick.css"
			],
			"scripts": [
				"libs/slick/slick.js"
			]
		}
	},
	"ResourceFileModulePaths": {
		"localBasePath": "",
		"remoteExtPath": "Cargo"
	},
	"Actions": {
		"recreatedata": "CargoRecreateDataAction",
		"pagevalues": "CargoPageValuesAction"
	},
	"Hooks": {
		"ParserFirstCallInit": [
			"CargoHooks::registerParserFunctions"
		],
		"MakeGlobalVariablesScript": [
			"CargoHooks::setGlobalJSVariables"
		],
		"ResourceLoaderRegisterModules": [
			"CargoHooks::registerModules"
		],
		"PageContentSaveComplete": [
			"CargoHooks::onPageContentSaveComplete"
		],
		"ApprovedRevsRevisionApproved": [
			"CargoHooks::onARRevisionApproved"
		],
		"ApprovedRevsRevisionUnapproved": [
			"CargoHooks::onARRevisionUnapproved"
		],
		"TitleMoveComplete": [
			"CargoHooks::onTitleMoveComplete"
		],
		"ArticleDeleteComplete": [
			"CargoHooks::onArticleDeleteComplete"
		],
		"LoadExtensionSchemaUpdates": [
			"CargoHooks::describeDBSchema",
			"CargoHooks::cargoSchemaUpdates"
		],
		"SkinTemplateNavigation": [
			"CargoRecreateDataAction::displayTab",
			"CargoHooks::addPurgeCacheTab"
		],
		"BaseTemplateToolbox": [
			"CargoPageValuesAction::addLink"
		],
		"PageForms::TemplateFieldStart": [
			"CargoHooks::addTemplateFieldStart"
		],
		"PageForms::TemplateFieldEnd": [
			"CargoHooks::addTemplateFieldEnd"
		],
		"AdminLinks": [
			"CargoHooks::addToAdminLinks"
		],
		"PageSchemasRegisterHandlers": [
			"CargoPageSchemas::registerClass"
		],
		"ResourceLoaderGetConfigVars": [
			"CargoHooks::onResourceLoaderGetConfigVars"
		],
		"ScribuntoExternalLibraries": [
			"CargoHooks::addLuaLibrary"
		]
	},
	"config": {
		"CargoDecimalMark": ".",
		"CargoDigitGroupingCharacter": ",",
		"CargoRecurringEventMaxInstances": 100,
		"CargoDBtype": null,
		"CargoDBserver": null,
		"CargoDBname": null,
		"CargoDBuser": null,
		"CargoDBpassword": null,
		"CargoDBRowFormat": null,
		"CargoDefaultStringBytes": 300,
		"CargoDefaultQueryLimit": 100,
		"CargoMaxQueryLimit": 5000,
		"Cargo24HourTime": false,
		"CargoDefaultMapService": "OpenLayers",
		"CargoGoogleMapsKey": null,
		"CargoMapClusteringMinimum": 80,
		"CargoDrilldownUseTabs": true,
		"CargoDrilldownSmallestFontSize": -1,
		"CargoDrilldownLargestFontSize": -1,
		"CargoDrilldownMinValuesForComboBox": 40,
		"CargoDrilldownNumRangesForNumbers": 5,
		"CargoMaxVisibleHierarchyDrilldownValues": 30,
		"CargoPageDataColumns": [],
		"CargoFileDataColumns": [],
		"CargoHideNamespaceName": [6],
		"CargoAllowedSQLFunctions":["COUNT", "FLOOR", "CEIL", "ROUND","MAX", "MIN", "AVG", "SUM", "POWER", "LN", "LOG","CONCAT", "GROUP_CONCAT", "LOWER", "LCASE", "UPPER", "UCASE", "SUBSTRING", "TRIM", "FORMAT", "NOW", "DATE", "YEAR", "MONTH", "DAYOFMONTH", "DATE_FORMAT", "DATE_ADD", "DATE_SUB", "DATEDIFF", "NEAR"]
	},
	"manifest_version": 1
}
