* This will apply such updates post-send for web requests. Note that
* any checks from "syncChecks" are still synchronous.
*
- * Bogus warning
- * @suppress PhanAccessMethodProtected
- *
* @param array $config
* @throws FileBackendError
*/
$status->fatal( 'backend-fail-synced', $path );
continue;
}
- if ( $this->syncChecks & self::CHECK_SIZE ) {
- if ( $cStat['size'] != $mStat['size'] ) { // wrong size
- $status->fatal( 'backend-fail-synced', $path );
- continue;
- }
+ if ( ( $this->syncChecks & self::CHECK_SIZE )
+ && $cStat['size'] != $mStat['size']
+ ) { // wrong size
+ $status->fatal( 'backend-fail-synced', $path );
+ continue;
}
if ( $this->syncChecks & self::CHECK_TIME ) {
$mTs = wfTimestamp( TS_UNIX, $mStat['mtime'] );
continue;
}
}
- if ( $this->syncChecks & self::CHECK_SHA1 ) {
- if ( $cBackend->getFileSha1Base36( $cParams ) !== $mSha1 ) { // wrong SHA1
- $status->fatal( 'backend-fail-synced', $path );
- continue;
- }
- }
- } else { // file is not in master
- if ( $cStat ) { // file should not exist
+ if ( ( $this->syncChecks & self::CHECK_SHA1 ) && $cBackend->getFileSha1Base36( $cParams ) !== $mSha1 ) { // wrong SHA1
$status->fatal( 'backend-fail-synced', $path );
+ continue;
}
+ } elseif ( $cStat ) { // file is not in master; file should not exist
+ $status->fatal( 'backend-fail-synced', $path );
}
}
}