const DELETED_TEXT = 1;
const DELETED_COMMENT = 2;
const DELETED_USER = 4;
- const DELETED_RESTRICTED = 8;
- const DELETED_NAME = 16;
-
+ const DELETED_RESTRICTED = 8;
+
/**
* Load a page revision from a given revision ID number.
* Returns null if no such revision can be found.
$this->mMinorEdit = intval( $row->rev_minor_edit );
$this->mTimestamp = $row->rev_timestamp;
$this->mDeleted = intval( $row->rev_deleted );
-
- if( is_null( $row->rev_len ) )
+
+ if( !isset( $row->rev_len ) || is_null( $row->rev_len ) )
$this->mSize = null;
else
$this->mSize = intval( $row->rev_len );
$this->mMinorEdit = isset( $row['minor_edit'] ) ? intval( $row['minor_edit'] ) : 0;
$this->mTimestamp = isset( $row['timestamp'] ) ? strval( $row['timestamp'] ) : wfTimestamp( TS_MW );
$this->mDeleted = isset( $row['deleted'] ) ? intval( $row['deleted'] ) : 0;
-
+ $this->mSize = isset( $row['len'] ) ? intval( $row['len'] ) : null;
+
// Enforce spacing trimming on supplied text
$this->mComment = isset( $row['comment'] ) ? trim( strval( $row['comment'] ) ) : null;
$this->mText = isset( $row['text'] ) ? rtrim( strval( $row['text'] ) ) : null;
$this->mTitle = null; # Load on demand if needed
$this->mCurrent = false;
-
- $this->mSize = is_null($this->mText) ? null : mb_strlen($this->mText);
+ # If we still have no len_size, see it we have the text to figure it out
+ if ( !$this->mSize )
+ $this->mSize = is_null($this->mText) ? null : strlen($this->mText);
} else {
throw new MWException( 'Revision constructor passed invalid row format.' );
}
# Old revisions kept around in a legacy encoding?
# Upconvert on demand.
global $wgInputEncoding, $wgContLang;
- $text = $wgContLang->iconv( $wgLegacyEncoding, $wgInputEncoding . '//IGNORE', $text );
+ $text = $wgContLang->iconv( $wgLegacyEncoding, $wgInputEncoding, $text );
}
}
wfProfileOut( $fname );
'rev_user_text' => $this->mUserText,
'rev_timestamp' => $dbw->timestamp( $this->mTimestamp ),
'rev_deleted' => $this->mDeleted,
- 'rev_len' => mb_strlen($this->mText),
+ 'rev_len' => $this->mSize,
), $fname
);
* @param bool $minor
* @return Revision
*/
- function newNullRevision( &$dbw, $pageId, $summary, $minor ) {
- $fname = 'Revision::newNullRevision';
- wfProfileIn( $fname );
+ public static function newNullRevision( &$dbw, $pageId, $summary, $minor ) {
+ wfProfileIn( __METHOD__ );
$current = $dbw->selectRow(
array( 'page', 'revision' ),
'page_id' => $pageId,
'page_latest=rev_id',
),
- $fname );
+ __METHOD__ );
if( $current ) {
$revision = new Revision( array(
$revision = null;
}
- wfProfileOut( $fname );
+ wfProfileOut( __METHOD__ );
return $revision;
}
define( 'MW_REV_DELETED_RESTRICTED', Revision::DELETED_RESTRICTED );
-?>
+