If a revision using the default content model is saved, the
rev_content_model field will be set to NULL in order to save space.
However, Revision::getContentModel() was using Title::getContentModel()
when it found a NULL, which will return the current content model rather
than the default. So change that to use the default content model, as
returned by ContentHandler::getDefaultModelFor() rather than the current
one.
Change-Id: I7011812b6b131170b3c593917ad263bcba83898d
/**
* Returns the content model for this revision.
*
/**
* 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.
*
* 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();
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 ) );
}
assert( !empty( $this->mContentModel ) );
}