|
MediaWiki master
|
Handle database storage of comments such as edit summaries and log reasons. More...
Public Member Functions | |
| __construct (Language $lang) | |
| createComment (IDatabase $dbw, $comment, ?array $data=null) | |
| Create a new CommentStoreComment, inserting it into the database if necessary. | |
| getComment ( $key, $row=null, $fallback=false) | |
| Extract the comment from a row. | |
| getCommentLegacy (IReadableDatabase $db, $key, $row=null, $fallback=false) | |
| Extract the comment from a row, with legacy lookups. | |
| getJoin ( $key) | |
| Get SELECT fields and joins for the comment key. | |
| insert (IDatabase $dbw, $key, $comment=null, $data=null) | |
| Insert a comment in preparation for a row that references it. | |
Public Attributes | |
| const | COMMENT_CHARACTER_LIMIT = 500 |
| Maximum length of a comment in UTF-8 characters. | |
| const | MAX_DATA_LENGTH = 65535 |
| Maximum length of serialized data in bytes. | |
Handle database storage of comments such as edit summaries and log reasons.
Definition at line 37 of file CommentStore.php.
| MediaWiki\CommentStore\CommentStore::__construct | ( | Language | $lang | ) |
| Language | $lang | Language to use for comment truncation. Defaults to content language. |
Definition at line 62 of file CommentStore.php.
| MediaWiki\CommentStore\CommentStore::createComment | ( | IDatabase | $dbw, |
| $comment, | |||
| ?array | $data = null ) |
Create a new CommentStoreComment, inserting it into the database if necessary.
If a comment is going to be passed to self::insert() or the like multiple times, it will be more efficient to pass a CommentStoreComment once rather than making self::insert() do it every time through.
$comment->id if it's not already set. If $comment->id is already set, it will not be verified that the specified comment actually exists or that it corresponds to the comment text, message, and/or data in the CommentStoreComment. | IDatabase | $dbw | Database handle to insert on. Unused if $comment is a CommentStoreComment and $comment->id is set. |
| string | Message | CommentStoreComment | $comment | Comment text or Message object, or a CommentStoreComment. |
| array | null | $data | Structured data to store. Keys beginning with '_' are reserved. Ignored if $comment is a CommentStoreComment. |
Definition at line 266 of file CommentStore.php.
References Wikimedia\Rdbms\IDatabase\insertId(), MediaWiki\CommentStore\CommentStore\MAX_DATA_LENGTH, Wikimedia\Rdbms\IDatabase\newInsertQueryBuilder(), Wikimedia\Rdbms\IReadableDatabase\newSelectQueryBuilder(), and MediaWiki\CommentStore\CommentStoreComment\newUnsavedComment().
Referenced by MediaWiki\CommentStore\CommentStore\insert().
| MediaWiki\CommentStore\CommentStore::getComment | ( | $key, | |
| $row = null, | |||
| $fallback = false ) |
Extract the comment from a row.
Use self::getJoin() to ensure the row contains the needed data.
If you need to fake a comment in a row for some reason, set fields {$key}_text (string) and {$key}_data (JSON string or null).
| string | $key | A key such as "rev_comment" identifying the comment field being fetched. |
| stdClass | array | null | $row | Result row. |
| bool | $fallback | If true, fall back as well as possible instead of throwing an exception. |
Definition at line 209 of file CommentStore.php.
References $fallback.
| MediaWiki\CommentStore\CommentStore::getCommentLegacy | ( | IReadableDatabase | $db, |
| $key, | |||
| $row = null, | |||
| $fallback = false ) |
Extract the comment from a row, with legacy lookups.
If $row might have been generated using self::getFields() rather than self::getJoin(), use this. Prefer self::getComment() if you know callers used self::getJoin() for the row fetch.
If you need to fake a comment in a row for some reason, set fields {$key}_text (string) and {$key}_data (JSON string or null).
| IReadableDatabase | $db | Database handle to use for lookup |
| string | $key | A key such as "rev_comment" identifying the comment field being fetched. |
| stdClass | array | null | $row | Result row. |
| bool | $fallback | If true, fall back as well as possible instead of throwing an exception. |
Definition at line 237 of file CommentStore.php.
References $fallback.
| MediaWiki\CommentStore\CommentStore::getJoin | ( | $key | ) |
Get SELECT fields and joins for the comment key.
Each resulting row should be passed to self::getComment() to get the actual comment.
| string | $key | A key such as "rev_comment" identifying the comment field being fetched. |
$table to IDatabase->select() or SelectQueryBuilder::tables$vars to IDatabase->select() or SelectQueryBuilder::fields$join_conds to IDatabase->select() or SelectQueryBuilder::joinConds All tables, fields, and joins are aliased, so + is safe to use. Definition at line 84 of file CommentStore.php.
| MediaWiki\CommentStore\CommentStore::insert | ( | IDatabase | $dbw, |
| $key, | |||
| $comment = null, | |||
| $data = null ) |
Insert a comment in preparation for a row that references it.
| IDatabase | $dbw | Database handle to insert on |
| string | $key | A key such as "rev_comment" identifying the comment field being fetched. |
| string | Message | CommentStoreComment | null | $comment | As for self::createComment() |
| array | null | $data | As for self::createComment() |
Definition at line 326 of file CommentStore.php.
References MediaWiki\CommentStore\CommentStore\createComment().
| const MediaWiki\CommentStore\CommentStore::COMMENT_CHARACTER_LIMIT = 500 |
Maximum length of a comment in UTF-8 characters.
Longer comments will be truncated.
Definition at line 43 of file CommentStore.php.
| const MediaWiki\CommentStore\CommentStore::MAX_DATA_LENGTH = 65535 |
Maximum length of serialized data in bytes.
Longer data will result in an exception.
Definition at line 50 of file CommentStore.php.
Referenced by MediaWiki\CommentStore\CommentStore\createComment().