Wikibase
MediaWiki Wikibase extension
|
EditEntity that collects stats for edits. More...
Public Member Functions | |
__construct (EditEntity $editEntity, StatsdDataFactoryInterface $stats, string $timingPrefix) | |
getEntityId () | |
Returns the ID of the entity being edited. More... | |
getLatestRevision () | |
Returns the latest revision of the entity. More... | |
getBaseRevision () | |
Return the base revision for the edit. More... | |
getStatus () | |
Get the status object. More... | |
isSuccess () | |
Determines whether the last call to attemptSave was successful. More... | |
hasError ( $errorType=self::ANY_ERROR) | |
Checks whether this EditEntity encountered any of the given error types while executing attemptSave(). More... | |
hasEditConflict () | |
Determines whether an edit conflict exists, that is, whether another user has edited the same item after the base revision was created. More... | |
isTokenOK ( $token) | |
Make sure the given WebRequest contains a valid edit token. More... | |
attemptSave (EntityDocument $newEntity, string $summary, $flags, $token, $watch=null, array $tags=[]) | |
Attempts to save the given Entity object. More... | |
Private Attributes | |
$inner | |
$stats | |
$timingPrefix | |
Additional Inherited Members | |
Public Attributes inherited from Wikibase\Repo\EditEntity\EditEntity | |
const | PERMISSION_ERROR = 1 |
indicates a permission error More... | |
const | EDIT_CONFLICT_ERROR = 2 |
indicates an unresolved edit conflict More... | |
const | TOKEN_ERROR = 4 |
indicates a token or session error More... | |
const | SAVE_ERROR = 8 |
indicates that an error occurred while saving More... | |
const | PRECONDITION_FAILED = 16 |
Indicates that the content failed some precondition to saving, such as a global uniqueness constraint. More... | |
const | FILTERED = 32 |
Indicates that the content triggered an edit filter that uses the EditFilterMergedContent hook to supervise edits. More... | |
const | RATE_LIMIT = 64 |
Indicates that the edit exceeded a rate limit. More... | |
const | ANY_ERROR = 0xFFFFFFFF |
bit mask for asking for any error. More... | |
EditEntity that collects stats for edits.
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity::__construct | ( | EditEntity | $editEntity, |
StatsdDataFactoryInterface | $stats, | ||
string | $timingPrefix | ||
) |
EditEntity | $editEntity | |
StatsdDataFactoryInterface | $stats | |
string | $timingPrefix | Resulting metric will be: $timingPrefix.<savetype>.<entitytype> |
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity::attemptSave | ( | EntityDocument | $newEntity, |
string | $summary, | ||
$flags, | |||
$token, | |||
$watch = null , |
|||
array | $tags = [] |
||
) |
Attempts to save the given Entity object.
This method performs entity level permission checks, checks the edit toke, enforces rate limits, resolves edit conflicts, and updates user watchlists if appropriate.
Success or failure are reported via the Status object returned by this method.
$flags here should ideally not refer to EDIT_ constants from mediawiki core.
This shouldn't throw MWExceptions
EntityDocument | $newEntity | |
string | $summary | The edit summary. |
int | $flags | The EDIT_XXX flags as used by WikiPage::doUserEditContent(). Additionally, the EntityContent::EDIT_XXX constants can be used. |
string | bool | $token | Edit token to check, or false to disable the token check. Null will fail the token text, as will the empty string. |
bool | null | $watch | Whether the user wants to watch the entity. Set to null to apply default according to getWatchDefault(). |
string[] | $tags | Change tags to add to the edit. Callers are responsible for checking that the user is permitted to add these tags. |
MWException | |
ReadOnlyError |
Implements Wikibase\Repo\EditEntity\EditEntity.
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity::getBaseRevision | ( | ) |
Return the base revision for the edit.
If no base revision ID was supplied to the constructor, this returns the latest revision. If the entity does not exist yet, this returns null.
MWException |
Implements Wikibase\Repo\EditEntity\EditEntity.
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity::getEntityId | ( | ) |
Returns the ID of the entity being edited.
May be null if a new entity is to be created.
Implements Wikibase\Repo\EditEntity\EditEntity.
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity::getLatestRevision | ( | ) |
Returns the latest revision of the entity.
Implements Wikibase\Repo\EditEntity\EditEntity.
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity::getStatus | ( | ) |
Get the status object.
Only defined after attemptSave() was called.
After a successful save, the Status object's value field will contain an array, just like the status returned by WikiPage::doUserEditContent(). Well known fields in the status value are:
Implements Wikibase\Repo\EditEntity\EditEntity.
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity::hasEditConflict | ( | ) |
Determines whether an edit conflict exists, that is, whether another user has edited the same item after the base revision was created.
In other words, this method checks whether the base revision (as provided to the constructor) is still current. If no base revision was provided to the constructor, this will always return false.
If the base revision is different from the current revision, this will return true even if the edit conflict is resolvable. Indeed, it is used to determine whether conflict resolution should be attempted.
Implements Wikibase\Repo\EditEntity\EditEntity.
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity::hasError | ( | $errorType = self::ANY_ERROR | ) |
Checks whether this EditEntity encountered any of the given error types while executing attemptSave().
int | $errorType | bit field using the EditEntity::XXX_ERROR constants. Defaults to EditEntity::ANY_ERROR. |
Implements Wikibase\Repo\EditEntity\EditEntity.
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity::isSuccess | ( | ) |
Determines whether the last call to attemptSave was successful.
Implements Wikibase\Repo\EditEntity\EditEntity.
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity::isTokenOK | ( | $token | ) |
Make sure the given WebRequest contains a valid edit token.
string | $token | The token to check. |
Implements Wikibase\Repo\EditEntity\EditEntity.
|
private |
|
private |
|
private |