$page = WikiPage::factory( $title );
$page->loadPageData( 'fromdbmaster' );
$content = $page->getContent();
- $editInfo = $page->prepareContentForEdit( $content );
- $countKey = 'title_' . $title->getPrefixedText();
- $countable = $page->isCountable( $editInfo );
- if ( array_key_exists( $countKey, $this->countableCache ) &&
- $countable != $this->countableCache[ $countKey ] ) {
- DeferredUpdates::addUpdate( SiteStatsUpdate::factory( array(
- 'articles' => ( (int)$countable - (int)$this->countableCache[ $countKey ] )
- ) ) );
+ if ( $content === null ) {
+ wfDebug( __METHOD__ . ': Skipping article count adjustment for ' . $title .
+ ' because WikiPage::getContent() returned null' );
+ } else {
+ $editInfo = $page->prepareContentForEdit( $content );
+ $countKey = 'title_' . $title->getPrefixedText();
+ $countable = $page->isCountable( $editInfo );
+ if ( array_key_exists( $countKey, $this->countableCache ) &&
+ $countable != $this->countableCache[ $countKey ] ) {
+ DeferredUpdates::addUpdate( SiteStatsUpdate::factory( array(
+ 'articles' => ( (int)$countable - (int)$this->countableCache[ $countKey ] )
+ ) ) );
+ }
}
$args = func_get_args();
$oldDisable = libxml_disable_entity_loader( true );
$this->reader->read();
- if ( $this->reader->name != 'mediawiki' ) {
+ if ( $this->reader->localName != 'mediawiki' ) {
libxml_disable_entity_loader( $oldDisable );
throw new MWException( "Expected <mediawiki> tag, got " .
- $this->reader->name );
+ $this->reader->localName );
}
$this->debug( "<mediawiki> tag is correct." );
$rethrow = null;
try {
while ( $keepReading ) {
- $tag = $this->reader->name;
+ $tag = $this->reader->localName;
$type = $this->reader->nodeType;
if ( !Hooks::run( 'ImportHandleToplevelXMLTag', array( $this ) ) ) {
while ( $this->reader->read() ) {
if ( $this->reader->nodeType == XmlReader::END_ELEMENT &&
- $this->reader->name == 'siteinfo' ) {
+ $this->reader->localName == 'siteinfo' ) {
break;
}
- $tag = $this->reader->name;
+ $tag = $this->reader->localName;
if ( $tag == 'namespace' ) {
$this->foreignNamespaces[ $this->nodeAttribute( 'key' ) ] =
while ( $this->reader->read() ) {
if ( $this->reader->nodeType == XMLReader::END_ELEMENT &&
- $this->reader->name == 'logitem' ) {
+ $this->reader->localName == 'logitem' ) {
break;
}
- $tag = $this->reader->name;
+ $tag = $this->reader->localName;
if ( !Hooks::run( 'ImportHandleLogItemXMLTag', array(
$this, $logInfo
while ( $skip ? $this->reader->next() : $this->reader->read() ) {
if ( $this->reader->nodeType == XMLReader::END_ELEMENT &&
- $this->reader->name == 'page' ) {
+ $this->reader->localName == 'page' ) {
break;
}
$skip = false;
- $tag = $this->reader->name;
+ $tag = $this->reader->localName;
if ( $badTitle ) {
// The title is invalid, bail out of this page
while ( $skip ? $this->reader->next() : $this->reader->read() ) {
if ( $this->reader->nodeType == XMLReader::END_ELEMENT &&
- $this->reader->name == 'revision' ) {
+ $this->reader->localName == 'revision' ) {
break;
}
- $tag = $this->reader->name;
+ $tag = $this->reader->localName;
if ( !Hooks::run( 'ImportHandleRevisionXMLTag', array(
$this, $pageInfo, $revisionInfo
while ( $skip ? $this->reader->next() : $this->reader->read() ) {
if ( $this->reader->nodeType == XMLReader::END_ELEMENT &&
- $this->reader->name == 'upload' ) {
+ $this->reader->localName == 'upload' ) {
break;
}
- $tag = $this->reader->name;
+ $tag = $this->reader->localName;
if ( !Hooks::run( 'ImportHandleUploadXMLTag', array(
$this, $pageInfo
while ( $this->reader->read() ) {
if ( $this->reader->nodeType == XMLReader::END_ELEMENT &&
- $this->reader->name == 'contributor' ) {
+ $this->reader->localName == 'contributor' ) {
break;
}
- $tag = $this->reader->name;
+ $tag = $this->reader->localName;
if ( in_array( $tag, $fields ) ) {
$info[$tag] = $this->nodeContents();
RepoGroup::singleton()->getLocalRepo(), $archiveName );
} else {
$file = wfLocalFile( $this->getTitle() );
+ $file->load( File::READ_LATEST );
wfDebug( __METHOD__ . 'Importing new file as ' . $file->getName() . "\n" );
if ( $file->exists() && $file->getTimestamp() > $this->getTimestamp() ) {
$archiveName = $file->getTimestamp() . '!' . $file->getName();