MediaWiki master
MediaWiki\EditPage\Constraint\ExistingSectionEditConstraint Class Reference

To simplify the logic in EditPage, this constraint may be created even if the section being edited does not currently exist, in which case $section will be 'new' and this constraint will just short-circuit to CONSTRAINT_PASSED since the checks are not applicable. More...

Inherits MediaWiki\EditPage\Constraint\IEditConstraint.

Collaboration diagram for MediaWiki\EditPage\Constraint\ExistingSectionEditConstraint:

Public Member Functions

 __construct (string $section, string $userSummary, string $autoSummary, bool $allowBlankSummary, Content $newContent, ?Content $originalContent)
 
 checkConstraint ()
 
 getLegacyStatus ()
 Get the legacy status for failure (or success)
 

Additional Inherited Members

- Public Attributes inherited from MediaWiki\EditPage\IEditObject
const AS_ARTICLE_WAS_DELETED = 222
 Status: article was deleted while editing and wpRecreate == false or form was not posted.
 
const AS_BLANK_ARTICLE = 224
 Status: user tried to create a blank page and wpIgnoreBlankArticle == false.
 
const AS_BLOCKED_PAGE_FOR_USER = 215
 Status: User is blocked from editing this page.
 
const AS_CHANGE_TAG_ERROR = 237
 Status: an error relating to change tagging.
 
const AS_CONFLICT_DETECTED = 225
 Status: (non-resolvable) edit conflict.
 
const AS_CONTENT_TOO_BIG = 216
 Status: Content too big (> $wgMaxArticleSize)
 
const AS_END = 231
 Status: WikiPage::doEdit() was unsuccessful.
 
const AS_HOOK_ERROR = 210
 Status: Article update aborted by a hook function.
 
const AS_HOOK_ERROR_EXPECTED = 212
 Status: A hook function returned an error.
 
const AS_IMAGE_REDIRECT_ANON = 233
 Status: anonymous user is not allowed to upload (User::isAllowed('upload') == false)
 
const AS_IMAGE_REDIRECT_LOGGED = 234
 Status: logged in user is not allowed to upload (User::isAllowed('upload') == false)
 
const AS_MAX_ARTICLE_SIZE_EXCEEDED = 229
 Status: article is too big (> $wgMaxArticleSize), after merging in the new section.
 
const AS_NO_CHANGE_CONTENT_MODEL = 235
 Status: user tried to modify the content model, but is not allowed to do that ( User::isAllowed('editcontentmodel') == false )
 
const AS_NO_CREATE_PERMISSION = 223
 Status: user tried to create this page, but is not allowed to do that.
 
const AS_PARSE_ERROR = 240
 Status: can't parse content.
 
const AS_RATE_LIMITED = 221
 Status: rate limiter for action 'edit' was tripped.
 
const AS_READ_ONLY_PAGE = 220
 Status: wiki is in readonly mode (ReadOnlyMode::isReadOnly() == true)
 
const AS_READ_ONLY_PAGE_ANON = 218
 Status: this anonymous user is not allowed to edit this page.
 
const AS_READ_ONLY_PAGE_LOGGED = 219
 Status: this logged in user is not allowed to edit this page.
 
const AS_REVISION_WAS_DELETED = 217
 Status: revision x was deleted while editing (?action=edit&oldid=x)
 
const AS_SELF_REDIRECT = 236
 Status: user tried to create self-redirect and wpIgnoreSelfRedirect is false.
 
const AS_SPAM_ERROR = 232
 Status: summary contained spam according to one of the regexes in $wgSummarySpamRegex.
 
const AS_SUCCESS_NEW_ARTICLE = 201
 Status: Article successfully created.
 
const AS_SUCCESS_UPDATE = 200
 Status: Article successfully updated.
 
const AS_SUMMARY_NEEDED = 226
 Status: no edit summary given and the user has forceeditsummary set and the user is not editing in his own userspace or talkspace and wpIgnoreBlankSummary == false.
 
const AS_TEXTBOX_EMPTY = 228
 Status: user tried to create a new section without content.
 
const AS_UNABLE_TO_ACQUIRE_TEMP_ACCOUNT = 243
 Status: edit rejected because server was unable to acquire a temporary account name for this user.
 
const AS_UNICODE_NOT_SUPPORTED = 242
 Status: edit rejected because browser doesn't support Unicode.
 

Detailed Description

To simplify the logic in EditPage, this constraint may be created even if the section being edited does not currently exist, in which case $section will be 'new' and this constraint will just short-circuit to CONSTRAINT_PASSED since the checks are not applicable.

This constraint will only be used if the editor is trying to edit an existing page; if there is no content, then the user has lost access to the revision after it was loaded. (T301947)

For an edit to an existing page but not with a new section, do not allow the user to post with a summary that matches the automatic summary if

  • the content has changed (to allow null edits without a summary, see T7365),
  • the new content is not a redirect (since redirecting a page has an informative automatic edit summary, see T9889), and
  • the user has not explicitly chosen to allow the automatic summary to be used

For most edits, the automatic summary is blank, so checking against the automatic summary means checking that any summary was given.

Since
1.36
Access: internal
Author
DannyS712

Definition at line 48 of file ExistingSectionEditConstraint.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\EditPage\Constraint\ExistingSectionEditConstraint::__construct ( string $section,
string $userSummary,
string $autoSummary,
bool $allowBlankSummary,
Content $newContent,
?Content $originalContent )
Parameters
string$section
string$userSummary
string$autoSummary
bool$allowBlankSummary
Content$newContent
?Content$originalContent

Definition at line 66 of file ExistingSectionEditConstraint.php.

Member Function Documentation

◆ checkConstraint()

MediaWiki\EditPage\Constraint\ExistingSectionEditConstraint::checkConstraint ( )
Returns
string whether the constraint passed, either CONSTRAINT_PASSED or CONSTRAINT_FAILED

Implements MediaWiki\EditPage\Constraint\IEditConstraint.

Definition at line 82 of file ExistingSectionEditConstraint.php.

◆ getLegacyStatus()

MediaWiki\EditPage\Constraint\ExistingSectionEditConstraint::getLegacyStatus ( )

Get the legacy status for failure (or success)

Called "legacy" status because this part of the interface should probably be redone; Currently Status objects have a value of an IEditObject constant, as well as a fatal message

Returns
StatusValue

Implements MediaWiki\EditPage\Constraint\IEditConstraint.

Definition at line 106 of file ExistingSectionEditConstraint.php.

References StatusValue\fatal().


The documentation for this class was generated from the following file: