Page MenuHomePhabricator

Remove deprecated dieUsage, dieUsageMsg, dieUsageMsgOrDebug methods from Extensions
Open, MediumPublic

Description

As per https://gerrit.wikimedia.org/g/mediawiki/core/+/master/HISTORY, some methods are deprecated in MediaWiki core and should be removed from/replaced in extensions which still use them:

Note: ApiBase::dieWithError was added in MediaWiki version 1.29 so the extension must require that MediaWiki version. If the file extension.json exists in that extension's code base, add the following lines (or increase the version when the existing version is lower):

	"requires": {
		"MediaWiki": ">= 1.29.0"
	},

Details

Related Gerrit Patches:
mediawiki/extensions/Configure : masterConfigure.api: Replace use of deprecated ApiBase::setWarning method
mediawiki/extensions/OpenBadges : masterRemove deprecated dieUsage method
mediawiki/extensions/MassMessage : masterRemove deprecated dieUsage methods
mediawiki/extensions/DebugTemplates : masterRemove deprecated dieUsage methods
mediawiki/extensions/CentralAuth : masterRemove deprecated dieUsage() methods
mediawiki/extensions/EducationProgram : masterRemove deprecated dieUsage() methods
mediawiki/extensions/CodeReview : masterRemove deprecated dieUsage and setWarning methods
mediawiki/extensions/Kartographer : masterRemove deprecated dieUsage methods
mediawiki/extensions/CheckUser : masterRemove deprecated dieUsage method
mediawiki/extensions/Babel : masterRemove deprecated dieUsage method
mediawiki/extensions/TitleBlacklist : masterRemove deprecated dieUsageMsg methods
mediawiki/extensions/BounceHandler : masterRemove deprecated dieUsage methods
mediawiki/extensions/UniversalLanguageSelector : masterRemove deprecated dieUsage method
mediawiki/extensions/GettingStarted : masterRemove deprecated dieUsage methods
mediawiki/extensions/ZeroBanner : masterRemove deprecated dieUsage methods
mediawiki/extensions/UrlShortener : masterRemove deprecated dieUsage methods

Event Timeline

Restricted Application added a project: User-Jayprakash12345. · View Herald TranscriptMar 8 2018, 4:46 PM
Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Ah, I find Documentation, https://www.mediawiki.org/wiki/API/Architecture_work/i18n#MediaWiki_extension_changes

Instead of dieUsage() or dieUsageMsg(), code should generally use dieWithError() now.

Now We can move forward.

Change 417315 had a related patch set uploaded (by Jayprakash12345; owner: Jayprakash12345):
[mediawiki/extensions/CodeReview@master] [WIP] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417315

