if ( $this->mTitle !== null ) {
return $this->mTitle;
}
- //rev_id is defined as NOT NULL, but this revision may not yet have been inserted.
+ // rev_id is defined as NOT NULL, but this revision may not yet have been inserted.
if ( $this->mId !== null ) {
$dbr = wfGetDB( DB_SLAVE );
$row = $dbr->selectRow(
/**
* Get the RC object belonging to the current revision, if there's one
*
+ * @param int $flags (optional) $flags include:
+ * Revision::READ_LATEST : Select the data from the master
+ *
* @since 1.22
* @return RecentChange|null
*/
- public function getRecentChange() {
+ public function getRecentChange( $flags = 0 ) {
$dbr = wfGetDB( DB_SLAVE );
+
+ list( $dbType, ) = DBAccessObjectUtils::getDBOptions( $flags );
+
return RecentChange::newFromConds(
array(
'rc_user_text' => $this->getUserText( Revision::RAW ),
'rc_timestamp' => $dbr->timestamp( $this->getTimestamp() ),
'rc_this_oldid' => $this->getId()
),
- __METHOD__
+ __METHOD__,
+ $dbType
);
}
/**
* Returns the content model for this revision.
*
- * If no content model was stored in the database, $this->getTitle()->getContentModel() is
+ * If no content model was stored in the database, the default content model for the title is
* used to determine the content model to use. If no title is know, CONTENT_MODEL_WIKITEXT
* is used as a last resort.
*
public function getContentModel() {
if ( !$this->mContentModel ) {
$title = $this->getTitle();
- $this->mContentModel = ( $title ? $title->getContentModel() : CONTENT_MODEL_WIKITEXT );
+ if ( $title ) {
+ $this->mContentModel = ContentHandler::getDefaultModelFor( $title );
+ } else {
+ $this->mContentModel = CONTENT_MODEL_WIKITEXT;
+ }
assert( !empty( $this->mContentModel ) );
}
);
if ( $wgContentHandlerUseDB ) {
- //NOTE: Store null for the default model and format, to save space.
- //XXX: Makes the DB sensitive to changed defaults.
+ // NOTE: Store null for the default model and format, to save space.
+ // XXX: Makes the DB sensitive to changed defaults.
// Make this behavior optional? Only in miser mode?
$model = $this->getContentModel();
protected function checkContentModel() {
global $wgContentHandlerUseDB;
- $title = $this->getTitle(); //note: may return null for revisions that have not yet been inserted.
+ $title = $this->getTitle(); // note: may return null for revisions that have not yet been inserted.
$model = $this->getContentModel();
$format = $this->getContentFormat();
$row['content_format'] = $current->rev_content_format;
}
+ $row['title'] = Title::makeTitle( $current->page_namespace, $current->page_title );
+
$revision = new Revision( $row );
- $revision->setTitle( Title::makeTitle( $current->page_namespace, $current->page_title ) );
} else {
$revision = null;
}