Change 417328 had a related patch set uploaded (by Jayprakash12345; owner: Jayprakash12345):
[mediawiki/extensions/ZeroBanner@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417328

Change 417332 had a related patch set uploaded (by Jayprakash12345; owner: Jayprakash12345):
[mediawiki/extensions/GettingStarted@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417332

Change 417347 had a related patch set uploaded (by Jayprakash12345; owner: Jayprakash12345):
[mediawiki/extensions/CheckUser@master] Remove deprecated dieUsage method

https://gerrit.wikimedia.org/r/417347

Change 417332 merged by jenkins-bot:
[mediawiki/extensions/GettingStarted@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417332

Change 417328 merged by jenkins-bot:
[mediawiki/extensions/ZeroBanner@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417328

Change 417358 had a related patch set uploaded (by Jayprakash12345; owner: Jayprakash12345):
[mediawiki/extensions/UrlShortener@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417358

Change 417358 merged by jenkins-bot:
[mediawiki/extensions/UrlShortener@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417358

Change 417365 had a related patch set uploaded (by Jayprakash12345; owner: Jayprakash12345):
[mediawiki/extensions/Babel@master] Remove deprecated dieUsage method

https://gerrit.wikimedia.org/r/417365

Umherirrender updated the task description. (Show Details)Mar 8 2018, 8:40 PM

Change 417515 had a related patch set (by Jayprakash12345) published:
[mediawiki/extensions/UniversalLanguageSelector@master] Remove deprecated dieUsage method

https://gerrit.wikimedia.org/r/417515

Change 417522 had a related patch set (by Jayprakash12345) published:
[mediawiki/extensions/BounceHandler@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417522

Change 417515 merged by jenkins-bot:
[mediawiki/extensions/UniversalLanguageSelector@master] Remove deprecated dieUsage method

https://gerrit.wikimedia.org/r/417515

Change 417522 merged by jenkins-bot:
[mediawiki/extensions/BounceHandler@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417522

Jayprakash12345 triaged this task as Medium priority.Mar 9 2018, 11:20 AM
Jayprakash12345 updated the task description. (Show Details)

Change 417831 had a related patch set (by Jayprakash12345) published:
[mediawiki/extensions/TitleBlacklist@master] Remove deprecated dieUsageMsg methods

https://gerrit.wikimedia.org/r/417831

Change 417840 had a related patch set (by Jayprakash12345) published:
[mediawiki/extensions/Kartographer@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417840

Change 417831 merged by jenkins-bot:
[mediawiki/extensions/TitleBlacklist@master] Remove deprecated dieUsageMsg methods

https://gerrit.wikimedia.org/r/417831

Change 417365 merged by Umherirrender:
[mediawiki/extensions/Babel@master] Remove deprecated dieUsage method

https://gerrit.wikimedia.org/r/417365

Change 417347 merged by jenkins-bot:
[mediawiki/extensions/CheckUser@master] Remove deprecated dieUsage method

https://gerrit.wikimedia.org/r/417347

Change 417840 merged by jenkins-bot:
[mediawiki/extensions/Kartographer@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/417840

Change 419972 had a related patch set (by Jayprakash12345) published:
[mediawiki/extensions/CentralAuth@master] Remove deprecated dieUsage() methods

https://gerrit.wikimedia.org/r/419972

Change 419973 had a related patch set (by Jayprakash12345) published:
[mediawiki/extensions/EducationProgram@master] Remove deprecated dieUsage() methods

https://gerrit.wikimedia.org/r/419973

Change 419976 had a related patch set (by Jayprakash12345) published:
[mediawiki/extensions/DebugTemplates@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/419976

Change 417315 merged by jenkins-bot:
[mediawiki/extensions/CodeReview@master] Remove deprecated dieUsage and setWarning methods

https://gerrit.wikimedia.org/r/417315

Change 419973 merged by jenkins-bot:
[mediawiki/extensions/EducationProgram@master] Remove deprecated dieUsage() methods

https://gerrit.wikimedia.org/r/419973

Change 419972 merged by jenkins-bot:
[mediawiki/extensions/CentralAuth@master] Remove deprecated dieUsage() methods

https://gerrit.wikimedia.org/r/419972

Change 419976 merged by jenkins-bot:
[mediawiki/extensions/DebugTemplates@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/419976

Change 423036 had a related patch set (by Jayprakash12345) published:
[mediawiki/extensions/MassMessage@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/423036

Change 423036 merged by jenkins-bot:
[mediawiki/extensions/MassMessage@master] Remove deprecated dieUsage methods

https://gerrit.wikimedia.org/r/423036

Aklapper updated the task description. (Show Details)Oct 9 2018, 11:30 AM
Aklapper updated the task description. (Show Details)Oct 9 2018, 12:00 PM

Output as of early October 2018. For future reference, each function should really be a separate task otherwise tasks like this one become even less handable.

$:acko\> grep -r setWarning .
./Configure/Configure.api.php:				$this->setWarning( '`viewconfig\' right is required to use `versionlist\'' );
./Configure/Configure.api.php:				$this->setWarning( '`viewconfig-interwiki\' right is required to use `wikilist\'' );
./Configure/Configure.api.php:				$this->setWarning( '`viewconfig\' right is required to use `settings\'' );
./Configure/Configure.api.php:				$this->setWarning( '`extensions\' right is required to use `extensions\'' );
./MultiUpload/resources/upload.js.patched:				this.setWarning( this.responseCache[cached], warningId, ackElt );
./MultiUpload/resources/upload.js.patched:				this.setWarning( this.responseCache[cached], warningId, ackElt );
./MultiUpload/resources/upload.js.patched:		this.setWarning( resulthtml, warningId, ackElt );
./MultiUpload/resources/upload.js.patched:	setWarning: function ( warning, warningId, ackElt ) {
./Wikidata/extensions/Wikibase/repo/includes/Api/ApiErrorReporter.php:			$this->setWarning( 'messages', $warnings );
./Wikidata/extensions/Wikibase/repo/includes/Api/ApiErrorReporter.php:	private function setWarning( $key, $warningData ) {
./MultimediaViewer/resources/mmv/ui/mmv.ui.dialog.js:	 * Creates the DOM element that setWarning()/clearWarning() will operate on.
./MultimediaViewer/resources/mmv/ui/mmv.ui.dialog.js:	 *   setWarning does no escaping).
./MultimediaViewer/resources/mmv/ui/mmv.ui.dialog.js:	DP.setWarning = function ( content ) {
./MultimediaViewer/resources/mmv/ui/mmv.ui.dialog.js:			this.setWarning( warnings.join( '<br />' ) );
./PageAssessments/api/ApiQueryProjectPages.php:				$this->setWarning( 'It is not possible to retrieve page assessment results from ' .
./PageAssessments/api/ApiQueryProjectPages.php:						$this->setWarning( 'Project name not recognized: ' . $project );
./GeoData/tests/phpunit/TagTest.php:	private function setWarnings( $level ) {
./GeoData/tests/phpunit/TagTest.php:		$this->setWarnings( 'none' );
./GeoData/tests/phpunit/TagTest.php:		$this->setWarnings( 'fail' );
./Wikibase/repo/includes/Api/ApiErrorReporter.php:			$this->setWarning( 'messages', $warnings );
./Wikibase/repo/includes/Api/ApiErrorReporter.php:	private function setWarning( $key, $warningData ) {

$:acko\> grep -r parseMsg .
./EventLogging/includes/ApiJsonSchema.php:		$parsed = $this->parseMsg( (array)$error );

$:acko\> grep -r dieUsageMsg .
./CategoryTree/includes/ApiCategoryTree.php:				$this->dieUsageMsg( [ 'invalidtitle', wfEscapeWikiText( $params['category'] ) ] );
./PollNY/includes/api/ApiPollNY.php:			$this->dieUsageMsg( 'missingparam' );
./PollNY/includes/api/ApiPollNY.php:			$this->dieUsageMsg( 'missingparam' );
./PollNY/includes/api/ApiPollNY.php:				$this->dieUsageMsg( 'missingparam' );
./PollNY/includes/api/ApiPollNY.php:				$this->dieUsageMsg( 'missingparam' );
./PollNY/includes/api/ApiPollNY.php:				$this->dieUsageMsg( 'missingparam' );
./PollNY/includes/api/ApiPollNY.php:				$this->dieUsageMsg( 'missingparam' );
./Push/src/api/ApiPushBase.php:			$this->dieUsageMsg( [ 'badaccess-groups' ] );
./AJAXPoll/includes/api/ApiAJAXPollSubmitVote.php:			$this->dieUsageMsg( 'missingparam' );
./SportsTeams/includes/api/ApiSportsTeams.php:			$this->dieUsageMsg( 'missingparam' );
./Wikidata/extensions/Wikibase/repo/Wikibase.hooks.php:	 *                            This can be a message key or an array as expected by ApiBase::dieUsageMsg().
./ImageRating/includes/api/ApiImageRating.php:			$this->dieUsageMsg( 'noedit' );
./ImageRating/includes/api/ApiImageRating.php:			$this->dieUsageMsg( 'missingparam' );
./ImageRating/includes/api/ApiImageRating.php:			$this->dieUsageMsg( 'missingparam' );
./ImageRating/includes/api/ApiImageRating.php:						$this->dieUsageMsg( $errors[0] );
./ImageRating/includes/api/ApiImageRating.php:				$this->dieUsageMsg( $errors[0] );
./BlueSpiceFoundation/includes/api/BSApiTasksBase.php:					$this->dieUsageMsg( 'badaccess-groups' );
./CommentStreams/includes/ApiCSBase.php:		$this->dieUsageMsg(
./CommentStreams/includes/ApiCSPostComment.php:		$this->dieUsageMsg(
./MarkAsHelpful/api/ApiMarkAsHelpful.php:			$this->dieUsageMsg( [ 'blockedtext' ] );
./Favorites/api/ApiFavorite.php:			$this->dieUsageMsg( array( 'invalidtitle', $params['title'] ) );
./Favorites/api/ApiFavorite.php:			$this->dieUsageMsg( 'hookaborted' );
./Contest/api/ApiQueryContestants.php:			$this->dieUsageMsg( [ 'badaccess-groups' ] );
./Contest/api/ApiDeleteContest.php:			$this->dieUsageMsg( [ 'badaccess-groups' ] );
./Contest/api/ApiQueryChallenges.php:			$this->dieUsageMsg( [ 'badaccess-groups' ] );
./Contest/api/ApiQueryContests.php:			$this->dieUsageMsg( [ 'badaccess-groups' ] );
./Contest/api/ApiMailContestants.php:			$this->dieUsageMsg( [ 'badaccess-groups' ] );
./Contest/api/ApiQueryContestComments.php:			$this->dieUsageMsg( [ 'badaccess-groups' ] );
./ArticleFeedbackv5/api/ApiViewActivityArticleFeedbackv5.php:			$this->dieUsageMsg( 'notanarticle' );
./ArticleFeedbackv5/api/ApiGetCountArticleFeedbackv5.php:			$this->dieUsageMsg( 'notanarticle' );
./ArticleFeedbackv5/api/ApiAddFlagNoteArticleFeedbackv5.php:			$this->dieUsageMsg( 'notanarticle' );
./ArticleFeedbackv5/api/ApiViewFeedbackArticleFeedbackv5.php:				$this->dieUsageMsg( 'notanarticle' );
./VoteNY/includes/api/ApiVoteNY.php:			$this->dieUsageMsg( 'missingparam' );
./VoteNY/includes/api/ApiVoteNY.php:			$this->dieUsageMsg( 'badaccess-group0' );
./VoteNY/includes/api/ApiVoteNY.php:			$this->dieUsageMsg( [ 'missingparam', 'pageId' ] );
./VoteNY/includes/api/ApiVoteNY.php:			$this->dieUsageMsg( [ 'missingparam', 'voteValue' ] );
./Survey/api/ApiQuerySurveys.php:			$this->dieUsageMsg( array( 'badaccess-groups' ) );
./Survey/api/ApiDeleteSurvey.php:			$this->dieUsageMsg( array( 'badaccess-groups' ) );
./Survey/api/ApiAddSurvey.php:			$this->dieUsageMsg( array( 'badaccess-groups' ) );
./Survey/api/ApiQuerySurveySubmissions.php:			$this->dieUsageMsg( array( 'badaccess-groups' ) );
./Survey/api/ApiEditSurvey.php:			$this->dieUsageMsg( array( 'badaccess-groups' ) );
./Survey/api/ApiSubmitSurvey.php:			$this->dieUsageMsg( array( 'badaccess-groups' ) );
./Survey/api/ApiQuerySurveyAnswers.php:			$this->dieUsageMsg( array( 'badaccess-groups' ) );
./Wikibase/repo/RepoHooks.php:	 *                            This can be a message key or an array as expected by ApiBase::dieUsageMsg().
./AdvancedMeta/src/Api/Tasks.php:					$this->dieUsageMsg( 'badaccess-groups' );
./LiveTranslate/api/ApiQueryLiveTranslate.php:			$this->dieUsageMsg( [ 'missingparam', 'language' ] );
./LiveTranslate/api/ApiLiveTranslate.php:				$this->dieUsageMsg( [ 'missingparam', $requiredParam ] );
./LiveTranslate/api/ApiImportTranslationMemories.php:			$this->dieUsageMsg( [ 'badaccess-groups' ] );
./LiveTranslate/api/ApiImportTranslationMemories.php:				$this->dieUsageMsg( [ 'missingparam', $requiredParam ] );
./QuizGame/includes/api/ApiQuizGameVote.php:			$this->dieUsageMsg( 'missingparam' );
./QuizGame/includes/api/ApiQuizGame.php:			$this->dieUsageMsg( 'missingparam' );
./FlaggedRevs/api/actions/ApiReview.php:				$this->dieUsageMsg( [ 'blockedtext' ] );
./FlaggedRevs/api/actions/ApiReview.php:					$this->dieUsageMsg( [ 'unknownerror', '' ] );
./FlaggedRevs/api/actions/ApiReview.php:					$this->dieUsageMsg( [ 'unknownerror', '' ] );
./FlaggedRevs/api/actions/ApiReviewActivity.php:				$this->dieUsageMsg( [ 'blockedtext' ] );
./FlaggedRevs/api/actions/ApiStabilize.php:				$this->dieUsageMsg( reset( $errors ) );
./FanBoxes/includes/api/ApiFanBoxes.php:			$this->dieUsageMsg( 'missingparam' );
./LinkFilter/includes/api/ApiLinkFilter.php:			$this->dieUsageMsg( 'missingparam' );
./EventLogging/includes/ApiJsonSchema.php:	 * Emit an error response. Like ApiBase::dieUsageMsg, but sets
./EventLogging/includes/ApiJsonSchema.php:	public function dieUsageMsg( $error ) {
./EventLogging/includes/ApiJsonSchema.php:				$this->dieUsageMsg( [ 'nosuchrevid', $params['revid'] ] );
./EventLogging/includes/ApiJsonSchema.php:				$this->dieUsageMsg( [ 'invalidtitle', $title ] );
./EventLogging/includes/ApiJsonSchema.php:				$this->dieUsageMsg( [ 'nosuchrevid', $params['revid'] ] );
./EventLogging/includes/ApiJsonSchema.php:				$this->dieUsageMsg( [ 'revwrongpage', $params['revid'], $params['title'] ] );
./Cargo/includes/CargoUtils.php:			$object->dieUsageMsg( $msg );

$:acko\> grep -r "dieUsage("  .
./Configure/Configure.api.php:			$this->dieUsage( 'You need to call efConfigureSetup() to use this module', 'noconf' );
./Configure/Configure.api.php:			$this->dieUsage( "The ``configure'' module has been disabled.", 'moduledisabled' );
./Configure/Configure.api.php:					$this->dieUsage( 'version not found', 'noversion' );
./Configure/Configure.api.php:					$this->dieUsage( 'wiki not found in version', 'nowiki' );
./FeaturedFeeds/includes/ApiFeaturedFeeds.php:				$this->dieUsage( 'Invalid subscription feed type', 'feed-invalid' );
./ImageTweaks/ApiImageTweaks.php:			$this->dieUsage( 'Thumbor is not configured for this instance of MediaWiki.' );
./ImageTweaks/ApiImageTweaks.php:				$this->dieUsage( 'An internal error occurred', 'internal-error', 0, $error );
./MultiUpload/MultiUploadApi.php:			$this->dieUsage(
./CategoryTree/includes/ApiCategoryTree.php:					$this->dieUsage( 'Options must be valid a JSON object', 'invalidjson' );
./SpellingApi/api/ApiQuerySpellcheck.php:			$this->dieUsage(
./Push/src/api/ApiPushImages.php:				$this->dieUsage(
./Push/src/api/ApiPushImages.php:				$this->dieUsage(
./Push/src/api/ApiPushImages.php:			$this->dieUsage( wfMessage( 'push-special-err-push-failed' )->text(), 'page-push-failed' );
./Push/src/api/ApiPush.php:				$this->dieUsage( wfMessage( 'push-special-err-pageget-failed' )->text(), 'page-get-failed' );
./Push/src/api/ApiPush.php:			$this->dieUsage( wfMessage( 'push-special-err-pageget-failed' )->text(), 'page-get-failed' );
./Push/src/api/ApiPush.php:			$this->dieUsage( wfMessage( 'push-special-err-push-failed' )->text(), 'page-push-failed' );
./Push/src/api/ApiPushBase.php:			$this->dieUsage(
./Push/src/api/ApiPushBase.php:			$this->dieUsage(
./Push/src/api/ApiPushBase.php:			$this->dieUsage(
./Push/src/api/ApiPushBase.php:			$this->dieUsage(
./Push/src/api/ApiPushBase.php:			$this->dieUsage( $response->query->error->message, 'token-request-failed' );
./Push/src/api/ApiPushBase.php:			$this->dieUsage(
./WikiLexicalData/includes/api/owAddDefinition.php:			$this->dieUsage( 'your account is blocked.', 'blocked' );
./WikiLexicalData/includes/api/owAddDefinition.php:			$this->dieUsage( 'you must have a bot flag to use this API function', 'bot_only' );
./WikiLexicalData/includes/api/owAddDefinition.php:			$this->dieUsage( 'parameter d for adding a definition is missing', 'param d is missing' );
./WikiLexicalData/includes/api/owAddDefinition.php:			$this->dieUsage( 'parameter dm for adding a definition is missing', 'param dm is missing' );
./WikiLexicalData/includes/api/owAddDefinition.php:			$this->dieUsage( 'parameter lang for adding a definition is missing', 'param lang is missing' );
./WikiLexicalData/includes/api/owAddToCollection.php:			$this->dieUsage( 'you must have a bot flag to use this API function', 'bot_only' );
./WikiLexicalData/includes/api/owAddToCollection.php:			$this->dieUsage( 'your account is blocked.', 'blocked' );
./WikiLexicalData/includes/api/owAddToCollection.php:			$this->dieUsage( 'parameter dm to add is missing', 'param dm is missing' );
./WikiLexicalData/includes/api/owAddToCollection.php:			$this->dieUsage( 'parameter col_mid to add to is missing', 'param col_mid missing' );
./WikiLexicalData/includes/api/ApiWikiData.php:			$this->dieUsage( "Unknown data set: $dataset", 'unknown_dataset' );
./WikiLexicalData/includes/api/owSyntrans.php:			$this->dieUsage( 'parameter dm for adding syntrans is missing', 'param dm is missing' );
./WikiLexicalData/includes/api/owSyntrans.php:				$this->dieUsage( 'Non existent dm id (' . $params['dm'] . ').', "dm not found." );
./WikiLexicalData/includes/api/owSyntrans.php:			$this->dieUsage( 'parameter part for adding syntrans is empty', 'param part is empty' );
./WikiLexicalData/includes/api/owSyntrans.php:				$this->dieUsage( 'parameter lang for adding syntrans is missing', 'param lang is missing' );
./WikiLexicalData/includes/api/owSyntrans.php:			$this->dieUsage( 'parameter part for adding syntrans is neither syn, trans nor all', 'invalid param part value' );
./WikiLexicalData/includes/api/owSyntrans.php:					$this->dieUsage( 'parameter lang for adding syntrans does not exist', 'param lang does not exist' );
./WikiLexicalData/includes/api/owSyntrans.php:				$this->dieUsage( 'parameter lang for adding syntrans is empty', 'param lang empty' );
./WikiLexicalData/includes/api/owSyntrans.php:			$this->dieUsage( 'parameter e for adding syntrans does not exist', 'param e does not exist' );
./WikiLexicalData/includes/api/owAddAnnotation.php:			$this->dieUsage( 'you must have a bot flag to use this API function', 'bot_only' );
./WikiLexicalData/includes/api/owAddAnnotation.php:			$this->dieUsage( 'your account is blocked.', 'blocked' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'parameter dm for text type annotation is missing', 'param dm is missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'parameter attribute for text type annotation is missing', 'param attribute missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'parameter attrib_lang for text type annotation is missing', 'param attrib_lang missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'nothing to add', 'param text is missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'parameter dm for option type annotation is missing', 'param dm is missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'parameter attribute for option type annotation is missing', 'param attribute missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'parameter attrib_lang for option type annotation is missing', 'param attrib_lang missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'nothing to add', 'param option is missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'parameter option_lang for option type annotation is missing', 'param option_lang missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:					$this->dieUsage( 'parameter lang for option type annotation is missing', 'param lang is missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'parameter dm for text type annotation is missing', 'param dm is missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'parameter attribute for text type annotation is missing', 'param attribute missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:				$this->dieUsage( 'parameter attrib_lang for text type annotation is missing', 'param attrib_lang missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:					$this->dieUsage( 'parameter dm_relation for relation type annotation is missing', 'param dm_relation missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:					$this->dieUsage( 'parameter lang for relation type annotation is missing', 'param lang is missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:					$this->dieUsage( 'parameter relation for relation type annotation is missing', 'param relation is missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:					$this->dieUsage( 'parameter relation_lang for relation type annotation is missing', 'param relation_lang missing' );
./WikiLexicalData/includes/api/owAddAnnotation.php:			$this->dieUsage( 'type is either mispelled, wrong or not yet implemented', 'type does not exist' );
./WikiLexicalData/includes/api/owExpress.php:			$this->dieUsage( 'parameter search is missing', 'param search is missing' );
./WikiLexicalData/includes/api/owExpress.php:			$this->dieUsage( 'the search word does not exist.', 'non-existent spelling' );
./WikiLexicalData/includes/api/owAddSyntrans.php:			$this->dieUsage( 'you must have a bot flag to use this API function', 'bot_only' );
./WikiLexicalData/includes/api/owAddSyntrans.php:			$this->dieUsage( 'your account is blocked.', 'blocked' );
./WikiLexicalData/includes/api/owAddSyntrans.php:			$this->dieUsage( 'parameter e for adding syntrans is missing', 'param e is missing' );
./WikiLexicalData/includes/api/owAddSyntrans.php:			$this->dieUsage( 'parameter dm for adding syntrans is missing', 'param dm is missing' );
./WikiLexicalData/includes/api/owAddSyntrans.php:			$this->dieUsage( 'parameter lang for adding syntrans is missing', 'param lang is missing' );
./WikiLexicalData/includes/api/owAddSyntrans.php:			$this->dieUsage( 'parameter im for adding syntrans is missing', 'param im is missing' );
./WikiLexicalData/includes/api/owDefine.php:			$this->dieUsage( $defineErrCode["{$define['error']}"], $define['error'] );
./WikiLexicalData/includes/specials/SpecialOWAddFromExternalAPI.php:			$this->dieUsage( 'you must have a WikiLexicalData edit flag to use this page', 'wld_edit_only' );
./WikiLexicalData/includes/specials/SpecialOWAddFromExternalAPI.php:			$this->dieUsage( 'your account is blocked.', 'blocked' );
./ShoutWikiAPI/ShoutWikiListApi.php:				$this->dieUsage( 'No such language', 'nosuchlang' );
./Wikidata/extensions/Wikibase/repo/includes/Api/SetClaim.php:		// Note: since dieUsage() never returns, this should be unreachable!
./Wikidata/extensions/Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * This is intended as an alternative for ApiBase::dieUsage().
./Wikidata/extensions/Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * constructor. If that fails, dieUsage() is called, which in turn
./Wikidata/extensions/Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * @see ApiBase::dieUsage()
./Wikidata/extensions/Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * This is intended as an alternative for ApiBase::dieUsage().
./Wikidata/extensions/Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * constructor. If that fails, dieUsage() is called, which in turn
./Wikidata/extensions/Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * @see ApiBase::dieUsage()
./Wikidata/extensions/Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * replacement for ApiBase::dieUsage().
./Wikidata/extensions/Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * @see ApiBase::dieUsage()
./SmiteSpam/api/SmiteSpamApiQuery.php:			$this->dieUsage( 'Offset parameter must be integer.', 'badparams' );
./SmiteSpam/api/SmiteSpamApiQuery.php:			$this->dieUsage( 'Limit parameter must be integer.', 'badparams' );
./SmiteSpam/api/SmiteSpamApiTrustUser.php:			$this->dieUsage( 'Permission error.', 'permissiondenied' );
./SmiteSpam/api/SmiteSpamApiTrustUser.php:			$this->dieUsage( 'Not a valid username.', 'badparams' );
./SmiteSpam/api/SmiteSpamApiTrustUser.php:			$this->dieUsage( 'User already trusted.', 'duplicate' );
./UserStatus/includes/api/ApiUserStatus.php:					$this->dieUsage( 'One or more of the required three params is missing', 'zomgamissingparam' );
./UserStatus/includes/api/ApiUserStatus.php:					$this->dieUsage( 'One or more of the required four params is missing', 'zomgamissingparam2' );
./UserStatus/includes/api/ApiUserStatus.php:					$this->dieUsage( 'One or more of the required two params is missing', 'zomgamissingparam4' );
./UserStatus/includes/api/ApiUserStatus.php:					$this->dieUsage( 'The only required parameter is missing', 'zomgamissingparam5' );
./UserStatus/includes/api/ApiUserStatus.php:					$this->dieUsage( 'One or more of the required five params is missing', 'zomgamissingparam6' );
./UserStatus/includes/api/ApiUserStatus.php:				$this->dieUsage( 'Oh fuck off already, will ya?', 'gordon' );
./ImageRating/includes/api/ApiImageRating.php:						$this->dieUsage(
./ImageRating/includes/api/ApiImageRating.php:						$this->dieUsage(
./PageForms/includes/PF_AutocompleteAPI.php:				$this->dieUsage( 'The substring must be specified', 'param_substr' );
./PageForms/includes/PF_AutocompleteAPI.php:				$this->dieUsage( $data, $code );
./EmailCapture/api/ApiEmailCapture.php:			$this->dieUsage( 'The email address does not appear to be valid', 'invalidemail' );
./PageLanguageApi/includes/api/PageLanguageApi.php:			$this->dieUsage( wfMessage( 'pagelanguageapi-disabled' ), 'moduledisabled' );
./PageLanguageApi/includes/api/PageLanguageApi.php:			$this->dieUsage( wfMessage( 'pagelanguageapi-permissiondenied' ), 'permissiondenied' );
./PageLanguageApi/includes/api/PageLanguageApi.php:			$this->dieUsage( wfMessage( 'badlanguage-code' ), 'badlanguage-code' );
./Drafts/ApiSaveDrafts.php:			$this->dieUsage( 'You must be logged in to save drafts.', 'notloggedin' );
./ApprovedRevs/includes/ApiApprove.php:			$this->dieUsage( "Cannot find a revision with the specified ID.", 'notarget' );
./ApprovedRevs/includes/ApiApprove.php:			$this->dieUsage( 'You ('.$wgUser->getName() .') can\'t approve!', 'permissiondenied');
./ApprovedRevs/includes/ApiApprove.php:			$this->dieUsage( "Page $title can't be approved!", 'badtarget');
./MarkAsHelpful/api/ApiMarkAsHelpful.php:		$this->dieUsage( "You don't have permission to do that", 'permission-denied' );
./Favorites/api/ApiFavorite.php:			$this->dieUsage( 'You must be logged-in to have a favoritelist', 'notloggedin' );
./Contest/api/ApiDeleteContest.php:			$this->dieUsage( 'Contest deletion is disabled', 'contestdeletiondisabled' );
./SocialProfile/UserProfile/includes/api/ApiUserProfilePrivacy.php:			$this->dieUsage( 'No data provided', 'field_key' );
./SocialProfile/UserProfile/includes/api/ApiUserProfilePrivacy.php:					$this->dieUsage( 'The supplied argument for the "privacy" parameter is invalid (no such parameter/missing parameter)', 'privacy' );
./Wigo3/wigo3.body.php:        $this->dieUsage( 'Invalid continue param. You should pass the original ' .
./OpenBadges/ApiOpenBadgesIssue.php:			$this->dieUsage( 'Could not find a recipient with that id', 'inputerror' );
./OpenBadges/ApiOpenBadgesIssue.php:			$this->dieUsage( 'Anonymous users cannot issue badges', 'notloggedin' );
./OpenBadges/ApiOpenBadgesIssue.php:			$this->dieUsage( "The 'issuebadge' right is required to issue badges",
./OpenBadges/ApiOpenBadgesIssue.php:			$this->dieUsage( 'Evidence must be blank or an url', 'badEvidence' );
./OpenBadges/ApiOpenBadgesAssertions.php:			$this->dieUsage( 'The obl_badge_id parameter must be ' .
./OpenBadges/ApiOpenBadgesAssertions.php:				$this->dieUsage( 'The obl_receiver parameter must be ' .
./OpenBadges/ApiOpenBadgesAssertions.php:			$this->dieUsage( 'No badge assertion found for this badge and user', 'inputerror' );
./OpenBadges/ApiOpenBadgesAssertions.php:			$this->dieUsage( 'Badge id not found', 'inputerror' );
./OpenBadges/ApiOpenBadges.php:			$this->dieUsage( 'Illegal filetype for badge', 'imageerror' );
./OpenBadges/ApiOpenBadges.php:			$this->dieUsage( 'No badge found for this id', 'inputerror' );
./OpenBadges/ApiOpenBadges.php:			$this->dieUsage( 'The badge recipient has not set ' .
./OpenBadges/ApiOpenBadges.php:			$this->dieUsage( 'The badge recipient has not confirmed ' .
./ArticleFeedbackv5/api/ApiViewActivityArticleFeedbackv5.php:			$this->dieUsage( "You don't have permission to view feedback activity", 'permissiondenied' );
./ArticleFeedbackv5/api/ApiViewActivityArticleFeedbackv5.php:			$this->dieUsage( "Feedback does not exist", 'invalidfeedbackid' );
./ArticleFeedbackv5/api/ApiViewActivityArticleFeedbackv5.php:			$this->dieUsage( "Page for feedback does not exist", 'invalidfeedbackid' );
./ArticleFeedbackv5/api/ApiViewActivityArticleFeedbackv5.php:			$this->dieUsage( $e->getMessage(), $e->getCode() );
./ArticleFeedbackv5/api/ApiSetStatusArticleFeedbackv5.php:			$this->dieUsage(
./ArticleFeedbackv5/api/ApiSetStatusArticleFeedbackv5.php:			$this->dieUsage(
./ArticleFeedbackv5/api/ApiSetStatusArticleFeedbackv5.php:			$this->dieUsage(
./ArticleFeedbackv5/api/ApiSetStatusArticleFeedbackv5.php:				$this->dieUsage(
./ArticleFeedbackv5/api/ApiArticleFeedbackv5.php:			$this->dieUsage(
./ArticleFeedbackv5/api/ApiArticleFeedbackv5.php:			$this->dieUsage(
./ArticleFeedbackv5/api/ApiArticleFeedbackv5.php:			$this->dieUsage(
./ArticleFeedbackv5/api/ApiArticleFeedbackv5.php:			$this->dieUsage(
./ArticleFeedbackv5/api/ApiArticleFeedbackv5.php:				$this->dieUsage( "Comment was flagged as abusive by SpamRegex", 'articlefeedbackv5-error-abuse' );
./ArticleFeedbackv5/api/ApiArticleFeedbackv5.php:				$this->dieUsage( "Comment was flagged as abusive by SpamBlacklist", 'articlefeedbackv5-error-abuse' );
./ArticleFeedbackv5/api/ApiArticleFeedbackv5.php:					$this->dieUsage(
./ArticleFeedbackv5/api/ApiArticleFeedbackv5.php://			$this->dieUsage( $e->getMessage(), 'inserterror' ); // easier when debugging: show exact exception message
./ArticleFeedbackv5/api/ApiArticleFeedbackv5.php:			$this->dieUsage( $this->msg( 'articlefeedbackv5-error-submit' ), 'inserterror' );
./ArticleFeedbackv5/api/ApiArticleFeedbackv5.php:			$this->dieUsage( "Page for feedback does not exist", "invalidfeedbackid" );
./ArticleFeedbackv5/api/ApiFlagFeedbackArticleFeedbackv5.php:			$this->dieUsage(
./ArticleFeedbackv5/api/ApiFlagFeedbackArticleFeedbackv5.php:			$this->dieUsage(
./ArticleFeedbackv5/api/ApiAddFlagNoteArticleFeedbackv5.php:			$this->dieUsage(
./GoogleLogin/includes/Api/ApiGoogleLoginInfo.php:			$this->dieUsage( 'Invalid Google ID', 'googleidinvalid' );
./GoogleLogin/includes/Api/ApiGoogleLoginInfo.php:			$this->dieUsage(
./GoogleLogin/includes/Api/ApiGoogleLoginInfo.php:			$this->dieUsage( 'Google user not found or false api key.', 'unknownuser' );
./OpenStackManager/api/ApiNovaInstance.php:				$this->dieUsage(
./OpenStackManager/api/ApiNovaInstance.php:				$this->dieUsage(
./OpenStackManager/api/ApiNovaInstance.php:				$this->dieUsage(
./OpenStackManager/api/ApiNovaInstance.php:					$this->dieUsage(
./OpenStackManager/api/ApiNovaInstance.php:					$this->dieUsage(
./OpenStackManager/api/ApiNovaInstance.php:					$this->dieUsage(
./OpenStackManager/api/ApiNovaAddress.php:				$this->dieUsage(
./OpenStackManager/api/ApiNovaAddress.php:					$this->dieUsage(
./OpenStackManager/api/ApiNovaAddress.php:					$this->dieUsage(
./OpenStackManager/api/ApiNovaAddress.php:				$this->dieUsage(
./OpenStackManager/api/ApiNovaAddress.php:						$this->dieUsage(
./OpenStackManager/api/ApiNovaProjectLimits.php:				$this->dieUsage(
./OpenStackManager/api/ApiNovaProjectLimits.php:					$this->dieUsage(
./OpenStackManager/api/ApiNovaProjectLimits.php:					$this->dieUsage(
./OpenStackManager/api/ApiListNovaInstances.php:				$this->dieUsage( 'Invalid project specified.', 'badproject' );
./Comments/includes/api/CommentSubmitAPI.php:				$this->dieUsage( wfMessage( 'comments-is-spam' )->plain(), 'comments-is-spam' );
./Comments/includes/api/CommentSubmitAPI.php:				$this->dieUsage( wfMessage( 'comments-links-are-forbidden' )->plain(), 'comments-links-are-forbidden' );
./Survey/api/ApiQuerySurveys.php:			$this->dieUsage( $this->msg( 'survey-err-ids-xor-names' )->text(), 'ids-xor-names' );
./Survey/api/ApiAddSurvey.php:				$this->dieUsage( $this->msg(
./Survey/api/ApiSubmitSurvey.php:			$this->dieUsage( $this->msg( 'survey-err-id-xor-name' )->text(), 'id-xor-name' );
./Survey/api/ApiSubmitSurvey.php:				$this->dieUsage( $this->msg( 'survey-err-survey-name-unknown',
./Survey/api/ApiSubmitSurvey.php:				$this->dieUsage( $this->msg( 'survey-err-survey-id-unknown',
./Wikibase/repo/includes/Api/SetClaim.php:		// Note: since dieUsage() never returns, this should be unreachable!
./Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * This is intended as an alternative for ApiBase::dieUsage().
./Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * constructor. If that fails, dieUsage() is called, which in turn
./Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * @see ApiBase::dieUsage()
./Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * This is intended as an alternative for ApiBase::dieUsage().
./Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * constructor. If that fails, dieUsage() is called, which in turn
./Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * @see ApiBase::dieUsage()
./Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * replacement for ApiBase::dieUsage().
./Wikibase/repo/includes/Api/ApiErrorReporter.php:	 * @see ApiBase::dieUsage()
./GoogleAppEngine/job/ApiGAEJobQueue.php:			$this->dieUsage( 'Missing "X-AppEngine-TaskName" header', 'externalrequest' );
./UIFeedback/ApiUiFeedback.php:			$this->dieUsage( 'you have to be logged in to use that api', 'error' );
./UIFeedback/ApiUiFeedback.php:				$this->dieUsage( 'ui-feedback-type has to be either 0 or 1! ', 'error-code', 400 );
./UIFeedback/ApiUiFeedback.php:				$this->dieUsage( "Bad request!", 'error' );
./UIFeedback/ApiUiFeedback.php:				$this->dieUsage( 'Bad Request', 'error' );
./UIFeedback/ApiUiFeedback.php:				$this->dieUsage( 'Permission denied! ', 'error-code', 403 );
./UIFeedback/ApiUiFeedback.php:				$this->dieUsage( 'Write to DB was not successful', 'error' );
./UIFeedback/ApiUiFeedback.php:			$this->dieUsage( 'Bad Request', 'error' );
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:				$this->dieUsage( "Client IP address not in ParsoidBatchAPI_AllowedIPs",
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:				$this->dieUsage( "Invalid batch, must be array", 'invalid_batch' );
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:				$this->dieUsage( "Batch too large, limit is 500", 'batch_too_large' );
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:						$this->dieUsage( "Too many titles", 'too-many-titles' );
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:					$this->dieUsage( "Invalid action in item index $itemIndex", 'invalid_action' );
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:				$this->dieUsage( "Input text exceeds maximum article size", 'text_too_big' );
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:						$this->dieUsage( "Invalid title ($itemIndex)", 'invalid_title' );
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:							$this->dieUsage( "There is no revision ID $revid", 'missingrev' );
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:				$this->dieUsage(
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:				$this->dieUsage(
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:				$this->dieUsage(
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:				$this->dieUsage(
./ParsoidBatchAPI/includes/ApiParsoidBatch.php:				$this->dieUsage(
./QuizGame/includes/api/ApiQuizGameVote.php:			$this->dieUsage( wfMessage( 'quizgame-ajax-nonnumeric-answer' )->text(), 'nonnumericanswer' );
./QuizGame/includes/api/ApiQuizGameVote.php:			$this->dieUsage( wfMessage( 'quizgame-ajax-already-answered' )->text(), 'alreadyanswered' );
./QuizGame/includes/api/ApiQuizGameVote.php:			$this->dieUsage( wfMessage( 'quizgame-ajax-invalid-id' )->text(), 'nosuchquestion' );
./FlaggedRevs/api/actions/ApiReview.php:				$this->dieUsage( "You don't have the right to review revisions.",
./FlaggedRevs/api/actions/ApiReview.php:				$this->dieUsage( "Cannot find a revision with the specified ID.", 'notarget' );
./FlaggedRevs/api/actions/ApiReview.php:				$this->dieUsage( "Provided page does not exist.", 'notarget' );
./FlaggedRevs/api/actions/ApiReview.php:				$this->dieUsage( "Provided page is not reviewable.", 'notreviewable' );
./FlaggedRevs/api/actions/ApiReview.php:					$this->dieUsage(
./FlaggedRevs/api/actions/ApiReview.php:					$this->dieUsage( "Either all or none of the flags have to be set to zero.",
./FlaggedRevs/api/actions/ApiReview.php:					$this->dieUsage(
./FlaggedRevs/api/actions/ApiReview.php:					$this->dieUsage( "The specified flags are not valid.", 'invalidtags' );
./FlaggedRevs/api/actions/ApiReview.php:					$this->dieUsage( "No revision with the specified ID.", 'notarget' );
./FlaggedRevs/api/actions/ApiReview.php:					$this->dieUsage( "You don't have the necessary rights to remove the flags.",
./FlaggedRevs/api/actions/ApiReview.php:					$this->dieUsage( "No flagged revision with the specified ID.", 'notarget' );
./FlaggedRevs/api/actions/ApiReviewActivity.php:				$this->dieUsage( "You don't have the right to review revisions.",
./FlaggedRevs/api/actions/ApiReviewActivity.php:				$this->dieUsage( "Cannot find a revision with the specified ID.", 'notarget' );
./FlaggedRevs/api/actions/ApiReviewActivity.php:				$this->dieUsage( "Provided page is not reviewable.", 'notreviewable' );
./FlaggedRevs/api/actions/ApiReviewActivity.php:					$this->dieUsage( "Revisions do not belong to the same page.", 'notarget' );
./FlaggedRevs/api/actions/ApiStabilize.php:				$this->dieUsage( "Invalid title given.", "invalidtitle" );
./FlaggedRevs/api/actions/ApiStabilize.php:				$this->dieUsage( $this->msg( $status )->text(), 'unknownerror' );
./FlaggedRevs/api/actions/ApiStabilize.php:				$this->dieUsage( $this->msg( $status )->text(), 'unknownerror' );
./FlaggedRevs/api/FlaggedRevsApi.hooks.php:				$module->dieUsage( 'if rvprop=flagged is set, you must also set rvprop=ids', 'missingparam' );
./FlaggedRevs/api/reports/ApiQueryOldreviewedpages.php:					$this->dieUsage( 'You must be logged-in to have a watchlist', 'notloggedin' );
./FanBoxes/includes/api/ApiFanBoxes.php:			$this->dieUsage( 'missingparam', 'asdf' );
./FanBoxes/includes/api/ApiFanBoxes.php:			$this->dieUsage( 'missingparam', 'qwerty' );
./FanBoxes/includes/api/ApiFanBoxes.php:			$this->dieUsage( 'missingparam', 'fsdf' );
./EventLogging/includes/ApiJsonSchema.php:		$this->dieUsage( $parsed['info'], $parsed['code'], 400 );
./GlobalBlocking/includes/api/ApiQueryGlobalBlocks.php:					$this->dieUsage( "IP address {$address} is not valid", 'param_addresses' );
./Cargo/api/CargoAutocompleteAPI.php:				$this->dieUsage( $data, $code );
./Cargo/includes/CargoUtils.php:			$object->dieUsage( $msg, $errcode );

@D3r1ck01: Do you plan to mentor this for Google-Code-in-2018? If so, how much work should one student perform? If not, should this be under "Mentors missing"?

@Aklapper, the task is a little still turbid at the moment so I've moved it to "Missing mentors", I'll try to see if a helping hand can be gotten on this task so we can better scope it for student consumption. Also, it's cross extensions so at least, I think we would need a primary mentor with CR+2 for merging students work after review. I'll poke around and get back to the task. Thanks :)

Change 474554 had a related patch set uploaded (by Seb35; owner: Seb35):
[mediawiki/extensions/OpenBadges@master] Remove deprecated dieUsage method

https://gerrit.wikimedia.org/r/474554

Change 474554 merged by jenkins-bot:
[mediawiki/extensions/OpenBadges@master] Remove deprecated dieUsage method

https://gerrit.wikimedia.org/r/474554

D3r1ck01 updated the task description. (Show Details)Mar 22 2019, 8:11 PM
D3r1ck01 updated the task description. (Show Details)
D3r1ck01 updated the task description. (Show Details)
D3r1ck01 updated the task description. (Show Details)Mar 22 2019, 8:19 PM

Change 498488 had a related patch set uploaded (by D3r1ck01; owner: Derick Alangi):
[mediawiki/extensions/Configure@master] Configure.api: Replace use of deprecated ApiBase::setWarning method

https://gerrit.wikimedia.org/r/498488

Change 498488 abandoned by D3r1ck01:
Configure.api: Replace use of deprecated ApiBase::setWarning method

Reason:
will be archived soon: T185227.

https://gerrit.wikimedia.org/r/498488

So far so good, I can confirm no WMF deployed actually uses any of this or are my missing something?

Reedy added a comment.Apr 26 2019, 4:08 PM

Only these still seem to be around

Targets
    Occurrences of 'dieUsage' in Directory /Users/reedy/PhpstormProjects/mediawiki/extensions
Found Occurrences  (135 usages found)
    Unclassified occurrence  (118 usages found)
        mediawiki  (118 usages found)
            extensions/AdvancedMeta/src/Api  (1 usage found)
                Tasks.php  (1 usage found)
                    125 $this->dieUsageMsg( 'badaccess-groups' );
            extensions/ApprovedRevs/includes  (3 usages found)
                ApiApprove.php  (3 usages found)
                    25 $this->dieUsage( "Cannot find a revision with the specified ID.", 'notarget' );
                    31 $this->dieUsage( 'You ('.$wgUser->getName() .') can\'t approve!', 'permissiondenied');
                    35 $this->dieUsage( "Page $title can't be approved!", 'badtarget');
            extensions/BlueSpiceFoundation/includes/api  (1 usage found)
                BSApiTasksBase.php  (1 usage found)
                    153 $this->dieUsageMsg( 'badaccess-groups' );
            extensions/Cargo/api  (1 usage found)
                CargoAutocompleteAPI.php  (1 usage found)
                    43 $this->dieUsage( $data, $code );
            extensions/Cargo/includes  (2 usages found)
                CargoUtils.php  (2 usages found)
                    1216 $object->dieUsage( $msg, $errcode );
                    1219 $object->dieUsageMsg( $msg );
            extensions/CommentStreams/includes  (2 usages found)
                ApiCSBase.php  (1 usage found)
                    123 $this->dieUsageMsg(
                ApiCSPostComment.php  (1 usage found)
                    226 $this->dieUsageMsg(
            extensions/EmailCapture/api  (1 usage found)
                ApiEmailCapture.php  (1 usage found)
                    13 $this->dieUsage( 'The email address does not appear to be valid', 'invalidemail' );
            extensions/Favorites/api  (3 usages found)
                ApiFavorite.php  (3 usages found)
                    17 $this->dieUsage( 'You must be logged-in to have a favoritelist', 'notloggedin' );
                    24 $this->dieUsageMsg( array( 'invalidtitle', $params['title'] ) );
                    41 $this->dieUsageMsg( 'hookaborted' );
            extensions/GoogleAppEngine/job  (1 usage found)
                ApiGAEJobQueue.php  (1 usage found)
                    11 $this->dieUsage( 'Missing "X-AppEngine-TaskName" header', 'externalrequest' );
            extensions/GoogleLogin/includes/Api  (3 usages found)
                ApiGoogleLoginInfo.php  (3 usages found)
                    14 $this->dieUsage( 'Invalid Google ID', 'googleidinvalid' );
                    19 $this->dieUsage(
                    27 $this->dieUsage( 'Google user not found or false api key.', 'unknownuser' );
            extensions/ImageTweaks  (2 usages found)
                ApiImageTweaks.php  (2 usages found)
                    37 $this->dieUsage( 'Thumbor is not configured for this instance of MediaWiki.' );
                    56 $this->dieUsage( 'An internal error occurred', 'internal-error', 0, $error );
            extensions/LiveTranslate/api  (4 usages found)
                ApiImportTranslationMemories.php  (2 usages found)
                    22 $this->dieUsageMsg( [ 'badaccess-groups' ] );
                    30 $this->dieUsageMsg( [ 'missingparam', $requiredParam ] );
                ApiLiveTranslate.php  (1 usage found)
                    25 $this->dieUsageMsg( [ 'missingparam', $requiredParam ] );
                ApiQueryLiveTranslate.php  (1 usage found)
                    27 $this->dieUsageMsg( [ 'missingparam', 'language' ] );
            extensions/MarkAsHelpful/api  (2 usages found)
                ApiMarkAsHelpful.php  (2 usages found)
                    9 $this->dieUsageMsg( [ 'blockedtext' ] );
                    75 $this->dieUsage( "You don't have permission to do that", 'permission-denied' );
            extensions/MultiUpload  (1 usage found)
                MultiUploadApi.php  (1 usage found)
                    213 $this->dieUsage(
            extensions/PageForms/includes  (2 usages found)
                PF_AutocompleteAPI.php  (2 usages found)
                    41 $this->dieUsage( 'The substring must be specified', 'param_substr' );
                    89 $this->dieUsage( $data, $code );
            extensions/Push/src/api  (13 usages found)
                ApiPush.php  (3 usages found)
                    94 $this->dieUsage( wfMessage( 'push-special-err-pageget-failed' )->text(), 'page-get-failed' );
                    97 $this->dieUsage( wfMessage( 'push-special-err-pageget-failed' )->text(), 'page-get-failed' );
                    176 $this->dieUsage( wfMessage( 'push-special-err-push-failed' )->text(), 'page-push-failed' );
                ApiPushBase.php  (7 usages found)
                    63 $this->dieUsage(
                    72 $this->dieUsage(
                    91 $this->dieUsage(
                    140 $this->dieUsage(
                    153 $this->dieUsage( $response->query->error->message, 'token-request-failed' );
                    155 $this->dieUsage(
                    169 $this->dieUsageMsg( [ 'badaccess-groups' ] );
                ApiPushImages.php  (3 usages found)
                    95 $this->dieUsage(
                    103 $this->dieUsage(
                    134 $this->dieUsage( wfMessage( 'push-special-err-push-failed' )->text(), 'page-push-failed' );
            extensions/SmiteSpam/api  (5 usages found)
                SmiteSpamApiQuery.php  (2 usages found)
                    11 $this->dieUsage( 'Offset parameter must be integer.', 'badparams' );
                    15 $this->dieUsage( 'Limit parameter must be integer.', 'badparams' );
                SmiteSpamApiTrustUser.php  (3 usages found)
                    6 $this->dieUsage( 'Permission error.', 'permissiondenied' );
                    12 $this->dieUsage( 'Not a valid username.', 'badparams' );
                    24 $this->dieUsage( 'User already trusted.', 'duplicate' );
            extensions/SpellingApi/api  (1 usage found)
                ApiQuerySpellcheck.php  (1 usage found)
                    36 $this->dieUsage(
            extensions/Survey/api  (12 usages found)
                ApiAddSurvey.php  (2 usages found)
                    24 $this->dieUsageMsg( array( 'badaccess-groups' ) );
                    39 $this->dieUsage( $this->msg(
                ApiDeleteSurvey.php  (1 usage found)
                    25 $this->dieUsageMsg( array( 'badaccess-groups' ) );
                ApiEditSurvey.php  (1 usage found)
                    25 $this->dieUsageMsg( array( 'badaccess-groups' ) );
                ApiQuerySurveyAnswers.php  (1 usage found)
                    28 $this->dieUsageMsg( array( 'badaccess-groups' ) );
                ApiQuerySurveys.php  (2 usages found)
                    27 $this->dieUsageMsg( array( 'badaccess-groups' ) );
                    36 $this->dieUsage( $this->msg( 'survey-err-ids-xor-names' )->text(), 'ids-xor-names' );
                ApiQuerySurveySubmissions.php  (1 usage found)
                    28 $this->dieUsageMsg( array( 'badaccess-groups' ) );
                ApiSubmitSurvey.php  (4 usages found)
                    24 $this->dieUsageMsg( array( 'badaccess-groups' ) );
                    30 $this->dieUsage( $this->msg( 'survey-err-id-xor-name' )->text(), 'id-xor-name' );
                    37 $this->dieUsage( $this->msg( 'survey-err-survey-name-unknown',
                    44 $this->dieUsage( $this->msg( 'survey-err-survey-id-unknown',
            extensions/UIFeedback  (7 usages found)
                ApiUiFeedback.php  (7 usages found)
                    13 $this->dieUsage( 'you have to be logged in to use that api', 'error' );
                    23 $this->dieUsage( 'ui-feedback-type has to be either 0 or 1! ', 'error-code', 400 );
                    94 $this->dieUsage( "Bad request!", 'error' );
                    104 $this->dieUsage( 'Bad Request', 'error' );
                    120 $this->dieUsage( 'Permission denied! ', 'error-code', 403 );
                    146 $this->dieUsage( 'Write to DB was not successful', 'error' );
                    149 $this->dieUsage( 'Bad Request', 'error' );
            extensions/Wigo3  (1 usage found)
                wigo3.body.php  (1 usage found)
                    150 $this->dieUsage( 'Invalid continue param. You should pass the original ' .
            extensions/WikiLexicalData/includes/api  (47 usages found)
                ApiWikiData.php  (1 usage found)
                    59 $this->dieUsage( "Unknown data set: $dataset", 'unknown_dataset' );
                owAddAnnotation.php  (20 usages found)
                    25 $this->dieUsage( 'you must have a bot flag to use this API function', 'bot_only' );
                    30 $this->dieUsage( 'your account is blocked.', 'blocked' );
                    74 $this->dieUsage( 'parameter dm for text type annotation is missing', 'param dm is missing' );
                    77 $this->dieUsage( 'parameter attribute for text type annotation is missing', 'param attribute missing' );
                    80 $this->dieUsage( 'parameter attrib_lang for text type annotation is missing', 'param attrib_lang missing' );
                    83 $this->dieUsage( 'nothing to add', 'param text is missing' );
                    129 $this->dieUsage( 'parameter dm for option type annotation is missing', 'param dm is missing' );
                    132 $this->dieUsage( 'parameter attribute for option type annotation is missing', 'param attribute missing' );
                    135 $this->dieUsage( 'parameter attrib_lang for option type annotation is missing', 'param attrib_lang missing' );
                    138 $this->dieUsage( 'nothing to add', 'param option is missing' );
                    141 $this->dieUsage( 'parameter option_lang for option type annotation is missing', 'param option_lang missing' );
                    157 $this->dieUsage( 'parameter lang for option type annotation is missing', 'param lang is missing' );
                    212 $this->dieUsage( 'parameter dm for text type annotation is missing', 'param dm is missing' );
                    215 $this->dieUsage( 'parameter attribute for text type annotation is missing', 'param attribute missing' );
                    218 $this->dieUsage( 'parameter attrib_lang for text type annotation is missing', 'param attrib_lang missing' );
                    235 $this->dieUsage( 'parameter dm_relation for relation type annotation is missing', 'param dm_relation missing' );
                    240 $this->dieUsage( 'parameter lang for relation type annotation is missing', 'param lang is missing' );
                    243 $this->dieUsage( 'parameter relation for relation type annotation is missing', 'param relation is missing' );
                    246 $this->dieUsage( 'parameter relation_lang for relation type annotation is missing', 'param relation_lang missing' );
                    293 $this->dieUsage( 'type is either mispelled, wrong or not yet implemented', 'type does not exist' );
                owAddDefinition.php  (5 usages found)
                    25 $this->dieUsage( 'your account is blocked.', 'blocked' );
                    43 $this->dieUsage( 'you must have a bot flag to use this API function', 'bot_only' );
                    56 $this->dieUsage( 'parameter d for adding a definition is missing', 'param d is missing' );
                    59 $this->dieUsage( 'parameter dm for adding a definition is missing', 'param dm is missing' );
                    62 $this->dieUsage( 'parameter lang for adding a definition is missing', 'param lang is missing' );
                owAddSyntrans.php  (6 usages found)
                    39 $this->dieUsage( 'you must have a bot flag to use this API function', 'bot_only' );
                    44 $this->dieUsage( 'your account is blocked.', 'blocked' );
                    79 $this->dieUsage( 'parameter e for adding syntrans is missing', 'param e is missing' );
                    82 $this->dieUsage( 'parameter dm for adding syntrans is missing', 'param dm is missing' );
                    85 $this->dieUsage( 'parameter lang for adding syntrans is missing', 'param lang is missing' );
                    88 $this->dieUsage( 'parameter im for adding syntrans is missing', 'param im is missing' );
                owAddToCollection.php  (4 usages found)
                    24 $this->dieUsage( 'you must have a bot flag to use this API function', 'bot_only' );
                    29 $this->dieUsage( 'your account is blocked.', 'blocked' );
                    64 $this->dieUsage( 'parameter dm to add is missing', 'param dm is missing' );
                    67 $this->dieUsage( 'parameter col_mid to add to is missing', 'param col_mid missing' );
                owDefine.php  (1 usage found)
                    157 $this->dieUsage( $defineErrCode["{$define['error']}"], $define['error'] );
                owExpress.php  (2 usages found)
                    45 $this->dieUsage( 'parameter search is missing', 'param search is missing' );
                    63 $this->dieUsage( 'the search word does not exist.', 'non-existent spelling' );
                owSyntrans.php  (8 usages found)
                    61 $this->dieUsage( 'parameter dm for adding syntrans is missing', 'param dm is missing' );
                    65 $this->dieUsage( 'Non existent dm id (' . $params['dm'] . ').', "dm not found." );
                    85 $this->dieUsage( 'parameter part for adding syntrans is empty', 'param part is empty' );
                    92 $this->dieUsage( 'parameter lang for adding syntrans is missing', 'param lang is missing' );
                    100 $this->dieUsage( 'parameter part for adding syntrans is neither syn, trans nor all', 'invalid param part value' );
                    109 $this->dieUsage( 'parameter lang for adding syntrans does not exist', 'param lang does not exist' );
                    114 $this->dieUsage( 'parameter lang for adding syntrans is empty', 'param lang empty' );
                    127 $this->dieUsage( 'parameter e for adding syntrans does not exist', 'param e does not exist' );
            extensions/WikiLexicalData/includes/specials  (2 usages found)
                SpecialOWAddFromExternalAPI.php  (2 usages found)
                    104 $this->dieUsage( 'you must have a WikiLexicalData edit flag to use this page', 'wld_edit_only' );
                    109 $this->dieUsage( 'your account is blocked.', 'blocked' );
            extensions/ZeroPortal/includes  (1 usage found)
                ApiZeroPortal.php  (1 usage found)
                    168 public function dieUsage( $description, $errorCode, $httpRespCode = 0, $extradata = null ) {
    Usage in comments  (14 usages found)
        mediawiki  (14 usages found)
            extensions/AJAXPoll/includes/api  (1 usage found)
                ApiAJAXPollSubmitVote.php  (1 usage found)
                    31 $this->dieUsageMsg( 'missingparam' );
            extensions/DonationInterface/gateway_common  (1 usage found)
                donation.api.php  (1 usage found)
                    25 return; // already failed with a dieUsage call
            extensions/Flow/includes/Api  (1 usage found)
                ApiParsoidUtilsFlow.php  (1 usage found)
                    27 return; // helps static analysis know execution does not continue past self::dieUsage
            extensions/Wikibase/repo  (1 usage found)
                RepoHooks.php  (1 usage found)
                    536 *                            This can be a message key or an array as expected by ApiBase::dieUsageMsg().
            extensions/Wikibase/repo/includes/Api  (9 usages found)
                ApiErrorReporter.php  (8 usages found)
                    104 * This is intended as an alternative for ApiBase::dieUsage().
                    109 * constructor. If that fails, dieUsage() is called, which in turn
                    112 * @see ApiBase::dieUsage()
                    160 * This is intended as an alternative for ApiBase::dieUsage().
                    165 * constructor. If that fails, dieUsage() is called, which in turn
                    168 * @see ApiBase::dieUsage()
                    222 * replacement for ApiBase::dieUsage().
                    228 * @see ApiBase::dieUsage()
                SetClaim.php  (1 usage found)
                    208 // Note: since dieUsage() never returns, this should be unreachable!
            extensions/WikiLexicalData/includes/api  (1 usage found)
                owDefine.php  (1 usage found)
                    53 *  Note: dieUsage must be used outside the cache lest the cache will return empty the
    Usage in string constants  (3 usages found)
        mediawiki  (3 usages found)
            extensions/PageImages/tests/phpunit  (2 usages found)
                ApiQueryPageImagesTest.php  (2 usages found)
                    145 ->setMethods( [ 'extractRequestParams', 'getTitles', 'setContinueParameter', 'dieUsage',
                    164 ->method( 'dieUsage' );
            extensions/ZeroPortal/includes  (1 usage found)
                ApiZeroPortal.php  (1 usage found)
                    164 call_user_func_array( [ $this, 'dieUsage' ], $res );